AI Agent Observability โ trace, monitor & debug your AI agents in real-time
Project description
๐ญ AgentixLens
AI Agent Observability โ trace, monitor, and debug your AI agents in real-time.
๐ Website ยท ๐ Dashboard ยท ๐ฆ Twitter
What is AgentixLens?
AgentixLens gives you a transparent window into every decision your AI agents make.
- Visual Trace Explorer โ every LLM call, tool use, and decision branch in a waterfall
- Cost & Token Tracking โ per-run, per-model, per-tool granularity
- Latency Heatmaps โ p50/p95/p99 across your entire agent fleet
- Failure Capture & Replay โ reproduce any failed run with full context
- Model-Agnostic โ works with any LLM, zero vendor lock-in
Repo Structure
agentixlens/
โโโ index.html # Landing page (deployed to Netlify)
โโโ dashboard.html # Dashboard UI (deployed to Netlify)
โโโ netlify.toml # Netlify config
โโโ backend/ # FastAPI backend (deploy to Railway/Render/Fly)
โ โโโ main.py
โ โโโ requirements.txt
โ โโโ Dockerfile
โ โโโ .env.example # Copy to .env and fill in values
โ โโโ db/
โ โโโ models/
โ โโโ routers/
โ โโโ middleware/
โโโ sdk/ # Python SDK (publish to PyPI)
โโโ agentixlens/
โโโ examples/
โโโ tests/
Quick Start
1. Install the SDK
pip install agentixlens
2. Instrument your agent
from agentixlens import lens, trace
lens.init(project="my-agent")
@trace("research-agent")
async def run_agent(query: str) -> str:
# Your existing agent code โ unchanged
...
3. Run the backend locally
cd backend
pip install -r requirements.txt
cp .env.example .env # Fill in your values
uvicorn main:app --reload --port 4317
4. Open the dashboard
Open dashboard.html in your browser โ it connects to http://localhost:4317 automatically.
Deployment
Frontend (Netlify) โ free
- Push this repo to GitHub
- Connect to Netlify โ Import from Git
- Set Publish directory to
.(root) - Set Build command to (empty)
- Deploy โ
index.htmlanddashboard.htmlgo live instantly
Backend (Railway) โ one click
Or manually:
cd backend
railway login
railway up
Set these environment variables on Railway:
ENV=production
AUTH_ENABLED=true
API_SECRET_KEY=<generate with: python -c "import secrets; print(secrets.token_urlsafe(32))">
DASHBOARD_TOKEN=<generate same way>
ALLOWED_ORIGINS=https://agentixlens.com
Backend (Docker)
cd backend
docker build -t agentixlens-backend .
docker run -p 4317:4317 \
-e API_SECRET_KEY=your-key \
-e DASHBOARD_TOKEN=your-token \
-v agentixlens-data:/data \
agentixlens-backend
SDK Reference
from agentixlens import lens, trace, trace_llm, trace_tool, current_span
# Initialize
lens.init(
project="my-agent",
endpoint="https://your-backend.railway.app",
api_key="ax_...",
debug=True,
)
# Trace entire agent run
@trace("my-agent", tags={"env": "prod"})
async def run_agent(query: str): ...
# Trace individual LLM call
@trace_llm(model="claude-3-5-sonnet", provider="anthropic")
async def call_llm(messages): ...
# Trace tool calls
@trace_tool("web_search")
async def search(query: str): ...
# Add metadata from inside any function
current_span().set_attribute("user_id", user.id)
LangChain Integration
from agentixlens.integrations.langchain import AgentixLensCallback
llm = ChatOpenAI(callbacks=[AgentixLensCallback()])
Environment Variables
See backend/.env.example for all options.
| Variable | Required | Description |
|---|---|---|
API_SECRET_KEY |
Yes (prod) | SDK authentication key |
DASHBOARD_TOKEN |
Yes (prod) | Dashboard UI access token |
ENV |
No | development or production |
AGENTIXLENS_DB |
No | SQLite path (default: ~/.agentixlens/server.db) |
ALLOWED_ORIGINS |
No | Comma-separated CORS origins |
AUTH_ENABLED |
No | Set false for local dev |
Contributing
- Fork the repo
- Create a feature branch:
git checkout -b feature/my-feature - Run tests:
cd sdk && pytest tests/ -v - Commit and push
- Open a Pull Request
License
MIT ยฉ 2025 AgentixLens
Built for developers who are tired of flying blind with AI agents.
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 agentixlens-0.1.0.tar.gz.
File metadata
- Download URL: agentixlens-0.1.0.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6536f71b4b805fb149eac916b9798dc974b6af12a3e76185ac54109d16da8748
|
|
| MD5 |
d7f8c2e4cf2b1328508ff2235e0ae52f
|
|
| BLAKE2b-256 |
aa9568a905d86b4e73a6e229036bc669baf9937fb6233e7af671cc1c61b0b33a
|
File details
Details for the file agentixlens-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentixlens-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c04907f0954a49bcd6150b4105cc9dd8babbcb993189b2e2fca7aa8e7c23c0a8
|
|
| MD5 |
45ae90494626ed762fb3b63ecb99221a
|
|
| BLAKE2b-256 |
7d229a41b8e6631c9d260379eb9f8a0180a9c38895abfe497bc3abeb37eb7ffc
|