Skip to content

Open-source observability and audit trail platform for AI agents. MCP-native, tamper-evident event logging, real-time dashboard.

License

Notifications You must be signed in to change notification settings

agentkitai/agentlens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

315 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” AgentLens

Open-source observability & audit trail for AI agents

PyPI npm server npm mcp License: MIT Build Status

πŸ“– Documentation Β· Quick Start Β· Dashboard Β· ☁️ Cloud


πŸ“‘ Table of Contents


AgentLens is a flight recorder for AI agents. It captures every LLM call, tool invocation, approval decision, and error β€” then presents it through a queryable API and real-time web dashboard.

Four ways to integrate β€” pick what fits your stack:

Integration Language Effort Capture
πŸ€– OpenClaw Plugin OpenClaw Copy & enable Every Anthropic call β€” prompts, tokens, cost, tools β€” zero code
🐍 Python Auto-Instrumentation Python 1 line Every OpenAI / Anthropic / LangChain call β€” deterministic
πŸ”Œ MCP Server Any (MCP) Config block Tool calls, sessions, events from Claude Desktop / Cursor
πŸ“¦ SDK Python, TypeScript Code Full control β€” log events, query analytics, build integrations

πŸš€ Quick Start

Docker (recommended)

git clone https://github.com/agentkitai/agentlens
cd agentlens
cp .env.example .env
docker compose up
# Open http://localhost:3000

For production (auth enabled, Stripe, TLS):

docker compose -f docker-compose.yml -f docker-compose.prod.yml up

Without Docker

npx @agentlensai/server
# Opens on http://localhost:3400 with SQLite β€” zero config

Create an API Key

curl -X POST http://localhost:3400/api/keys \
  -H "Content-Type: application/json" \
  -d '{"name": "my-agent"}'

Save the als_... key from the response β€” it's shown only once. Then head to the Integration Guides to instrument your agent.

πŸ“– Full setup guide β†’

πŸ—οΈ Architecture

graph TB
    subgraph Agents["Your AI Agents"]
        PY["Python App<br/>(OpenAI, Anthropic, LangChain)"]
        MCP_C["MCP Client<br/>(Claude Desktop, Cursor)"]
        TS["TypeScript App"]
        OC["OpenClaw Plugin"]
    end

    PY -->|"agentlensai.init()<br/>auto-instrumentation"| SERVER
    MCP_C -->|MCP Protocol| MCP_S["@agentlensai/mcp"]
    MCP_S -->|HTTP| SERVER
    TS -->|"@agentlensai/sdk"| SERVER
    OC -->|HTTP| SERVER

    subgraph Server["@agentlensai/server"]
        direction TB
        INGEST[Ingest Engine]
        QUERY[Query Engine]
        ALERT[Alert Engine]
        LLM_A[LLM Analytics]
        HEALTH[Health Scoring]
        COST[Cost Optimizer]
        REPLAY[Session Replay]
        BENCH[Benchmark Engine]
        GUARD[Guardrails]
    end

    SERVER --> DB[(SQLite / Postgres)]
    SERVER --> DASH["Dashboard<br/>(React SPA)"]

    EXT["AgentGate / FormBridge"] -->|Webhook| SERVER
Loading

πŸ”§ Integration Guides

πŸ€– OpenClaw Plugin

If you're running OpenClaw, the AgentLens plugin captures every Anthropic API call automatically β€” prompts, completions, token usage, costs, latency, and tool calls.

cp -r packages/openclaw-plugin /usr/lib/node_modules/openclaw/extensions/agentlens-relay
openclaw config patch '{"plugins":{"entries":{"agentlens-relay":{"enabled":true}}}}'
openclaw gateway restart

Set AGENTLENS_URL if your AgentLens instance isn't on localhost:3000. See the plugin README for details.

🐍 Python Auto-Instrumentation

One line β€” every LLM call captured automatically across 9 providers (OpenAI, Anthropic, LiteLLM, AWS Bedrock, Google Vertex AI, Google Gemini, Mistral AI, Cohere, Ollama):

pip install agentlensai[all-providers]
import agentlensai

agentlensai.init(
    url="http://localhost:3400",
    api_key="als_your_key",
    agent_id="my-agent",
)
# Every LLM call is now captured automatically

Key guarantees: βœ… Deterministic Β· βœ… Fail-safe Β· βœ… Non-blocking Β· βœ… Privacy (init(redact=True))

πŸ“– Python SDK full docs β†’

πŸ”Œ MCP Integration

For Claude Desktop, Cursor, or any MCP client β€” add to your config:

{
  "mcpServers": {
    "agentlens": {
      "command": "npx",
      "args": ["@agentlensai/mcp"],
      "env": {
        "AGENTLENS_API_URL": "http://localhost:3400",
        "AGENTLENS_API_KEY": "als_your_key_here"
      }
    }
  }
}

AgentLens ships 12 MCP tools β€” 5 core observability, 3 intelligence & analytics, 4 operations. Full MCP tool reference β†’

πŸ“– MCP setup guide β†’

πŸ“¦ Programmatic SDK

Python:

pip install agentlensai
from agentlensai import AgentLensClient
client = AgentLensClient("http://localhost:3400", api_key="als_your_key")
sessions = client.get_sessions()
analytics = client.get_llm_analytics()

TypeScript:

npm install @agentlensai/sdk
import { AgentLensClient } from '@agentlensai/sdk';
const client = new AgentLensClient({ baseUrl: 'http://localhost:3400', apiKey: 'als_your_key' });
const sessions = await client.getSessions();

πŸ“– SDK reference β†’

✨ Key Features

  • 🐍 Python Auto-Instrumentation β€” agentlensai.init() captures every LLM call across 9 providers automatically. Deterministic β€” no reliance on LLM behavior.
  • πŸ”Œ MCP-Native β€” Ships as an MCP server. Works with Claude Desktop, Cursor, and any MCP client.
  • 🧠 LLM Call Tracking β€” Full prompt/completion visibility, token usage, cost aggregation, latency measurement, and privacy redaction.
  • πŸ“Š Real-Time Dashboard β€” Session timelines, event explorer, LLM analytics, cost tracking, and alerting.
  • πŸ”’ Tamper-Evident Audit Trail β€” Append-only event storage with SHA-256 hash chains per session.
  • πŸ’° Cost Tracking β€” Track token usage and estimated costs per session, per agent, per model. Alert on cost spikes.
  • 🚨 Alerting β€” Configurable rules for error rate, cost threshold, latency anomalies, and inactivity.
  • β€οΈβ€πŸ©Ή Health Scores β€” 5-dimension health scoring with trend tracking.
  • πŸ’‘ Cost Optimization β€” Complexity-aware model recommendation engine with projected savings.
  • πŸ“Ό Session Replay β€” Step-through any past session with full context reconstruction.
  • βš–οΈ A/B Benchmarking β€” Statistical comparison of agent variants using Welch's t-test and chi-squared analysis.
  • πŸ›‘οΈ Guardrails β€” Automated safety rules with dry-run mode for safe testing.
  • πŸ”Œ Framework Plugins β€” LangChain, CrewAI, AutoGen, Semantic Kernel β€” auto-detection, fail-safe, non-blocking.
  • πŸ”— AgentKit Ecosystem β€” Integrations with AgentGate, FormBridge, Lore, and AgentEval.
  • πŸ”’ Tenant Isolation β€” Multi-tenant support with per-tenant data scoping and API key binding.
  • 🏠 Self-Hosted β€” SQLite by default, no external dependencies. MIT licensed.

πŸ“Έ Dashboard

AgentLens ships with a real-time web dashboard for monitoring your agents.

πŸ“Έ Dashboard Screenshots (click to expand)

Overview β€” At-a-Glance Metrics

Dashboard Overview

The overview page shows live metrics β€” sessions, events, errors, and active agents β€” with a 24-hour event timeline chart, recent sessions with status badges, and a recent errors feed.

Sessions β€” Track Every Agent Run

Sessions List

Every agent session with sortable columns: agent name, status, start time, duration, event count, error count, and total cost.

Session Detail β€” Timeline & Hash Chain

Session Detail

Full event timeline with tamper-evident hash chain verification. Filter by event type, view cost breakdown.

Events Explorer β€” Search & Filter Everything

Events Explorer

Searchable, filterable view of every event across all sessions.

🧠 LLM Analytics β€” Prompt & Cost Tracking

LLM Analytics

Total LLM calls, cost, latency, and token usage across all agents with model comparison.

🧠 Session Timeline β€” LLM Call Pairing

LLM Timeline

LLM calls in session timeline with model, tokens, cost, and latency.

πŸ’¬ Prompt Detail β€” Chat Bubble Viewer

LLM Call Detail

Full prompt and completion in a chat-bubble style viewer with metadata panel.

β€οΈβ€πŸ©Ή Health Overview β€” Agent Reliability

Health Overview

5-dimension health score for every agent with trend tracking.

πŸ’‘ Cost Optimization β€” Model Recommendations

Cost Optimization

Analyzes LLM call patterns and recommends cheaper model alternatives with confidence levels.

πŸ“Ό Session Replay β€” Step-Through Debugger

Session Replay

Step through any past session event by event with full context reconstruction.

βš–οΈ Benchmarks β€” A/B Testing for Agents

Benchmarks

Create and manage A/B experiments with statistical significance testing.

πŸ›‘οΈ Guardrails β€” Automated Safety Rules

Guardrails

Create and manage automated safety rules with trigger history and activity feed.

☁️ AgentLens Cloud

Don't want to self-host? AgentLens Cloud is a fully managed SaaS β€” same SDK, zero infrastructure:

import agentlensai
agentlensai.init(cloud=True, api_key="als_cloud_your_key_here", agent_id="my-agent")
  • Same SDK, one parameter change β€” switch url= to cloud=True
  • Managed Postgres β€” multi-tenant with row-level security
  • Team features β€” organizations, RBAC, audit logs, usage billing
  • No server to run β€” dashboard at app.agentlens.ai

πŸ“– Cloud Setup Guide Β· Migration Guide Β· Troubleshooting

πŸ“¦ Packages

Python (PyPI)

Package Description PyPI
agentlensai Python SDK + auto-instrumentation for 9 LLM providers PyPI

TypeScript / Node.js (npm)

Package Description npm
@agentlensai/server Hono API server + dashboard serving npm
@agentlensai/mcp MCP server for agent instrumentation npm
@agentlensai/sdk Programmatic TypeScript client npm
@agentlensai/core Shared types, schemas, hash chain utilities npm
@agentlensai/cli Command-line interface npm
@agentlensai/dashboard React web dashboard (bundled with server) private

πŸ”Œ API Overview

Endpoint Description
POST /api/events Ingest events (batch)
GET /api/events Query events with filters
GET /api/sessions List sessions
GET /api/sessions/:id/timeline Session timeline with hash chain verification
GET /api/analytics Bucketed metrics over time

Full API Reference β†’

⌨️ CLI

npx @agentlensai/cli health                          # Overview of all agents
npx @agentlensai/cli health --agent my-agent          # Detailed health with dimensions
npx @agentlensai/cli optimize                          # Cost optimization recommendations

Both commands support --format json for machine-readable output. See agentlens health --help for all options.

πŸ› οΈ Development

git clone https://github.com/agentkitai/agentlens.git
cd agentlens
pnpm install

pnpm typecheck && pnpm test && pnpm lint  # Run all checks
pnpm dev                                   # Start dev server

Requirements: Node.js β‰₯ 20.0.0 Β· pnpm β‰₯ 10.0.0

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for setup instructions, coding standards, and the PR process.

🧰 AgentKit Ecosystem

Project Description
AgentLens Observability & audit trail for AI agents ⬅️ you are here
Lore Cross-agent memory and lesson sharing
AgentGate Human-in-the-loop approval gateway
FormBridge Agent-human mixed-mode forms
AgentEval Testing & evaluation framework
agentkit-mesh Agent discovery & delegation
agentkit-cli Unified CLI orchestrator
agentkit-guardrails Reactive policy guardrails

πŸ“„ License

MIT Β© Amit Paz