* chore: remove legacy orchestrator, trading and one-off script leftovers The repository still carried the pre-evOo prototype: a Python orchestrator, the old HTML "evoo-platform" cockpit (whose test ran in the root unit suite), an apex-trading package, the hot-reload deploy.sh for it, a permissions manifest, an architecture note with local file links, agent handoff notes, a Steve Jobs persona template and about ninety one-off scripts that probe a developer database with hard-coded local URLs. None of it is used by the product, CI or the real deploy in ops/evo-deploy. Delete those files, drop the evoo-platform test glob from the root vitest config, the Cockpit section from .env.example and the dead biome and gitignore entries, and update the docs that listed the removed tools. scripts/start-tmux.sh no longer starts the removed sentinel and resolves the checkout from its own location instead of a machine-specific path; scripts/seed-ollama.ts requires DATABASE_URL instead of falling back to a local URL with a username. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u * fix(web): drop trading and persona prompts from the conversation shell The web shell still showed leftovers from the trading prototype: composer chips with German trading and "Steve Jobs" prompts, trading suggestion chips under the empty conversation line, a German trading hero for the empty transcript, and a German "data protection" status panel in the sidebar. They suggested actions the product does not have and added persistent chrome. Remove the composer chips and their helper, the empty-state chips and the hero (the empty conversation keeps its existing one-line start hint), the sidebar trading indicator and the data trust panel. The new-bot E2E now asserts the plain empty state; the sidebar spec no longer expects the trading status, and the placeholder Steve Jobs spec with no assertions is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u Co-authored-by: cynarAI <cynarAI@users.noreply.github.com> * refactor: remove the trading bot status integration With the sidebar trading indicator gone, the only remaining consumer of the trading bot status was a banner in General settings that reused the same component. evOo is a personal assistant; a status proxy and poller for one external trading service, configured through service-specific TRADING_BOT_URL and VITE_TRADING_BOT_URL variables, does not belong in the core product. Remove the settings banner and its prop plumbing, the web poller, the indicator component, the /api/trading-bot/status proxy, the shared core contract, the env loading and both variables from .env.example, together with their tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u * chore: remove one-off database scripts and a stale review note packages/db carried four hand-run scripts outside the package build that query or seed a developer database with a hard-coded connection string, one of them for a specific account. docs/VOICE-FIRST-REVIEW.md was a one-time verification note for a workflow that no longer exists and named private machines and local paths. Nothing references them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u * chore: replace machine-specific paths and addresses with placeholders ORIGIN.md pinned the intended checkout to an absolute path under a personal home directory, docs/LOCAL-SETUP.md listed folders on one developer's machine, and two tests used what looks like a real tailnet address. Use a home-relative path, drop the machine-specific folder list, and use 100.100.100.100 in the tests; it is still inside 100.64.0.0/10, so both tests check the same thing as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u * test(web): drop the trading status from the shell contrast test main's contrast test now waits for the sidebar trading status before measuring; this branch removes that status. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
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 / 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:
|
|
|
|
```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).
|