Open-source flight recorder for AI agents — see exactly what your agent did, why it failed, and what it cost
Project description
Intent OS
Your AI agent ran for 20 minutes. It says "done."
Can you explain what it did?
pip install intentos
# What just happened?
intent-os doctor
# See every step your agent took
intent-os inspect latest
# Track what it cost
intent-os cost
You get this:
[14:02:01] > START
[14:02:09] > MODEL CALL claude-sonnet-4 (2,451 tokens)
[14:02:14] > TOOL filesystem.write
[14:02:27] !! FAILED test_jwt_verify failed
Goal: refactor-auth-module
Agent: claude-code
Duration: 14.3s
Cost: $0.08
Tokens: 4,891
No more guessing. No more "I think it called the API three times." You see exactly what happened — every model call, every tool use, every failure, every dollar.
You're not alone
You've been here:
- "What did it actually do?" — Claude Code says "task complete." The file changed. But you didn't see it happen. You don't know if it wrote 3 lines or deleted a function.
- "Why did it fail?" — Agent runs for 30 minutes. Fails. No stack trace. No log. Just "error."
- "Where is the money going?" — API bill shows $47 this month. Which agent? Which model? Which task?
Intent OS is the flight recorder for AI agents. It intercepts every API call your agent makes and turns it into a structured, searchable execution trace. Your data stays on your machine. No cloud. No account. Just pip install.
Works with your agent in 30 seconds
# Start the recorder
intent-os proxy start
# Point your agent at it
export OPENAI_BASE_URL=http://localhost:8377
export ANTHROPIC_BASE_URL=http://localhost:8377
# Use your agent normally — every call is recorded
claude "refactor this module"
# See what happened
intent-os doctor
intent-os inspect latest
Works with Claude Code, Cursor, GitHub Copilot, or any agent that speaks OpenAI or Anthropic APIs. Zero changes to your agent. Just one environment variable.
What you get
| Command | What it tells you |
|---|---|
intent-os doctor |
One-command health check: what your agent did, what went wrong, how to fix it |
intent-os inspect latest |
Full execution timeline: every model call, tool use, cost, and duration |
intent-os cost |
Spending breakdown: by agent, by model, daily trends |
intent-os proxy start |
Start recording — intercepts Claude Code, Cursor, any agent |
intent-os proxy doctor |
Check proxy health: running status, traffic stats, agent detection |
intent-os agent create --name "My Agent" |
Register agent identity for tracking across sessions |
intent-os scan |
Security scan: detect dangerous tool calls and sensitive data in traces |
intent-os audit report --format html |
Compliance report for teams: full audit trail with HTML/CSV export |
intent-os event prune --older-than 90 |
Data lifecycle: clean up old traces, keep your disk under control |
For teams
As your team grows:
- Cost tracking —
intent-os cost --by agent— who's spending what, on which model - Security policies — define what agents can and can't do:
intent-os security policy apply - Compliance audit — full execution records:
intent-os audit report --format html - Agent identity — every agent gets an ID, every execution links back to its owner
Why local-first?
| Instead of... | Intent OS is... |
|---|---|
| Cloud-only tracing (LangSmith, LangFuse) | Local-first. Your data never leaves your machine. |
| Siloed per-platform logs | Universal. Works with any OpenAI/Anthropic agent. |
| Just logging | Structured traces. One execution → many API calls → one timeline. |
| Postgres + Redis + S3 | One SQLite file. No infrastructure needed. |
No API key to sign up. No dashboard to log into. Your agent's execution data is yours — it lives in ~/.intent-os/events.db.
Architecture
AI Agent → Intent OS Proxy → LLM (OpenAI / Anthropic / Ollama)
│
├── Flight Recorder (observe / debug / cost)
├── Security Guard (scan / policy / audit)
└── Event Store (SQLite — local, append-only, queryable)
Intent OS is building the execution layer for AI agents. Today it's a flight recorder. Tomorrow it will make agents portable, governable, and composable across any runtime.
Tested
731 tests, 8 skipped, 0 failures — CI across Python 3.10, 3.11, and 3.12.
License
AGPLv3 + Commercial Option. See LICENSE.
Open-source use is free under AGPLv3. Commercial use requires a commercial license.
Built by one person, for every developer who's asked "what did my agent just do?"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file intentos-0.5.0.tar.gz.
File metadata
- Download URL: intentos-0.5.0.tar.gz
- Upload date:
- Size: 277.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c3d114be8cd1a18d3ef5bbd652164d2b168f827c7bd4ce432a1f8fe8adddc91
|
|
| MD5 |
1ace4f76e04f6941e4d57f698c3c00c0
|
|
| BLAKE2b-256 |
46aa1e44c0824c3d36f131a39ce8868cc9de267a534780195b399bd4803709e3
|
File details
Details for the file intentos-0.5.0-py3-none-any.whl.
File metadata
- Download URL: intentos-0.5.0-py3-none-any.whl
- Upload date:
- Size: 229.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25f0de5b76d9c2c8a28e1001f5abe51ac077903f31792deca2276333379edab9
|
|
| MD5 |
30f6d431d1edacdb98eb65e98b605165
|
|
| BLAKE2b-256 |
69456e253706df4ebb49896addb02b3bc7a2f9b48c0f9c1f564115a2f54caeff
|