Claude 6af1be020e
feat(media): live ComfyUI progress over its websocket
A video generation runs a single ComfyUI prompt for minutes, and the media
card only advanced after each prompt finished, so it sat still until the
clip was done.

The ComfyUI provider now follows ComfyUI's standard /ws stream while its
prompts run and maps step progress to the job's overall fraction across
all prompts: never backwards, and short of each prompt's share until its
outputs are downloaded. The history poll stays the source of truth for
completion and errors; a socket that cannot connect, drops, or stays
silent leaves generation exactly as before, and it is closed on finish,
failure, cancel and abort. Each generation uses its own client id, so
concurrent jobs do not take over each other's messages.

The socket goes through a new createOpenAiCompatibleWebSocket next to the
guarded fetch: same URL and key checks, same resolved-address lookup,
ws/wss derived from http/https, the same Authorization header, a message
size cap, and a hard drop when a server never finishes the closing
handshake. It uses the undici package's WebSocket, so no dependency was
added. A provider given a replaced fetch without a matching socket opens
none, so tests and emulators never reach the network.

The ComfyUI emulator now serves the websocket and reports progress for
running prompts; provider, guard and conformance tests cover ordering,
multi-prompt mapping, unavailable and failing sockets, stray messages,
closing on cancel, and the address checks against a loopback server.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u
2026-10-04 04:18:12 +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-update, 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

  • packages/core/src/self-update.ts
  • 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%