Openlit AI Agent

by openlit• 2.9k•• Scanned•Claim this listing•Request removal
Developer Toolsagent harnessagent harness engineeringai engineeringai observabilityamd gpu

OpenLIT is the open-source agent harness engineering platform: trace, evaluate, guard, and improve everything around the model in your AI agents, on OTEL.

Openlit is an open-source ai agent by openlit, written mainly in TypeScript, with 2,896 GitHub stars and the Apache-2.0 license. Its code was last updated Oct 30, 2026. The latest PyPI release is openlit 1.45.0, published Aug 3, 2026, with 91,143 downloads last week.

<div align="center"> <img src="https://github.com/openlit/.github/blob/main/profile/assets/wide-logo-no-bg.png?raw=true" alt="OpenLIT logo" width="30%">

Same Agent, Smaller Bill!

Trace, evaluate, guard, and improve AI agents and coding agents with OpenTelemetry. Agent observability · Evals · Guardrails · Prompt management · Cost & GPU monitoring · Self-host free (Apache 2.0)

<a href="https://docs.openlit.io/latest/openlit/observability/agents/overview"> <img src="docs/images/readme-hero-coding-agent-trace.png" alt="OpenLIT agent harness trace view showing LLM calls, tool calls and cost" width="90%"> </a> <p> <a href="https://github.com/openlit/openlit/stargazers"><b>⭐ Star</b></a>&nbsp;&nbsp;&nbsp;&nbsp; <a href="#-get-started-in-5-minutes"><b>🚀 Quickstart</b></a>&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://docs.openlit.io/"><b>📚 Docs</b></a> </p>

Documentation License Downloads Slack X

Website · Documentation · Quickstart · Compare · Join Slack

</div>

What is OpenLIT?

OpenLIT is an open-source agent harness engineering platform. It gives teams OpenTelemetry-native tracing, evaluations, guardrails, prompt and context management, and cost and GPU monitoring for the harness around their AI agents and coding agents, so every agent failure can be traced, scored, and turned into a harness fix. OpenLIT is free to self-host under Apache 2.0 and works with any model, framework, or harness: Claude Code, Codex, Cursor, OpenAI Agents SDK, LangGraph, CrewAI, and 70+ more integrations.

What is agent harness engineering?

An AI agent is a model plus a harness. The harness is everything except the model: tools, context, prompts, memory, hooks, guardrails, and feedback loops. Agent harness engineering is the discipline of designing, measuring, and improving that harness so agents are reliable in production. The core loop is run → observe → evaluate → fix the harness → verify, and OpenLIT gives you each step:

Harness engineering stepOpenLIT feature
Observe every LLM call, tool call, MCP request, retrieval and agent stepAgent observability & OpenTelemetry LLM tracing
Evaluate quality, safety and cost on real tracesEvals (LLM-as-a-judge, programmatic, human feedback) + CI gates
Guard the agent at runtimeGuardrails (prompt injection, sensitive topics, topic restriction)
Fix the harness without redeployingPrompt Hub, Context, Rule Engine, Vault (secrets)
Compare models and prompts before shippingOpenGround
Account for cost, latency and hardwareCost tracking, custom pricing, GPU monitoring (NVIDIA, AMD, Intel)

A production agent can involve:

flowchart TD
    U([User]) --> A[AI Agent]
    A --> L[LLM calls]
    A --> T[Tool calls]
    A --> R[Retrieval]
    A --> M[Memory]
    A --> S[Sub-agents]
    A --> P[Prompts]
    A --> C[Code changes]
    L & T & R & M & S & P & C --> E{{Evaluation}}
    E --> O[["Cost / Quality / Errors"]]

    style U fill:#F97316,stroke:#7C2D12,color:#fff
    style A fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style E fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style O fill:#F97316,stroke:#7C2D12,color:#fff

⚡ Get started in 5 minutes

1. Start OpenLIT

git clone https://github.com/openlit/openlit.git
cd openlit

docker compose up -d

Open:

http://127.0.0.1:3000

2. Install the SDK

Python:

pip install openlit

TypeScript:

npm install openlit

3. Instrument your application

Python:

import openlit

openlit.init()

That's it.

OpenLIT automatically instruments supported LLM providers, frameworks, vector databases, and other AI infrastructure and exports OpenTelemetry traces and metrics.

4. Send telemetry

By default, configure the OTLP endpoint:

export OTEL_EXPORTER_OTLP_ENDPOINT="http://127.0.0.1:4318"

Or:

import openlit

openlit.init(
    otlp_endpoint="http://127.0.0.1:4318"
)

Open your dashboard and start exploring your AI application's traces, metrics, costs, and performance.


🤖 Coding agent observability: Claude Code, Cursor, Codex, Windsurf & OpenCode

AI coding agents are powerful — but understanding what they actually did can be difficult.

OpenLIT gives you an OpenTelemetry-native view of coding-agent sessions.

Install the CLI:

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/openlit/openlit/main/cli/scripts/install.sh | sh

Windows

iwr -useb https://raw.githubusercontent.com/openlit/openlit/main/cli/scripts/install.ps1 | iex

Configure OpenLIT:

openlit configure --endpoint http://127.0.0.1:4318

Install coding-agent instrumentation:

openlit coding install --vendor=all

Or install individual integrations:

openlit coding install --vendor=cursor
openlit coding install --vendor=claude-code
openlit coding install --vendor=codex
openlit coding install --vendor=opencode

Check your installation:

openlit doctor

Now OpenLIT can capture:

flowchart LR
    S([Coding Agent Session]) --> P[User prompt]
    S --> L[LLM calls]
    S --> T[Tool calls]
    T --> T1[File reads]
    T --> T2[File edits]
    T --> T3[Shell commands]
    T --> T4[Search]
    S --> SA[Sub-agent activity]
    S --> TU[Token usage]
    S --> CO[Cost]
    S --> CI[Code impact]

    style S fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style T fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff

Explore the resulting sessions in the Coding Agents dashboard.


🔍 Agent observability & LLM tracing (OpenTelemetry)

Traces

Understand exactly what happened during an AI request.

<p> <img src="https://img.shields.io/badge/-LLM_calls-1F2937?style=flat-square" alt="LLM calls"> <img src="https://img.shields.io/badge/-Prompts_and_responses-1F2937?style=flat-square" alt="Prompts & responses"> <img src="https://img.shields.io/badge/-Tool_calls-1F2937?style=flat-square" alt="Tool calls"> <img src="https://img.shields.io/badge/-Retrieval-1F2937?style=flat-square" alt="Retrieval"> <img src="https://img.shields.io/badge/-Embeddings-1F2937?style=flat-square" alt="Embeddings"> <img src="https://img.shields.io/badge/-Vector_DB_ops-1F2937?style=flat-square" alt="Vector DB ops"> <img src="https://img.shields.io/badge/-Agent_steps-1F2937?style=flat-square" alt="Agent steps"> <img src="https://img.shields.io/badge/-Latency-1F2937?style=flat-square" alt="Latency"> <img src="https://img.shields.io/badge/-Token_usage-1F2937?style=flat-square" alt="Token usage"> <img src="https://img.shields.io/badge/-Errors-1F2937?style=flat-square" alt="Errors"> </p>

All represented using OpenTelemetry.


💰 LLM cost tracking

Track the cost of your AI applications across:

<p> <img src="https://img.shields.io/badge/-Models-1F2937?style=flat-square" alt="Models"> <img src="https://img.shields.io/badge/-Providers-1F2937?style=flat-square" alt="Providers"> <img src="https://img.shields.io/badge/-Users-1F2937?style=flat-square" alt="Users"> <img src="https://img.shields.io/badge/-Sessions-1F2937?style=flat-square" alt="Sessions"> <img src="https://img.shields.io/badge/-Agents-1F2937?style=flat-square" alt="Agents"> <img src="https://img.shields.io/badge/-Environments-1F2937?style=flat-square" alt="Environments"> </p>

Support custom pricing for custom and fine-tuned models.


🧪 Agent evals: LLM-as-a-judge, programmatic evals & CI gates

Automatically evaluate LLM and agent outputs using LLM-as-a-Judge evaluations.

Built-in evaluation types include:

<p> <img src="https://img.shields.io/badge/-Hallucination-1F2937?style=flat-square" alt="Hallucination"> <img src="https://img.shields.io/badge/-Bias-1F2937?style=flat-square" alt="Bias"> <img src="https://img.shields.io/badge/-Toxicity-1F2937?style=flat-square" alt="Toxicity"> <img src="https://img.shields.io/badge/-Safety-1F2937?style=flat-square" alt="Safety"> <img src="https://img.shields.io/badge/-Instruction_following-1F2937?style=flat-square" alt="Instruction following"> <img src="https://img.shields.io/badge/-Completeness-1F2937?style=flat-square" alt="Completeness"> <img src="https://img.shields.io/badge/-Conciseness-1F2937?style=flat-square" alt="Conciseness"> <img src="https://img.shields.io/badge/-Sensitivity-1F2937?style=flat-square" alt="Sensitivity"> <img src="https://img.shields.io/badge/-Relevance-1F2937?style=flat-square" alt="Relevance"> <img src="https://img.shields.io/badge/-Coherence-1F2937?style=flat-square" alt="Coherence"> <img src="https://img.shields.io/badge/-Faithfulness-1F2937?style=flat-square" alt="Faithfulness"> </p>

Use evaluations to move from:

"The agent produced an answer."

to:

"The agent produced a good answer."


🐛 Debug production AI agents

Find the requests that matter.

Investigate:

<p> <img src="https://img.shields.io/badge/-Failed_LLM_calls-1F2937?style=flat-square" alt="Failed LLM calls"> <img src="https://img.shields.io/badge/-Exceptions-1F2937?style=flat-square" alt="Exceptions"> <img src="https://img.shields.io/badge/-Latency_spikes-1F2937?style=flat-square" alt="Latency spikes"> <img src="https://img.shields.io/badge/-Unexpected_costs-1F2937?style=flat-square" alt="Unexpected costs"> <img src="https://img.shields.io/badge/-Bad_evaluations-1F2937?style=flat-square" alt="Bad evaluations"> <img src="https://img.shields.io/badge/-Problematic_prompts-1F2937?style=flat-square" alt="Problematic prompts"> <img src="https://img.shields.io/badge/-Agent_tool_failures-1F2937?style=flat-square" alt="Agent/tool failures"> </p>

Go from:

Something went wrong.

to a fully traced root cause:

flowchart TD
    A[Agent] --> P[Prompt] --> L1[LLM] --> T[Tool call] --> R[Retrieval] --> L2[LLM] --> E([Error])

    style E fill:#DC2626,stroke:#7F1D1D,color:#fff
    style A fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff

📸 See OpenLIT in action

<table> <tr> <td width="33%" align="center"> <img src="docs/images/docs-ai-observability-trace.png" alt="Traces view with full agent conversation, spans, and cost breakdown" width="100%"><br/> <sub><b>Traces</b> — full agent conversation, spans &amp; cost</sub> </td> <td width="33%" align="center"> <img src="docs/images/auto-evals-dashboard.png" alt="Automated evaluation dashboard with hallucination, bias, and toxicity metrics" width="100%"><br/> <sub><b>Evaluations</b> — hallucination, bias &amp; toxicity checks</sub> </td> <td width="33%" align="center"> <img src="docs/images/organisation/connectors-list.png" alt="Connectors catalog with ClickHouse, Grafana Tempo, Loki, Prometheus, and Jaeger" width="100%"><br/> <sub><b>Connectors</b> — plug in ClickHouse, Tempo, Loki, Prometheus &amp; more</sub> </td> </tr> <tr> <td width="33%" align="center"> <img src="docs/images/docs-prompt-hub-details.png" alt="Prompt Hub prompt detail page with versions and linked rules" width="100%"><br/> <sub><b>Prompt Hub</b> — versioned, centrally managed prompts</sub> </td> <td width="33%" align="center"> <img src="docs/images/rule-engine-conditions.png" alt="Rule Engine rule detail page with condition groups and live rule preview" width="100%"><br/> <sub><b>Rule Engine</b> — conditional rules on trace attributes</sub> </td> <td width="33%" align="center"> <img src="docs/images/docs-ui-banner.jpeg" alt="OpenLIT dashboard preview with cost, latency, and usage charts" width="100%"><br/> <sub><b>Dashboards</b> — cost, latency &amp; usage charts at a glance</sub> </td> </tr> </table>

🧠 Prompt management (Prompt Hub) & context

Use Prompt Hub to:

<p> <img src="https://img.shields.io/badge/-Create_prompts-1F2937?style=flat-square" alt="Create prompts"> <img src="https://img.shields.io/badge/-Version_prompts-1F2937?style=flat-square" alt="Version prompts"> <img src="https://img.shields.io/badge/-Retrieve_from_apps-1F2937?style=flat-square" alt="Retrieve from apps"> <img src="https://img.shields.io/badge/-Compare_versions-1F2937?style=flat-square" alt="Compare versions"> <img src="https://img.shields.io/badge/-Consistent_across_environments-1F2937?style=flat-square" alt="Consistent across environments"> </p>

Example:

prompt = openlit.prompts.get(
    "customer-support"
)

Keep prompt management separate from application code while maintaining version control and observability.

Use Context to store reusable RAG content once and have the Rule Engine return the right piece at runtime. See the Context docs.


⚙️ Rule Engine

Define runtime rules based on trace attributes.

Use rules to dynamically control:

<p> <img src="https://img.shields.io/badge/-Prompts-1F2937?style=flat-square" alt="Prompts"> <img src="https://img.shields.io/badge/-Evaluations-1F2937?style=flat-square" alt="Evaluations"> <img src="https://img.shields.io/badge/-Contexts-1F2937?style=flat-square" alt="Contexts"> <img src="https://img.shields.io/badge/-Runtime_behavior-1F2937?style=flat-square" alt="Runtime behavior"> </p>

Example:

IF
  environment = production
  AND
  model = expensive-model

THEN
  run cost evaluation
  + retrieve production prompt

🛡️ Guardrails: prompt injection & sensitive-topic detection

Use OpenLIT SDK guardrails to detect and block risky prompts at runtime:

  • Prompt injection / jailbreak attempts
  • Sensitive topics
  • Topic restriction

Guardrail checks are traced with OpenTelemetry so you can see when and why a request was blocked. See the guardrails docs and quickstart.


🔐 Vault: LLM API key management

Store LLM API keys and other secrets in Vault, then retrieve them at runtime via the SDK or API — without hard-coding credentials in application code. See the Vault docs.


🆚 OpenGround: compare models side by side

Run the same prompt across multiple providers in OpenGround and compare cost, latency, and output quality before you ship. See the OpenGround docs.


🖥️ GPU monitoring for LLM inference

Monitor NVIDIA, AMD, and Intel GPUs used for LLM inference with the OpenTelemetry GPU collector: utilization, memory, power, and temperature, correlated with your traces. See the GPU collector docs.


🔌 OpenTelemetry-native (GenAI semantic conventions)

OpenLIT is built around OpenTelemetry, rather than creating a proprietary telemetry format. Traces and metrics follow OpenTelemetry GenAI semantic conventions (gen_ai.*).

Your telemetry can flow through the OpenTelemetry ecosystem:

flowchart TD
    A["AI App / AI Agent"] -->|OTLP| R[OpenLIT OTLP receiver]
    A -->|optional sidecar| C[Your OpenTelemetry Collector]
    C --> R
    C --> O["Other OTel backends<br/>(Datadog, Grafana, Honeycomb, ...)"]
    R --> B[ClickHouse]
    B --> D[OpenLIT Dashboard]

    style A fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style R fill:#F97316,stroke:#7C2D12,color:#fff
    style C fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style B fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style D fill:#F97316,stroke:#7C2D12,color:#fff

OpenLIT listens for OTLP on :4317 (gRPC) and :4318 (HTTP). A bundled Collector is not required. You can still put your own Collector in front for fan-out or processing.

This means you can integrate OpenLIT into an existing OpenTelemetry architecture instead of replacing it.


🧩 70+ integrations

OpenLIT auto-instruments a growing ecosystem of AI providers, frameworks, vector databases, and GPU infrastructure with a single line of code. Click any badge to view its integration guide.

LLM Providers

<a href="https://docs.openlit.io/latest/sdk/integrations/openai"><img src="https://img.shields.io/badge/OpenAI-1F2937?style=flat-square&logo=openai&logoColor=white" alt="OpenAI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/ollama"><img src="https://img.shields.io/badge/Ollama-1F2937?style=flat-square&logo=ollama&logoColor=white" alt="Ollama"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/anthropic"><img src="https://img.shields.io/badge/Anthropic-1F2937?style=flat-square&logo=anthropic&logoColor=white" alt="Anthropic"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/deepseek"><img src="https://img.shields.io/badge/DeepSeek-1F2937?style=flat-square&logo=deepseek&logoColor=white" alt="DeepSeek"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/gpt4all"><img src="https://img.shields.io/badge/GPT4All-1F2937?style=flat-square&logo=gpt4all&logoColor=white" alt="GPT4All"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/cohere"><img src="https://img.shields.io/badge/Cohere-1F2937?style=flat-square&logo=cohere&logoColor=white" alt="Cohere"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/mistral"><img src="https://img.shields.io/badge/Mistral-1F2937?style=flat-square&logo=mistralai&logoColor=white" alt="Mistral"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/github-models"><img src="https://img.shields.io/badge/GitHub_Models-1F2937?style=flat-square&logo=github&logoColor=white" alt="GitHub Models"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/vllm"><img src="https://img.shields.io/badge/vLLM-1F2937?style=flat-square&logo=vllm&logoColor=white" alt="vLLM"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/azure-openai"><img src="https://img.shields.io/badge/Azure_OpenAI-1F2937?style=flat-square&logo=azureopenai&logoColor=white" alt="Azure OpenAI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/azure-ai-inference"><img src="https://img.shields.io/badge/Azure_AI_Inference-1F2937?style=flat-square&logo=azureaiinference&logoColor=white" alt="Azure AI Inference"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/huggingface"><img src="https://img.shields.io/badge/HuggingFace-1F2937?style=flat-square&logo=huggingface&logoColor=white" alt="HuggingFace"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/bedrock"><img src="https://img.shields.io/badge/Amazon_Bedrock-1F2937?style=flat-square&logo=amazonbedrock&logoColor=white" alt="Amazon Bedrock"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/vertexai"><img src="https://img.shields.io/badge/Vertex_AI-1F2937?style=flat-square&logo=googlecloud&logoColor=white" alt="Vertex AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/google-ai-studio"><img src="https://img.shields.io/badge/Google_AI_Studio-1F2937?style=flat-square&logo=googlegemini&logoColor=white" alt="Google AI Studio"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/groq"><img src="https://img.shields.io/badge/Groq-1F2937?style=flat-square&logo=groq&logoColor=white" alt="Groq"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/nvidia-nim"><img src="https://img.shields.io/badge/NVIDIA_NIM-1F2937?style=flat-square&logo=nvidianim&logoColor=white" alt="NVIDIA NIM"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/xai"><img src="https://img.shields.io/badge/xAI-1F2937?style=flat-square&logo=xai&logoColor=white" alt="xAI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/elevenlabs"><img src="https://img.shields.io/badge/ElevenLabs-1F2937?style=flat-square&logo=elevenlabs&logoColor=white" alt="ElevenLabs"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/ai21"><img src="https://img.shields.io/badge/AI21-1F2937?style=flat-square&logo=ai21&logoColor=white" alt="AI21"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/together"><img src="https://img.shields.io/badge/Together_AI-1F2937?style=flat-square&logo=togetherai&logoColor=white" alt="Together AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/typesafe"><img src="https://img.shields.io/badge/TypeSafe_Jev-1F2937?style=flat-square&logoColor=white" alt="TypeSafe Jev"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/digitalocean"><img src="https://img.shields.io/badge/DigitalOcean_(pydo)-1F2937?style=flat-square&logo=digitalocean&logoColor=white" alt="DigitalOcean (pydo)"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/digitalocean-gradient"><img src="https://img.shields.io/badge/DigitalOcean_Gradient-1F2937?style=flat-square&logo=digitalocean&logoColor=white" alt="DigitalOcean Gradient"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/assemblyai"><img src="https://img.shields.io/badge/Assembly_AI-1F2937?style=flat-square&logo=assemblyai&logoColor=white" alt="Assembly AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/featherless"><img src="https://img.shields.io/badge/Featherless-1F2937?style=flat-square&logo=featherless&logoColor=white" alt="Featherless"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/reka"><img src="https://img.shields.io/badge/Reka_AI-1F2937?style=flat-square&logo=rekaai&logoColor=white" alt="Reka AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/krutrim"><img src="https://img.shields.io/badge/OLA_Krutrim-1F2937?style=flat-square&logo=olakrutrim&logoColor=white" alt="OLA Krutrim"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/titan-ml"><img src="https://img.shields.io/badge/Titan_ML-1F2937?style=flat-square&logo=titanml&logoColor=white" alt="Titan ML"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/sarvam"><img src="https://img.shields.io/badge/Sarvam_AI-1F2937?style=flat-square&logo=sarvamai&logoColor=white" alt="Sarvam AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/premai"><img src="https://img.shields.io/badge/Prem_AI-1F2937?style=flat-square&logo=premai&logoColor=white" alt="Prem AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/replicate"><img src="https://img.shields.io/badge/Replicate-1F2937?style=flat-square&logo=replicate&logoColor=white" alt="Replicate"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/oci"><img src="https://img.shields.io/badge/OCI_GenAI-1F2937?style=flat-square&logo=ocigenai&logoColor=white" alt="OCI GenAI"></a>

Vector & Data Stores

<a href="https://docs.openlit.io/latest/sdk/integrations/chromadb"><img src="https://img.shields.io/badge/ChromaDB-1F2937?style=flat-square&logo=chromadb&logoColor=white" alt="ChromaDB"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/pinecone"><img src="https://img.shields.io/badge/Pinecone-1F2937?style=flat-square&logo=pinecone&logoColor=white" alt="Pinecone"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/qdrant"><img src="https://img.shields.io/badge/Qdrant-1F2937?style=flat-square&logo=qdrant&logoColor=white" alt="Qdrant"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/milvus"><img src="https://img.shields.io/badge/Milvus-1F2937?style=flat-square&logo=milvus&logoColor=white" alt="Milvus"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/astradb"><img src="https://img.shields.io/badge/AstraDB-1F2937?style=flat-square&logo=datastax&logoColor=white" alt="AstraDB"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/psycopg"><img src="https://img.shields.io/badge/PostgreSQL_(psycopg3)-1F2937?style=flat-square&logo=postgresql&logoColor=white" alt="PostgreSQL (psycopg3)"></a>

AI Frameworks & Agents

<a href="https://docs.openlit.io/latest/sdk/integrations/langchain"><img src="https://img.shields.io/badge/LangChain-1F2937?style=flat-square&logo=langchain&logoColor=white" alt="LangChain"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/openai-agents"><img src="https://img.shields.io/badge/OpenAI_Agents-1F2937?style=flat-square&logo=openaiagents&logoColor=white" alt="OpenAI Agents"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/litellm"><img src="https://img.shields.io/badge/LiteLLM-1F2937?style=flat-square&logo=litellm&logoColor=white" alt="LiteLLM"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/crewai"><img src="https://img.shields.io/badge/CrewAI-1F2937?style=flat-square&logo=crewai&logoColor=white" alt="CrewAI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/llama-index"><img src="https://img.shields.io/badge/LlamaIndex-1F2937?style=flat-square&logo=llamaindex&logoColor=white" alt="LlamaIndex"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/browser-use"><img src="https://img.shields.io/badge/Browser_Use-1F2937?style=flat-square&logo=browseruse&logoColor=white" alt="Browser Use"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/pydantic"><img src="https://img.shields.io/badge/Pydantic_AI-1F2937?style=flat-square&logo=pydantic&logoColor=white" alt="Pydantic AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/dspy"><img src="https://img.shields.io/badge/DSPy-1F2937?style=flat-square&logo=dspy&logoColor=white" alt="DSPy"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/ag2"><img src="https://img.shields.io/badge/AutoGen_(AG2)-1F2937?style=flat-square&logo=autogen&logoColor=white" alt="AutoGen (AG2)"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/haystack"><img src="https://img.shields.io/badge/Haystack-1F2937?style=flat-square&logo=haystack&logoColor=white" alt="Haystack"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/mem0"><img src="https://img.shields.io/badge/mem0-1F2937?style=flat-square&logo=mem0&logoColor=white" alt="mem0"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/guardrails"><img src="https://img.shields.io/badge/Guardrails_AI-1F2937?style=flat-square&logo=guardrailsai&logoColor=white" alt="Guardrails AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/phidata"><img src="https://img.shields.io/badge/Phidata-1F2937?style=flat-square&logo=phidata&logoColor=white" alt="Phidata"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/multion"><img src="https://img.shields.io/badge/MultiOn-1F2937?style=flat-square&logo=multion&logoColor=white" alt="MultiOn"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/julep-ai"><img src="https://img.shields.io/badge/Julep_AI-1F2937?style=flat-square&logo=julepai&logoColor=white" alt="Julep AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/letta"><img src="https://img.shields.io/badge/Letta-1F2937?style=flat-square&logo=letta&logoColor=white" alt="Letta"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/crawl4ai"><img src="https://img.shields.io/badge/Crawl4AI-1F2937?style=flat-square&logo=crawl4ai&logoColor=white" alt="Crawl4AI"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/firecrawl"><img src="https://img.shields.io/badge/FireCrawl-1F2937?style=flat-square&logo=firecrawl&logoColor=white" alt="FireCrawl"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/dynamiq"><img src="https://img.shields.io/badge/Dynamiq-1F2937?style=flat-square&logo=dynamiq&logoColor=white" alt="Dynamiq"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/controlflow"><img src="https://img.shields.io/badge/ControlFlow-1F2937?style=flat-square&logo=controlflow&logoColor=white" alt="ControlFlow"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/swarmzero"><img src="https://img.shields.io/badge/SwarmZero-1F2937?style=flat-square&logo=swarmzero&logoColor=white" alt="SwarmZero"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/langgraph"><img src="https://img.shields.io/badge/LangGraph-1F2937?style=flat-square&logo=langgraph&logoColor=white" alt="LangGraph"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/strands"><img src="https://img.shields.io/badge/Strands_Agents-1F2937?style=flat-square&logo=strandsagents&logoColor=white" alt="Strands Agents"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/google-adk"><img src="https://img.shields.io/badge/Google_ADK-1F2937?style=flat-square&logo=google&logoColor=white" alt="Google ADK"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/claude-agent-sdk"><img src="https://img.shields.io/badge/Claude_Agent_SDK-1F2937?style=flat-square&logo=anthropic&logoColor=white" alt="Claude Agent SDK"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/vercel-ai"><img src="https://img.shields.io/badge/Vercel_AI_SDK-1F2937?style=flat-square&logo=vercel&logoColor=white" alt="Vercel AI SDK"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/agent-framework"><img src="https://img.shields.io/badge/Agent_Framework-1F2937?style=flat-square&logo=agentframework&logoColor=white" alt="Agent Framework"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/smolagents"><img src="https://img.shields.io/badge/smolagents-1F2937?style=flat-square&logo=huggingface&logoColor=white" alt="smolagents"></a>

Governance & Protocols

<a href="https://docs.openlit.io/latest/sdk/integrations/agent-governance-toolkit"><img src="https://img.shields.io/badge/Agent_Governance_Toolkit-1F2937?style=flat-square&logo=agentgovernancetoolkit&logoColor=white" alt="Agent Governance Toolkit"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/mcp"><img src="https://img.shields.io/badge/MCP-1F2937?style=flat-square&logo=mcp&logoColor=white" alt="MCP"></a>

GPU Monitoring

<a href="https://docs.openlit.io/latest/sdk/integrations/nvidia-gpu"><img src="https://img.shields.io/badge/NVIDIA_GPUs-1F2937?style=flat-square&logo=nvidia&logoColor=white" alt="NVIDIA GPUs"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/amd-gpu"><img src="https://img.shields.io/badge/AMD_GPUs-1F2937?style=flat-square&logo=amd&logoColor=white" alt="AMD GPUs"></a> <a href="https://docs.openlit.io/latest/sdk/integrations/intel-gpu"><img src="https://img.shields.io/badge/Intel_GPUs-1F2937?style=flat-square&logo=intel&logoColor=white" alt="Intel GPUs"></a>

See the complete integration list in the documentation.


🛠️ SDKs

OpenLIT provides OpenTelemetry-native SDKs for:

Python

pip install openlit

Python SDK →

TypeScript

npm install openlit

TypeScript SDK →

Go

Go SDK →


🏗️ Architecture

OpenLIT is designed to run in your infrastructure.

A typical deployment looks like:

flowchart TD
    subgraph App["Your application"]
        direction LR
        Agent --> LLM --> Tools --> RAG --> DB
    end
    App -->|OTLP| Receiver[OpenLIT OTLP receiver]
    Receiver --> CH[(ClickHouse)]
    CH --> Dash[OpenLIT Dashboard]

    style App fill:#1F2937,stroke:#F97316,stroke-width:2px,color:#fff
    style Receiver fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style CH fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style Dash fill:#F97316,stroke:#7C2D12,color:#fff

🔐 Self-hosted by default

Run OpenLIT inside your own infrastructure using Docker or Kubernetes.

Your telemetry stays under your control.

docker compose up -d

For Kubernetes, see the installation documentation.


🚀 From trace to optimization

Observability is only the beginning.

OpenLIT is designed around a continuous AI engineering loop:

flowchart LR
    T[Trace] --> E[Evaluate] --> A[Analyze] --> O[Optimize] --> M[Manage] -.-> T

    style T fill:#F97316,stroke:#7C2D12,color:#fff
    style E fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style A fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style O fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff
    style M fill:#111827,stroke:#F97316,stroke-width:2px,color:#fff

The goal is simple:

Make AI systems observable, measurable, debuggable, and continuously improvable.


❓ FAQ

What is OpenLIT? OpenLIT is an open-source agent harness engineering platform. It provides OpenTelemetry-native tracing, evaluations, guardrails, prompt management, and cost and GPU monitoring for AI agents and coding agents, and it is free to self-host under Apache 2.0.

What is an agent harness? An agent harness is everything in an AI agent except the model: the tools, context, prompts, memory, hooks, guardrails, and feedback loops that turn a model into a working agent. Claude Code, Codex, and frameworks like LangGraph or CrewAI are harnesses.

What is agent harness engineering? Agent harness engineering is the discipline of designing, measuring, and improving the harness around a model so agents are reliable in production. Teams run agents on real tasks, observe failures in traces, evaluate them, fix the harness (prompts, tools, rules, guardrails), and verify the fix with regression evals.

Is OpenLIT an agent framework or a harness runtime? No. OpenLIT doesn't run your agent loop. It instruments and improves whatever harness you already use, through OpenTelemetry, so you can switch models, frameworks, or harnesses without losing your traces, evals, or prompts.

How is OpenLIT different from Langfuse, LangSmith, or Arize Phoenix? OpenLIT is Apache-2.0 and OpenTelemetry-native end to end, adds GPU monitoring, guardrails, Vault, and coding-agent observability in the same self-hosted platform, and exports to any OTLP backend. See https://openlit.io/compare for feature-by-feature comparisons.

Does OpenLIT work with Claude Code, Codex, and Cursor? Yes. The openlit CLI ingests each coding agent's hook events and maps them to OpenTelemetry gen_ai.* conventions, with no SDK and no code changes.

Can I run agent evals in CI? Yes. Run LLM-as-a-judge and programmatic evals online on production traces, or offline through the SDK as CI/CD gates.

Is OpenLIT free? Yes. Self-hosted OpenLIT is free under Apache 2.0, with no license key and no per-trace fee. Organisation-wide governance features such as custom roles, audit logs, and alerts are part of OpenLIT Enterprise.

Does OpenLIT add latency? No proxy is required. SDKs instrument in-process and export telemetry asynchronously over OTLP.

Can I send data to Grafana, Datadog, or my existing OpenTelemetry Collector? Yes. OpenLIT emits standard OTLP traces and metrics, so they can go to OpenLIT, Grafana, Datadog, New Relic, SigNoz, or any OTLP backend.


🆚 How OpenLIT compares

Feature-by-feature comparisons on openlit.io/compare:


🌎 Community

OpenLIT is open source and built with the AI engineering community.

Join us:

If OpenLIT is useful to you, please consider giving the repository a ⭐.

It helps other AI engineers discover the project.


🤝 Contributing

Contributions are welcome.

You can contribute by:

  • fixing bugs
  • adding integrations
  • improving documentation
  • creating examples
  • improving SDKs
  • adding evaluations
  • building dashboards
  • reporting issues
  • sharing OpenLIT with other developers

Check the repository's issues for opportunities to contribute. To run OpenLIT from source, see Run OpenLIT locally: one script, scripts/dev-realtime.sh, starts the UI, OTLP receiver, realtime engine, and NATS.


📄 License

OpenLIT is licensed under the Apache License 2.0.

See LICENSE for details.


🙇 Acknowledgments

Sponsors

Silver

<p> <a href="https://fluxionai.world/register?source=github&campaign=github-openlit&promo=OPENLIT" target="_blank"> <img src="docs/images/fluxion-ai-logo.png" alt="Fluxion AI" height="72"> </a> </p>

Bronze

<p> <a href="https://www.testmuai.com/?utm_medium=sponsor&utm_source=openlit" target="_blank"> <img src="docs/images/testmu-logo.png" alt="TestMu AI" height="80"> </a> </p>

Deployment partners

<p> <a href="https://www.digitalocean.com/"> <img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" alt="DigitalOcean" height="80" width="200"> </a> &nbsp;&nbsp;&nbsp;&nbsp; <a href="https://www.hostg.xyz/aff_c?offer_id=815&aff_id=243668&url_id=6792"> <img src="https://assets.hostinger.com/vps/deploy.svg" alt="Deploy on Hostinger"> </a> </p>

💻 Contributors

<a href="https://github.com/openlit/openlit/graphs/contributors"> <img src="https://contrib.rocks/image?repo=openlit/openlit&max=500&columns=20" alt="OpenLIT contributors" width="100%"> </a>

Names for the same contributors are on openlit.io/about-us.


<div align="center">

Build agent harnesses you can actually measure and improve.

⭐ Star OpenLIT on GitHub

</div>

Openlit alternatives

View more →

Similar ai agents in Developer Tools, ranked by GitHub stars. Compare licence, recent activity and scan status before you choose.

NameStarsLicenceLast updatedScan
Openlit (this page)
openlit
2.9kApache-2.0Oct 30, 2026Scanned, no flagged issues
Deepseek Harness
deepseek-ai
268kMITOct 30, 2026Scanned, no flagged issues
Ponytail
DietrichGebert
182kMITOct 29, 2026Scanned, no flagged issues
Orca
stablyai
112kMITNov 1, 2026Scanned, no flagged issues
Deer Flow
bytedance
85kMITNov 1, 2026Scanned, no flagged issues
Ruflo
ruvnet
80kMITNov 1, 2026Scanned, no flagged issues