Self-hosted observability for autonomous systems.
Trace agent reasoning, evaluate outcomes, and ship reliable AI — on your infrastructure. No cloud, no accounts; your traces stay on your machine.
curl -fsSL https://cot.run/install | shThis starts the collector in Docker bound to localhost, installs the local bridge, and 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.
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.
After install, cot up starts or resumes the collector, cot down stops it
while keeping your hooks and local data, and cot purge removes the collector,
unwires cot hooks, and deletes ~/.cot after confirmation.
- Full-stack tracing — LLM calls, tool executions, and custom spans in Python or TypeScript
- Continuous evaluation — async evaluators on every trace, flagging regressions
- Latency monitoring — token usage and span waterfalls
| Self-host only | Runs on your machines, your data stays yours |
| Free forever | No license fees, no metered billing |
| Open source | Licensed under AGPL-3.0 |
Collector API, dashboard, bridge scripts, and Docker image — all in this repo.
docker compose upOpen http://127.0.0.1:31337 — same port as the install path.
For frontend hot reload on the host instead:
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 31337. Stop the API container with docker rm -f cot-api when done.
- GitHub: github.com/cot-intelligence/cot
- Container:
ghcr.io/cot-intelligence/cot:v1.0
Cot is licensed under AGPL-3.0.