Chat tabs, chat mode, own modes, compaction notice, CLI binaries again

- Terminals and file managers as tabs of a chat; chat terminals keep running on
  the server (no idle timeout) and re-attach from any device
- "Just chat" in New session and a built-in chat mode with a lean prompt and only
  web tools; custom modes with kind (coding/conversation), read-only and tool picker
- Mode selector as a dropdown
- The chat shows running compactions (automatic: tokens and share of the limit)
  and labels summaries
- Docker image builds and serves the terminal client binaries again
- Fix: atomic session updates; background title/usage writes no longer undo each
  other (auto compaction triggered one turn late)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-09 11:24:58 +01:00
1 parent 242b80605c
commit c850586a81
29 files changed
+831 -187

No files matched your search

+6 -7
View File
@@ -173,15 +173,14 @@ Anthropic, OpenAI, Gemini, OpenRouter, opencode or a local model server (Ollama,
llama.cpp, vLLM – detected automatically); both can be mixed.
```sh
cargo install --locked --git https://git.familie-zink.org/zink/codecraft codecraft-cli
curl -fsSL https://<your-codecraft-server>/cli/install.sh | sh # Linux x86_64 / aarch64
codecraft login # server URL, user name, password → creates an API token
codecraft # start in the current folder; /help lists the commands
```
There are no prebuilt binaries yet, so the client is installed from source (needs a Rust
toolchain). A server that has binaries in `CODECRAFT_CLI_DIR` (`codecraft-linux-x86_64`,
`codecraft-linux-aarch64`) also offers `curl -fsSL https://<your-server>/cli/install.sh | sh`
and `codecraft update`.
The Docker image ships static binaries for Linux x86_64 and aarch64; the server offers them
for download (*Settings → Account*) and `codecraft update` fetches new versions from it. Other
platforms: `cargo install --locked --git https://git.familie-zink.org/zink/codecraft codecraft-cli`.
## Automations
@@ -335,7 +334,7 @@ web/ React + Vite PWA
src/i18n English (reference) and German
```
The Docker build cross-compiles the server with
The Docker build cross-compiles the server and the terminal client with
[cargo-zigbuild](https://github.com/rust-cross/cargo-zigbuild), so a multi-arch image builds
quickly on either architecture:
`docker buildx build --platform linux/amd64,linux/arm64 -t <registry>/codecraft:<version> --push .`
@@ -353,7 +352,7 @@ Translations: copy `web/src/i18n/en.ts`, translate the values and register the l
Early, but in daily use. See the [changelog](CHANGELOG.md). Planned next:
- Prebuilt terminal client binaries (Linux, macOS, Windows)
- Terminal client builds for macOS and Windows
- MCP OAuth, resources and prompts
- The OpenAI Responses API