Claude c380e7820a
feat(media): transcribe audio and video into subtitles as a media job
With the media runtime in place, transcription becomes an operation like the
others: bots call the transcribe tool, the job runs in the background and
the card shows the subtitle files.

- createTranscriptionOperations registers transcribe: available when a
  transcription server is configured, refuses artifacts the user cannot
  read before the job exists, and writes <name>.srt and <name>.vtt next to
  the source (a .txt when the server returns no timings). With ffmpeg the
  audio is converted to 16 kHz mono WAV and long media is transcribed in
  upload-sized ranges on one timeline; without it audio is sent as stored
  and video is refused with a clear message. A server that is down or busy
  (unreachable, 429, 502, 503) defers the job instead of failing it, since
  nothing has been stored yet. The bot gets the transcript, cut at a word.
- The transcribe tool definition uses the shared media schema helper and
  continue_after; dispatch stays generic.
- The main bot's run creates Studio once a media server is configured,
  right before the specialist directory is built.
- Dictation: when the user's voice provider cannot transcribe (or there is
  none), /api/voice/transcribe uses the self-hosted transcription server,
  and the voice status reports server dictation so the web app uses it
  instead of the browser's speech recognition. A voice provider that
  transcribes keeps being used as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
2026-10-03 13:47:49 +00:00
2026-09-20 17:15:16 +02:00
2026-09-20 17:15:16 +02:00

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.py
  • scripts/autonomous-sentinel.ts
  • packages/core/src/self-update.ts
  • orchestrator/ (agent_runner + agents.json)
  • apps/desktop/src/local-stack.ts
  • packages/adapters/src/pi-local-provider.ts
  • scripts/seed-ollama.ts
  • Voice First / Oo stage (apps/web CallView + 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.

Description
evOo - Multi-Agent Orchestration Platform
Readme 24 MiB
Languages
TypeScript 94.5%
CSS 1.2%
JavaScript 1.1%
Shell 0.9%
Python 0.8%
Other 1.4%