The main conversation lives in the home space, but the user can have another space selected while it is on screen, and the card's actions sent that space: media.jobs.start resolved the conversation in the selected space and failed, and media.jobs.get/cancel only found jobs of the selected space. The server now takes the space from the card itself. start finds the card's message in one of the actor's own threads (the conversation named by botId or groupId), requires the actor to still be a member of that thread's space, and resolves the conversation and the source artifacts there. get and cancel find the actor's job by id and require membership of the job's space. media.capabilities takes an optional job id and answers for that job's space; the card asks through its job and shares the answer per conversation. Every other case is a 404, as before. A Postgres test runs a card in the home-space main conversation while another space is selected (start, get, capabilities, cancel) and checks that another user and a user who left the card's space get 404 on every procedure. This also completes the media settings section committed earlier as work in progress (01eea83); its code was final, only that commit message said otherwise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
evOo
DE · Lokale Multi-Oo Programmier-Maschine — persistente KI-Teamkollegen mit Voice First, Projekt-Timeline und lokalen Tools.
EN · Local multi-Oo programming machine — persistent AI teammates with Voice First, project timeline, and local tooling.
Clean local checkout for Ingo Wagner. Brand: evOo only. Sourced from
cynarAI/evoo@f00577b(antigravity-handoff/project-timeline), with a fresh git history.
What this is / Was das ist
| DE | EN |
|---|---|
| Persönliche Multi-Agenten-App auf dem eigenen Rechner | Personal multi-agent app on your own machine |
| Oos (Agents) mit Memory, Tools, Voice und Computer | Oos (agents) with memory, tools, voice, and computer |
| Antigravity-Zukunftswerkzeuge: self_improve, autonomous-sentinel, self-update, orchestrator, local-stack, pi-local-provider, seed-ollama, Voice First / Oo-Stage | Same Antigravity future tools kept on this branch |
Quick start
# clone (Mac recommended path)
git clone git@github.com:cynarAI/evOo-local.git ~/Projects/evOo-local
cd ~/Projects/evOo-local
cp .env.example .env
# set POSTGRES_PASSWORD, DATABASE_URL, BETTER_AUTH_SECRET, ENCRYPTION_KEY, SCREEN_PROXY_SECRET, SANDBOX_SUPERVISOR_TOKEN
# Postgres (Compose overlay publishes 127.0.0.1:5433)
docker compose --env-file .env \
-f infra/compose/docker-compose.yml \
-f infra/compose/docker-compose.postgres-host.yml \
up postgres -d
pnpm install
pnpm db:generate
pnpm db:migrate
pnpm sandbox:build # optional, for Docker computers
pnpm dev
| Service | URL |
|---|---|
| Web app | http://127.0.0.1:5173 |
| API | http://127.0.0.1:3100 |
Full local notes: docs/LOCAL-SETUP.md
Stack
- TypeScript monorepo (pnpm + Turborepo)
- React 19 / Vite / Tailwind (web), Electron (desktop), Expo (mobile)
- Hono + oRPC, PostgreSQL + Prisma, Better Auth, Graphile Worker
- Pi model routing, Docker sandboxes, Voice (Kokoro local / BYO keys)
Antigravity tools kept on this branch
scripts/self_improve.pyscripts/autonomous-sentinel.tspackages/core/src/self-update.tsorchestrator/(agent_runner + agents.json)apps/desktop/src/local-stack.tspackages/adapters/src/pi-local-provider.tsscripts/seed-ollama.ts- Voice First / Oo stage (
apps/webCallView + stage components)
Voice (Kokoro)
Large voice model blobs are not in this repo. Recreate Kokoro separately:
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest
export KOKORO_BASE_URL=http://127.0.0.1:8880
Details: docs/kokoro-voice.md
Tech debt (brand / packages)
Internal workspace packages still use @rakazo/* names (and some RAKAZO_* env vars). Renaming them would break the build; treat as temporary tech debt. User-facing titles and docs say evOo.
License
Apache License 2.0 — see LICENSE.