Personal agent cockpit. Runs agents (starting with a secretary), and it's where you watch
them work. See ARCHITECTURE.md for the design and ROADMAP.md for the build plan.
FastAPI + Pydantic AI (agent loop) · React/TS/Vite (dashboard) · Postgres/Redis/Qdrant (Docker) · Claude (orchestrator) + Qwen-14B local via Ollama (cheap subtasks).
1. Start the stateful services (leave running):
docker compose up -d2. Backend — in backend/:
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then paste your ANTHROPIC_API_KEY
uvicorn app.main:app --reload --port 80003. Frontend — in frontend/:
npm install
npm run dev # http://localhost:5173Open the dashboard, type a request (e.g. "add a task to prep for the Joby panel, then list my tasks"), and watch the trace panel stream Ada's steps live.
CLI trace (same event stream, terminal-side) — in backend/ with the venv active
and the backend running:
python cli.py "what tasks do I have?"Install Ollama, then ollama pull qwen2.5:14b. Call local_complete() from inside a
tool to route cheap work to the 5080 instead of Claude. Wired but not yet used in M1.
backend/app/runtime/— the event schema + bus + supervisor (the spine)backend/app/agents/— Ada agent + model routerbackend/app/tools/— tools (Tasks now; Calendar/Gmail/etc. drop in here)frontend/src/App.tsx— the command-deck dashboardfrontend/src/lib/ada.ts— WebSocket client + event types
You're at Milestone 1. Next steps, in order: swap Tasks to Postgres, add the Calendar
tool, add Gmail. Then M2 (multiple agents + Fleet view). See ROADMAP.md.