Open-source flight recorder for AI agents — see exactly what your agent did, why it failed, and what it cost
Project description
Intent OS
AI agents are becoming autonomous.
But you still can't trust what you can't see.
pip install intentos
# Trust, but verify.
intent-os doctor
# Every step your agent took.
intent-os inspect latest
# Every dollar it spent.
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
The problem is not that AI agents aren't capable. It's that you can't trust them.
AI agents are crossing a line. They used to answer questions. Now they modify code, call APIs, write files, spend money — all on their own. And when something goes wrong, you have nothing. No trace. No evidence. No way to explain what happened.
That gap — between the authority we give agents and the visibility we have into what they do — is the real bottleneck. Not model capability. Trust.
Intent OS closes that gap.
Give your agents a record of responsibility
# Start the flight recorder
intent-os proxy start
# Point your agent at it — zero code changes
export OPENAI_BASE_URL=http://localhost:8377
export ANTHROPIC_BASE_URL=http://localhost:8377
# Use your agent normally. Every action is recorded.
claude "refactor the payment module"
# When you need to know what happened:
intent-os doctor
intent-os inspect latest
intent-os cost
Works with Claude Code, Cursor, GitHub Copilot, or any agent that speaks OpenAI or Anthropic APIs. One environment variable. Nothing else.
Everything runs locally. Your data stays on your machine. One SQLite file. No cloud. No account.
Which of these have you felt?
-
"I'm afraid to give it a big task." — The agent is capable, but the bigger the task, the more files it touches. You don't know what it changed or why. So you keep giving it small, safe work. The trust gap is capping how much you use AI.
-
"Something went wrong. I have no idea what." — Agent ran for 30 minutes. Failed. No stack trace. The file is different but you didn't see it happen. You don't know if it wrote 3 lines or deleted a function.
-
"Why is my API bill $300 this month?" — AI agents call models. A lot. Which agent? Which task? Which model? You can't answer any of those questions.
-
"It worked yesterday. Today it doesn't." — Same prompt, different result. Model changed? Context shifted? Tool state was different? There's no record of what the execution environment looked like when it succeeded.
Intent OS gives you the answer to all four — before you even ask.
What you get
| Command | What it tells you |
|---|---|
intent-os doctor |
One-command health check: what happened, 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" |
Give every agent an identity — track who did what 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 |
For teams
When multiple people use multiple agents, "what happened" becomes a business question:
- Accountability —
intent-os cost --by agent— who's spending what, on which model - Governance —
intent-os security policy apply— define what agents can and can't do - Compliance —
intent-os audit report --format html— full execution record, any timeframe - 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.
The first implementation of an Agent Execution Contract
Intent OS is not just a tool. It is the first implementation of a portable execution contract for AI agents — the missing layer that lets an Agent be defined, executed, verified, and moved across any runtime.
Agent Capability
│
┌─────▼──────┐
│ Execution │
│ Contract │ ← Intent OS
└─────┬──────┘
│
┌────────────────┼────────────────┐
│ │ │
Claude RT OpenAI RT Ollama RT
The seven layers of Intent OS — Context, Identity, Execution, Verification, Governance, Interoperability, Experience — are the components of this contract. Together they answer the questions any organization must ask of an autonomous system: who was it, what was it supposed to do, what did it do, what evidence did it have, what did it learn, and who authorized it.
This is Agent Accountability infrastructure. The equivalent for autonomous AI of what audit trails are to finance and what version control is to software.
7 specs, all frozen. 26 event types. 6 adapters. One contract. Any runtime.
Tested
721 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.
The biggest bottleneck in AI today is not capability. It's trust.
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.1.tar.gz.
File metadata
- Download URL: intentos-0.5.1.tar.gz
- Upload date:
- Size: 295.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3404fe68068f7fc2517be81041e3016dc11c2f90aa385032399c8c3604bbe29
|
|
| MD5 |
2e72c1352c2b657eb97e7273a13ffc61
|
|
| BLAKE2b-256 |
f62ce66fcf6b053361423b3bc80e893654aae973c5f22e5398cfd39becc3420d
|
File details
Details for the file intentos-0.5.1-py3-none-any.whl.
File metadata
- Download URL: intentos-0.5.1-py3-none-any.whl
- Upload date:
- Size: 249.5 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 |
cca2361636a9b9fbd65f9d3d3802c53257fe773de61c13d917ee2400dc121536
|
|
| MD5 |
b3143b92957c22d9b4b95dbde0ce5400
|
|
| BLAKE2b-256 |
8cd73ab1580a7c7943fa3195757e31d763c241cecc378f5201938ef25425c315
|