Status LEDs, image model selection, backup restore, provider test, monthly versions
- Sidebar: three status LEDs (server, models, MCP) with an overview popover (/api/status) - Images: preview stage, purpose-based model choice and reference images (Nano Banana Pro edit refines the chosen preview) - Settings: restore a stored or uploaded backup (staged, applied on restart) - Provider form: test connection; saving or reloading re-checks the status at once - opencode Zen/Go: send x-opencode-session with a stable id per conversation - Releases are named vYYYYMM-NNNNN; scripts/release.sh numbers, tags, builds and publishes - Fix: backups made in the same second no longer overwrite each other Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
49d404eec7
commit
1f69d63b09
35 files changed
+1156
-88
No files matched your search
@@ -84,7 +84,8 @@ provider under *Settings → Providers & models* – or put the keys into `.env`
|
||||
them in the config as `${NAME}`.
|
||||
|
||||
**Update:** `docker compose -f docker-compose.release.yml pull && docker compose -f docker-compose.release.yml up -d`.
|
||||
Pin a version with `CODECRAFT_VERSION=0.1.0` in `.env`. Admins see a notice when a new release is out.
|
||||
Releases are named `vYYYYMM-NNNNN` (a counter per month). Pin one with
|
||||
`CODECRAFT_VERSION=v202611-00001` in `.env`. Admins see a notice when a new release is out.
|
||||
|
||||
**From source:** `git clone https://git.familie-zink.org/zink/codecraft.git && cd codecraft`,
|
||||
`cp .env.example .env`, then `docker compose up -d --build`.
|
||||
@@ -153,7 +154,11 @@ output limit, reasoning effort, extra request options and prices per million tok
|
||||
- **Concurrency limits:** `max_concurrency` per host or model queues requests for servers that
|
||||
process one at a time; waiting time is shown and never counted as model latency.
|
||||
- **Status:** every five minutes each provider's model list is fetched (no tokens used), so
|
||||
you see at a glance which hosts answer and which keys are rejected.
|
||||
you see at a glance which hosts answer and which keys are rejected. Saving a provider checks
|
||||
it right away, and *Test connection* checks URL and key before you save.
|
||||
- **Images (fal.ai):** the agent drafts cheap previews (FLUX schnell), asks which one to
|
||||
refine, and creates the final image with the best model for the purpose – Nano Banana Pro
|
||||
refines the chosen draft, Ideogram handles lettering, Recraft design work.
|
||||
|
||||
## Terminal client
|
||||
|
||||
@@ -199,7 +204,9 @@ shared secret or a Gitea/GitHub HMAC signature, and its JSON payload is handed t
|
||||
- **JSON logs:** `CODECRAFT_LOG_FORMAT=json` writes one JSON object per line.
|
||||
- **Backups:** daily at 03:00 into `/data/backups` (the last 30 are kept), optionally copied to
|
||||
any S3-compatible bucket (AWS, MinIO, Garage, Backblaze B2, Hetzner). *Settings → Audit*
|
||||
shows them, creates one on demand and downloads them.
|
||||
shows them, creates one on demand, downloads them and restores one – a stored backup or an
|
||||
uploaded zip, e.g. to move to another server. The current state is backed up first, then
|
||||
CodeCraft restarts with the restored database and configuration.
|
||||
- **Health:** `GET /api/health` for monitoring, with version and commit.
|
||||
|
||||
## Users and security
|
||||
@@ -245,6 +252,7 @@ place and keep your comments. Secrets belong in the environment and are referenc
|
||||
| `[auth]`, `[auth.oidc]` | sign-in, public URL, single sign-on |
|
||||
| `[sandbox]` | shell sandbox for non-admins (`auto`, `always`, `off`) |
|
||||
| `[backup]`, `[backup.s3]` | daily backups, retention, S3 target |
|
||||
| `[images]` | fal.ai key, budget, `models` with `stage` (`preview` / `final`), `good_for` and `reference_param` |
|
||||
| `[craft]` | headless browser, screen widths, clean room |
|
||||
|
||||
Compound shell commands (`&&`, `;`, `|`) are only auto-allowed when every part is allowed.
|
||||
@@ -329,6 +337,12 @@ The Docker build cross-compiles the server with
|
||||
quickly on either architecture:
|
||||
`docker buildx build --platform linux/amd64,linux/arm64 -t <registry>/codecraft:<version> --push .`
|
||||
|
||||
Releases are named `vYYYYMM-NNNNN`: year and month, then a counter that starts at 00001 every
|
||||
month. Collect changes under `## [Unreleased]` in the changelog (and under `unreleased` in
|
||||
`web/src/whatsnew.ts`), then `scripts/release.sh` picks the next number, renames both, commits,
|
||||
tags, builds and pushes the image (`:vYYYYMM-NNNNN` and `:latest`) and publishes the Gitea
|
||||
release (`--dry-run` shows the steps). The `Cargo.toml` versions are not used for releases.
|
||||
|
||||
Translations: copy `web/src/i18n/en.ts`, translate the values and register the language in
|
||||
`web/src/i18n/index.ts` – the type checker reports missing keys.
|
||||
|
||||
|
||||
Reference in new issue
Block a user