Add a host-side FastAPI sidecar (services/ai-agent/sidecar/) that launches `claude -p` natively as the repo owner — same ~/.claude auth, hooks and skills as an interactive session. The ai-agent container reaches it over host.docker.internal (behind a bearer token). - backend: POST /api/spawn mints a session UUID, asks the sidecar to run `claude -p <prompt> --session-id <uuid> --output-format json`, seeds the conversation meta as running, and returns the id immediately. - frontend: a SpawnBox pinned to the bottom of the Notifications home; the textarea grows on focus. On submit it starts the session, waits for the new transcript to sync into the viewer, then redirects to /conversation/<id>. - compose: host.docker.internal:host-gateway + SIDECAR_URL/SIDECAR_TOKEN. - sidecar/install.sh sets it up as a systemd --user service (uv venv). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
43 B
43 B