a chat client for gamecode AI tool suite in rust and webassembly
  • Rust 84.5%
  • HTML 13.5%
  • Just 1.5%
  • Dockerfile 0.5%
Find a file
Ed Sweeney a28a66864e
All checks were successful
Release / test (push) Successful in 5m34s
Release / docker (push) Successful in 0s
The Ollama provider now:
- Parses both content and thinking deltas (both default-friendly so the deserializer never breaks on missing fields).
  - Tracks in_thinking state across chunks; emits <think> on the first thinking delta, closes with </think> when content arrives
  or the stream ends.
  - Runs stop-pattern detection only over real content, so reasoning text can mention "the user" without false-tripping.
  - Skips empty non-terminal chunks so the SSE channel only carries real events.
2026-05-06 19:42:01 -07:00
.forgejo/workflows actions 2026-04-29 14:45:58 -07:00
client sso 2026-04-19 17:58:46 -07:00
config amd64 2026-04-17 18:37:32 -07:00
dist sso 2026-04-19 17:58:46 -07:00
docs sso 2026-04-19 17:58:46 -07:00
server The Ollama provider now: 2026-05-06 19:42:01 -07:00
src init 2025-06-03 00:01:25 -07:00
.dockerignore docker 2025-07-20 09:27:36 -07:00
.env.example tests good 2026-04-18 20:38:07 -07:00
.gitignore tests good 2026-04-18 20:38:07 -07:00
build.rs sort of works 2025-06-06 19:04:42 -07:00
Cargo.lock Bump openssl from 0.10.73 to 0.10.78 2026-04-23 00:40:26 +00:00
Cargo.toml init 2025-06-04 00:07:53 -07:00
Dockerfile amd64 2026-04-17 18:37:32 -07:00
justfile tests good 2026-04-18 20:38:07 -07:00
README.md lint 2026-04-18 15:25:04 -07:00
rust-toolchain.toml lint 2026-04-18 15:25:04 -07:00

GameCode Web

A secure web chat interface for AI models, starting with local Ollama integration.

Architecture

  • Frontend: Rust/Leptos WebAssembly app
  • Backend: Rust/Axum server with provider abstraction
  • Security: Password protection with JWT sessions

Quick Start

1. Start Ollama with your model

ollama run fortean

2. Build and run the server

cd server
cargo run --release

Configuration

Edit config/default.toml:

  • Change the password hash (default password is "gamecode")
  • Update JWT secret
  • Configure Ollama models

Development

Server

cd server
cargo watch -x run

Client (coming next)

cd client
trunk serve

CI parity

The justfile is the single source of truth for build/test/lint; GitHub Actions calls the same recipes. Before pushing, run:

just ci

just ci runs, in order: fmt-check (rustfmt), lint (clippy with -D warnings on server + wasm client), test (server tests), and build (server via cargo, client via trunk). The Rust toolchain is pinned to 1.93.0 in rust-toolchain.toml and in every .github/workflows/ci-*.yml — both must agree.

Security Notes

  1. Change the default password in production
  2. Use a strong JWT secret
  3. Enable ngrok authentication for additional security
  4. Monitor ngrok dashboard for abuse

Future Providers

The architecture supports adding:

  • AWS Bedrock
  • OpenAI API
  • Local models via candle
  • MCP tool integration