chore: snapshot main sync
This commit is contained in:
@@ -87,6 +87,8 @@ Required: `DATABASE_URL`, `LLAMA_SWAP_URL`. Optional: `PORT` (3000), `HOST` (0.0
|
||||
|
||||
BooCoder at port 9502: `curl http://100.114.205.53:9502/api/health`. Runs as `boocoder.service` on the host (not Docker). Its env file `apps/coder/.env.host` is gitignored (`.env.*`, with `!.env.example`) — a fresh host recreates it from `.env.example` (incl. `CLAUDE_SDK_BACKEND=1` for the Claude Agent-SDK backend). Deploy: `pnpm -C packages/contracts build && pnpm -C apps/server build && pnpm -C apps/coder build && sudo systemctl restart boocoder`. Health reports tool count: `{"ok":true,"db":true,"tools":33}`.
|
||||
|
||||
BooControl at port 9503: `curl http://100.114.205.53:9503/api/health`. The fleet cockpit; runs as `boocontrol.service` on the host (not Docker), same pattern as boocoder. Third schema owner on the shared `boochat` DB (control_* / bench_* / eval_* / route_* tables; startup guard waits for server-owned `sessions` before `applySchema`). Env file `apps/control/.env.host` is gitignored; `LLAMA_PROVIDERS_PATH` must point at the host path `/home/samkintop/opt/boocode/data/llama-providers.json` (NOT a container `/data` mount) or the `auto:*` gateway 503s. Deploy: `pnpm -C packages/contracts build && pnpm -C apps/control build && sudo systemctl restart boocontrol`. Reached from BooChat via `apps/server`'s `registerControlProxy` (`/api/control/*`), gated on the `BOOCONTROL_URL` env (set in `docker-compose.yml`). The `auto:*` routing gateway is a registry entry (`kind: boocontrol-gateway`) in `data/llama-providers.json`. Full first-deploy steps: `openspec/changes/boocontrol-finish/runbook.md`.
|
||||
|
||||
- `FAST_MODEL` (optional) — cheaper model for titles, summaries, labeling (auto_name.ts, tool-summaries.ts). Falls back to session model or DEFAULT_MODEL. Set to a small llama-swap model (e.g. `nemotron-nano-4b`) to avoid loading the 35B for 20-token calls.
|
||||
- Qwen Code dispatch: `OPENAI_BASE_URL=http://100.101.41.16:8401/v1 OPENAI_API_KEY=dummy qwen -p "<task>" --output-format stream-json`. Install: `npm install -g @qwen-code/qwen-code@latest`. Node ≥22 on host (container stays Node 20; BooCoder dispatches via direct spawn on host). No `--yolo` flag — `-p` runs autonomously without prompts. ACP bridge is an HTTP daemon (not stdio); use PTY dispatch.
|
||||
- Arena: `POST /api/battles {project_id, battle_type, prompt, contestants}` starts a battle; `GET /api/battles/:id` returns battle + contestants + cross-examinations; `POST /api/battles/:id/stop` cancels; `POST /api/battles/:id/analyze` triggers/re-triggers two-stage digest→judge analysis; `GET /api/battles/:id/analysis` reads `analysis.md`; `POST /api/battles/:id/cross-examine {identity, model}` runs a cross-examination. All `/api/battles*` routes are served by `apps/coder` at port 9502 (proxied through `apps/server` as `/api/coder/battles*`).
|
||||
|
||||
Reference in New Issue
Block a user