Voice settings now list only the voices that speak the app language (German shows German voices, English shows English ones) as a horizontal carousel: one card per voice, a play button next to the name, tap to make it the active voice. Changing the app language moves the saved voice to that language. The hosted voice providers (ElevenLabs, OpenAI, Cartesia, Fish Audio) are removed; Kokoro on the server is the only voice. E2E runs against a stub Kokoro server so the carousel is covered. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KxoSHAyzMXvdtwcDJZcn57
80 lines
2.7 KiB
Markdown
80 lines
2.7 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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](./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)
|
|
|
|
## 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:
|
|
|
|
```bash
|
|
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](./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](./LICENSE).
|