🔭 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.
Release files for agentixlens 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentixlens-0.1.0.tar.gz | 17.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentixlens-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.5 kB
Release files / agentixlens-0.1.0.tar.gz
| Download URL | agentixlens-0.1.0.tar.gz |
|---|---|
| Size | 17.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6536f71b4b805fb149eac916b9798dc974b6af12a3e76185ac54109d16da8748
|
|
BLAKE2b-256 checksum How to use checksums |
aa9568a905d86b4e73a6e229036bc669baf9937fb6233e7af671cc1c61b0b33a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|
Release files / agentixlens-0.1.0-py3-none-any.whl
| Download URL | agentixlens-0.1.0-py3-none-any.whl |
|---|---|
| Size | 17.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c04907f0954a49bcd6150b4105cc9dd8babbcb993189b2e2fca7aa8e7c23c0a8
|
|
BLAKE2b-256 checksum How to use checksums |
7d229a41b8e6631c9d260379eb9f8a0180a9c38895abfe497bc3abeb37eb7ffc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.8
|