Skip to main content

Agobs

Local-first diagnostics & observability for AI agents. One line to integrate, a single SQLite file, a built-in dashboard. AgentLens answers the question other tools don't:

Why did my agent behave this way?

Not a prompt tracker. Not a token dashboard. A diagnostics platform for agent behavior — tool usage, memory access, workflow paths, decisions, failures, retries, latency, and cost.

pip install  agobs             # core: store + dashboard + manual API + auto-patch
pip install "agobs[langchain]"  # framework adapters as extras (langgraph, crewai, …)
pip install "agobs[all]"        # every adapter

Package name on PyPI is agobs; the import name is agentlens.

from agentlens import monitor
monitor.start()          # auto-patches installed LLM SDKs — that's it

Full docs: see Guide.md — in-depth reference for humans and AI coding agents (when-to-use-what tables, every API signature, per-framework snippets, troubleshooting, and an agent cheat sheet).

agentlens ui             # dashboard at http://127.0.0.1:7180

No server to deploy. No cloud. No external services. Data lives in a hidden ./.agentlens/agentlens.db (SQLite, WAL).


Three ways to instrument (mix freely)

1. Zero-config auto-patch

monitor.start() detects and patches whatever is installed — OpenAI, Anthropic, Google Gemini, Groq, LiteLLM — so every LLM call becomes an llm span with tokens and cost, with no code changes.

2. Manual (framework-agnostic, always available)

import agentlens
agentlens.init(project="research-bot")

with agentlens.trace_session("chat"):
    with agentlens.trace_agent("planner", role="lead"):
        agentlens.log_decision(options=["search", "answer"], chosen="search", reason="needs fresh info")
        agentlens.log_memory("read", "user_prefs", hit=True)
        agentlens.log_tool("web_search", args={"q": "ai news"}, result=[...], retry_count=1)
        agentlens.log_llm(model="gpt-4o", input_tokens=1200, output_tokens=400)

A tool/LLM logged with an error= (or a trace_* block that raises) is automatically recorded as a failure.

3. Framework adapters

Framework Import Maturity
LangChain agentlens.adapters.langchain.AgentLensCallbackHandler full
LangGraph agentlens.adapters.langgraph.AgentLensCallbackHandler full (LangChain callbacks)
LlamaIndex agentlens.adapters.llamaindex.AgentLensLlamaHandler full
CrewAI agentlens.adapters.crewai (step_callback, instrument_tools) best-effort
AutoGen agentlens.adapters.autogen.instrument_agent best-effort
PydanticAI agentlens.adapters.pydanticai.instrument_agent best-effort
OpenAI Agents SDK agentlens.adapters.openai_agents.install best-effort
Strands Agents agentlens.adapters.strands.callback_handler best-effort
Anthropic Agent SDK agentlens.adapters.anthropic_agents.traced_async_tool tool-level
MCP agentlens.adapters.mcp.instrument_server / traced_tool tool-level
FastMCP agentlens.adapters.fastmcp.instrument_server tool-level

Plus a universal agentlens.adapters.wrap_tool(fn) / @traced_tool() that works with any framework or none.


The dashboard

  • Overview — runs, success/failure rate, cost, p50/p95 latency.
  • Runs → Run detail — the workflow execution graph (span tree: session → workflow → agent → tool/memory/llm/decision), click any node to inspect.
  • Agent Explorer — runs, failures, latency, and attributed cost per agent.
  • Tool Explorer — most used / slowest / most failed tools, retries.
  • Memory Explorer — reads/writes/updates/deletes and read hit-rate.
  • Failure Explorer — exceptions, messages, retries, jump to the failing run.
  • Cost Explorer — token usage, cost by day, by model, most expensive agents.

Try it now (no keys needed)

pip install -e .
python examples/demo_agent.py
agentlens ui

Design

Local-first, zero-config, framework-agnostic, async-safe. Observability code never crashes your app (emit failures are swallowed). One Span model covers every event; kind-specific data lives in attributes. Cost is computed from an editable price book (agentlens/server/pricing.py).

CLI: agentlens ui [--port 7180] [--host] [--backend-store-uri PATH], agentlens providers, agentlens version. Override the port with AGENTLENS_PORT.

Single process writes straight to local SQLite. For multiple processes/workers sharing one dashboard, run agentlens ui once and point each worker at it: agentlens.init(project=..., tracking_uri="http://127.0.0.1:7180").

See Guide.md for the complete reference.

Metadata

Release files for agobs 1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agobs 1.1
File Size Uploaded Provenance Actions
agobs-1.1.tar.gz 56.1 kB Without provenance Details for agobs-1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for agobs 1.1
File Interpreter ABI Platform Actions
agobs-1.1-py3-none-any.whl Python 3 none any Details for agobs-1.1-py3-none-any.whl

Total release size: 120.8 kB

Release files / agobs-1.1.tar.gz

Download URL agobs-1.1.tar.gz
Size 56.1 kB
Tags Source
SHA-256 checksum
How to use checksums
81f5e9f87802236febdcbb1b5ee3114664aff429a35909f27827513a246ad791
BLAKE2b-256 checksum
How to use checksums
90b1661058e18c50ce594128d3446e3225a85d976f5de2818421d4258bbd82a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Release files / agobs-1.1-py3-none-any.whl

Download URL agobs-1.1-py3-none-any.whl
Size 64.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0634b5ab684aa4c09516633b6159add44cfa856b34c3b4be8b2c8021de4cf0a8
BLAKE2b-256 checksum
How to use checksums
2066f4715694d04c83a1aac9dfd6519e9859734d531c28a5de0641ef559a9b98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.14

Security for agobs 1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page