Skip to main content

AgentObserve: local-first diagnostics & observability for AI agents. Answers 'Why did my agent behave this way?' with one line and a single SQLite file.

Project description

AgentLens

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 pyagentlens               # core: store + dashboard + manual API + auto-patch
pip install "pyagentlens[langchain]"  # framework adapters as extras (langgraph, crewai, …)
pip install "pyagentlens[all]"        # every adapter

Package name on PyPI is pyagentlens; 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agobs-1.0.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agobs-1.0-py3-none-any.whl (64.8 kB view details)

Uploaded Python 3

File details

Details for the file agobs-1.0.tar.gz.

File metadata

  • Download URL: agobs-1.0.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for agobs-1.0.tar.gz
Algorithm Hash digest
SHA256 b907d7e0e9ae9c27608c24627124f7ae4ab5241e322512f7eb091457fea4e689
MD5 d0545b5e53c512f5cfcd6a390bf2750d
BLAKE2b-256 2bf904768077251b37a2f6398c6edcb28715b35d4f458f1c9de57be5c0fe7368

See more details on using hashes here.

File details

Details for the file agobs-1.0-py3-none-any.whl.

File metadata

  • Download URL: agobs-1.0-py3-none-any.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for agobs-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e4a812a73700eb7eb7d1100896f7e21ead2f8718c7729419ea340af64f1314e
MD5 650793942b9a753db7c11f02be22179e
BLAKE2b-256 f182b374c18ca99c404845b45d7987959a36c05962b8b9d4e452ad2e26d8fc7a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page