Runs dropped the bot's name, title and description whenever custom instructions existed, always stated the time in UTC, and knew the user only through free-form durable memory. Groups with a lead, like the main conversation, still got the peer-group lines that forbid handing work back. And every group follow-up run failed during setup: the inbound handoff lookup selected a `bot` relation that Message does not have, which Prisma rejects. - Instructions now open with the bot's identity, then its own instructions, a main-agent role paragraph for the main bot, the current time in the user's time zone with its offset (UTC when unknown), and a `<user>` block built from loadUserContext: profile fields and the active facts visible in the run's space, escaped, clipped and framed as data rather than instructions. Runs that reply in a shared messaging channel get only the name, zone, locale, language and style, matching how those runs already leave out durable memory. - run_subagent helpers receive the identity, time and user block through a new optional AgentRunRequest.subagentContext instead of nothing. - Groups with an active lead get lead and specialist lines and matching inbound handoff instructions. Members may hand a stage back to the lead and the lead may delegate the next stage; the bounce rules still apply between members. Ordinary groups keep today's lines. - The teammate directory is rendered only when the run has message_bot, which group runs never have, and tool guidance names a tool only when the run has it. - The auto-review judge, history compaction and the team chat judge read the time in the user's zone, and schedule_create defaults to it. - The inbound handoff sender is read from the handoff block and looked up among the user's bots; a Postgres test covers the follow-up run, the prompt it receives, and handing the result back to the lead. 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.