Trace agent reasoning, evaluate outcomes, and ship reliable AI on your own infrastructure.
No cloud. No accounts. Your traces stay on your machine.
Website · Quickstart · Features · How it works? · Development
Sessions → timeline → insights → overview → ⌘K search. Demo data; nothing here left anyone's laptop.
curl -fsSL https://cot.run/install | shOne command:
- starts the collector in Docker, bound to localhost
- installs the local bridge
- wires up hooks for the agents you pick: Claude Code, Cursor, or Codex
Cot runs in the background and collects traces while you build. Open the dashboard at http://127.0.0.1:31337.
Tip
Already running the collector? Install just the bridge and hooks with
curl -fsSL http://127.0.0.1:31337/install.sh | sh.
The default port is 31337. If it is busy, the installer picks the next free port and saves the URL in ~/.cot/config.json.
| Command | What it does |
|---|---|
cot up |
Start or resume the collector |
cot down |
Stop the collector, keeping your hooks and local data |
cot purge |
Remove the collector, unwire cot hooks, and delete ~/.cot after asking |
flowchart LR
A["Claude Code<br/>Cursor<br/>Codex"] -- hook fires --> B["~/.cot/bin/cot<br/><sub>local bridge</sub>"]
B -- "POST /v1/ingest" --> C["Collector<br/><sub>FastAPI · 127.0.0.1:31337</sub>"]
C --> D[("~/.cot/cot.db<br/><sub>SQLite</sub>")]
D --> E["Dashboard<br/><sub>React</sub>"]
style C fill:#FF4500,stroke:#FF4500,color:#fff
Agent hooks call the bridge, the bridge posts each event to the collector, and the collector normalizes its category, phase, and token counts into SQLite. If the collector is down, events queue in ~/.cot/spool.jsonl and replay on the next contact.
The collector API, dashboard, bridge scripts, and Docker image live in this repository.
backend/app/ FastAPI collector
bridge/ Installer and cot bridge CLI
src/ React and TypeScript dashboard
docker compose upOpen http://127.0.0.1:31337, the same port used by the installer.
Frontend hot reload on the host
docker compose run --rm -d --name cot-api -p 127.0.0.1:31337:31337 api
npm install
COT_API_TARGET=http://127.0.0.1:31337 npm run devVite serves on http://localhost:4000 and proxies API calls to the collector on port 31337. Stop the API container with docker rm -f cot-api when done.
- Website: cot.run
- GitHub: github.com/cot-intelligence/cot
- Container:
ghcr.io/cot-intelligence/cot:latest
Cot is licensed under AGPL-3.0.