- 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>
- Fetch prices for opencode (Zen and Go) incl. limits, image input, reasoning,
long-context tiers and peak-hour/date factors; costs apply them per request
- Record the cost opencode reports per response; track Go allowance in 5h/7d/month
windows against a provider plan limit (budget table, status overlay)
- Settings → Config file: move values of ${NAME} references into the config
- Examples, presets and forms keep keys in the config instead of .env
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One row per calendar day (today at the bottom) instead of weekdays
aggregated over the selected range.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- GET /metrics (bearer server.metrics_token): build info, users, sessions,
pending requests, per-model request/token/cost counters, provider_up
- CODECRAFT_LOG_FORMAT=json for one JSON object per log line
- Providers are probed every 5 minutes via their model list; status shown
in the provider settings with a manual re-check
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Webhooks for automations: per-job secret, Gitea/GitHub HMAC signatures,
payload appended to the instructions; settings on the automations page
- Service worker gets a new file name per build (proxies that cache *.js
served a stale worker, which broke updates and Android installation);
/sw.js is a kill switch that removes old workers
- Push: devices re-register their subscription with the server on start and
before a test; the test reports why a push service rejected a message
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Personal API tokens (full/read scope, expiry, revoke) and CLI password login
- Cargo workspace: codecraft-core (types, providers, permission rules) shared by
server and the upcoming terminal client; server re-exports the old paths
- CLI server API: /cli/config, /cli/skill, /cli/tool (server MCP tools),
/llm/stream model gateway with budgets and usage per user
- Theme/language preferences mirrored to the server; personal memory endpoint
- Statistics: provider and mode tables stacked; CLI usage labelled
- cli/: work in progress (terminal client is being rewritten as a local TUI)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Web terminal (PTY over WebSocket, xterm.js, sandboxed, reattach with replay)
- Per-user git credentials and commit identity (credential store in the user's home)
- OpenSCAD tool (STL/3MF + preview renders, bounding box) and cad skill; 3D model card
- Craft phase inferred from tool activity when the agent does not report it
- Configurable review loop per mode (rounds, reviewer model, criteria)
- Delete config and Markdown agents from the agent editor
- Automations: cron-scheduled agents from Markdown job files, schedule tool, page
- change_directory tool (only on the user's request)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Web Push (VAPID + RFC 8291, pure Rust): permission/question/finished
notifications while no app window is visible; settings with test button
- Guided new-session flow: task, craft target (website/app/game/old
software/fresh), clean room or deep, description, model, folder
(new, existing or cloned git repository); originals upload to original/
- Craft phase bar (craft_phase tool) for study/specify/build/check/ready
- Chunked uploads (8 MB) up to server.max_upload_mb (default 500 MB)
- All UI glyphs and emojis replaced by themeable SVG icons
- Rename dialog with manual name or model-generated suggestion
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Hooks ([[hooks]]): pre_tool, post_tool, user_prompt, stop; sandboxed, exit 2 blocks
- @file mentions with autocomplete; mentioned files/folders are attached to the prompt
- Session full-text search in the sidebar, fork into a copy, export as Markdown/JSON
- Chat follows the newest message until the user scrolls up; jump-to-latest button
- SVG activity spark and thinking icon instead of Unicode/emoji glyphs
- File search ranks name matches first and returns relative paths
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Sandbox (bubblewrap) for non-admin shell/git, MCP per-user rights, hard budgets and quotas,
login rate limiting, audit log and backups
- Ghidra headless decompilation (ARM64 natives built from source), binary_info tool,
clean room / deep workflow per session
- Recreate skill and commands for analysing and re-building old software
- File checkpoints with rewind/restore, background shells (bash_output, kill_shell)
- web_search tool (DuckDuckGo, SearXNG, Brave, Tavily)
- In-app dialogs and toasts instead of browser dialogs
- 15 base themes (trilium-themes palettes plus Nord, VS Code, GitHub, Catppuccin, One,
Dracula, Rose Pine, Everforest, Kanagawa) with light/dark/auto switcher and license notes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>