Runtime observability for AI agent systems — pulse, circuit breaker, token compression, dashboard
Project description
ObserveCo
ObserveCo tells you if your AI agents are working, what they're doing, and where your money goes.
pip install 'observeco[dashboard]' && observeco dashboard
The Problem
Every AI agent operator has this story: an agent was silently failing for weeks. Context bloating 15% per week. Memory full of duplicates and contradictions. Nobody noticed until a user complained.
This is normal. The tools to fix it don't exist — yet.
What Ships Now (v0.1)
12 features. One pip install. 60 seconds to first health data.
Fleet Health
| Feature | Command | What it does |
|---|---|---|
| Pulse Check | observeco pulse check |
Agent liveness — alive / dead / error. Zero config for Hermes users. |
| Circuit Breaker | observeco pulse circuit |
N-failure trip → auto-block → cooldown. Stops cascade failures. |
| Safety Guard | built-in | 99.7% noise reduction — only surfaces real issues, not flapping |
| Heal Button | dashboard | One-click restart for dead agents. Manual trigger, you're in control. |
Token Intelligence
| Feature | Command | What it does |
|---|---|---|
| Chisel Trim | observeco chisel trim |
System prompt compression with per-component token breakdown |
| Drift Tracking | observeco chisel drift |
7-day rolling token drift trend per component per agent |
| Skill Audit | observeco chisel skills |
Find bloated, duplicate, or unused skills eating context |
Memory & Context
| Feature | Command | What it does |
|---|---|---|
| Memory Garden | observeco clawforge garden |
Find duplicates, contradictions, stale entries in agent memory |
| Context Profiler | observeco clawforge profile |
See what's in your agent's context — MEMORY.md, skills, workspace |
| Intent Classifier | observeco clawforge load |
Dry-run which sources would load per message type |
Dashboard & Alerts
| Feature | Access | What it does |
|---|---|---|
| Fleet View | observeco dashboard |
All agents at a glance — green/yellow/red status cards |
| In-Dashboard Alerts | free | See alerts when you open the dashboard. Shows discovery gap ("happened 3am, found 7am") |
| Error Timeline | free | Full error history with context snapshots |
| Push Alerts | v0.3 (D+7) | Telegram / webhook / email — know before you check |
Quick Start
pip install 'observeco[dashboard]'
# Check your agent fleet
observeco pulse check
# See what's eating your context
echo "Your system prompt" | observeco chisel trim
# Find memory bloat
observeco clawforge garden
# Launch the dashboard
observeco dashboard
The Discovery Gap
Every yellow banner in the dashboard shows two timestamps:
⚠️ Kepler — heartbeat missed Happened: 03:15 · Discovered: 07:00 · Gap: 3h 45m
That gap is where agents fail silently. ObserveCo makes it visible.
In v0, you see the gap when you open the dashboard. In v0.3 (D+7), push alerts close it — Telegram notifications fire within 3 seconds of detection.
Why ObserveCo?
| Instead of... | ObserveCo |
|---|---|
| Datadog ($15+/host/mo, cloud-only) | pip install, local-first, free, understands tokens + memory debt + circuit breakers |
| Grafana + Prometheus (2-hour setup, no context concept) | 60 seconds to first health data, agent-aware dashboards |
| LangSmith (LangChain-only, $59/mo) | Framework-agnostic, open source, works offline |
| Nothing (failing silently) | You'll know when your agents are sick, bloated, or broken |
The Stack
pip install observeco
├── pulse — liveness, circuit breaker, safety guard
├── chisel — token compression, drift, skill audit
├── clawforge — memory garden, context profiler, intent loader
└── dashboard — local web UI (FastAPI + htmx, no npm)
- Storage: Local SQLite (
~/.observeco/pulse.db) — zero setup - Web server: FastAPI + htmx — no build step, ships with CLI
- CLI: Typer — shell completion, rich output
- Data: Stays on your machine. No cloud. No telemetry.
Roadmap
| Version | Timing | What |
|---|---|---|
| v0.1 | Now | 12 features — monitoring + diagnostics + dashboard |
| v0.2 | D+3 | Auto-heal (93% coverage) + Extended history |
| v0.3 | D+7 | Chisel compression + Push alerts (Telegram/webhook/email) |
| v1.1 | D+14 | OpenClaw runtime plugin (@observeco/clawforge-plugin) |
What's the OpenClaw plugin? A Node.js plugin that hooks into the ContextEngine to load only what's needed per turn. Your agents stop carrying 100k tokens of context they never use. That's the v1.1 headline.
Supported Frameworks
| Framework | Health | Circuit | Tokens | Memory | Dashboard |
|---|---|---|---|---|---|
| Hermes | ✅ Auto | ✅ | ✅ | ✅ | ✅ Full |
| OpenClaw | ✅ | ◐ | ◐ | ✅ | ✅ ~85% |
| Ollama | ✅ | ⬜ | ⬜ | ⬜ | ✅ Basic |
| LangChain | ◐ | ◐ | ⬜ | ⬜ | ✅ Basic |
| CrewAI | ◐ | ⬜ | ⬜ | ⬜ | ✅ Basic |
| Custom | ◐ | ◐ | ◐ | ⬜ | ✅ Basic |
✅ = Auto-detect & works · ◐ = Works with config · ⬜ = Coming
Contributing
See CONTRIBUTING.md. First-time contributors welcome — look for "good first issue" labels.
Built with ❤️ for the AI agent community. MIT licensed.
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 observeco-0.2.0.tar.gz.
File metadata
- Download URL: observeco-0.2.0.tar.gz
- Upload date:
- Size: 2.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1939f62d7798d101d9d2e5b524606b775952fbff83381689c98c0b7bac122334
|
|
| MD5 |
fb6a8b13c19d293695e9999710d4a579
|
|
| BLAKE2b-256 |
b460c3162e0ce6c4ce95e306a987ecfeea7b36cc2701dbf43ce0c9d387a10a8d
|
Provenance
The following attestation bundles were made for observeco-0.2.0.tar.gz:
Publisher:
publish.yml on observeco/observeco
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
observeco-0.2.0.tar.gz -
Subject digest:
1939f62d7798d101d9d2e5b524606b775952fbff83381689c98c0b7bac122334 - Sigstore transparency entry: 1700908644
- Sigstore integration time:
-
Permalink:
observeco/observeco@8c472401d4dcfd3d95157609f9a906491233646d -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/observeco
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8c472401d4dcfd3d95157609f9a906491233646d -
Trigger Event:
push
-
Statement type:
File details
Details for the file observeco-0.2.0-py3-none-any.whl.
File metadata
- Download URL: observeco-0.2.0-py3-none-any.whl
- Upload date:
- Size: 246.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fec43de8cd9ae49c1342df0bb9b5cc22d4cc4a58de2e37992f3125e08cbb7a18
|
|
| MD5 |
1768c4c3b7dbedc104c9011e7a4d482e
|
|
| BLAKE2b-256 |
980150be0b50b35e9a833e26dbd50219edc3bc6c4a9ac6e5df4ca58ef892b789
|
Provenance
The following attestation bundles were made for observeco-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on observeco/observeco
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
observeco-0.2.0-py3-none-any.whl -
Subject digest:
fec43de8cd9ae49c1342df0bb9b5cc22d4cc4a58de2e37992f3125e08cbb7a18 - Sigstore transparency entry: 1700908703
- Sigstore integration time:
-
Permalink:
observeco/observeco@8c472401d4dcfd3d95157609f9a906491233646d -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/observeco
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8c472401d4dcfd3d95157609f9a906491233646d -
Trigger Event:
push
-
Statement type: