Skip to content

Local first / Open source / MIT

LLM observability that
never leaves your machine.

OpenSmith is to LangSmith what Ollama is to OpenAI. No cloud. No accounts. No Docker. Just Python.

3.2K+ downloads · Python 3.8+

Works withOpenAIAnthropicLiteLLM
pipeline.py
from opensmith import trace

@trace
def my_pipeline(prompt):
    response = llm.call(prompt)
    return response

# Dashboard auto-opens at localhost:7823

downloads / month

latest version

GitHub stars

forks

Get running

How it works

  1. Install

    pip install opensmith

  2. Add the decorator

    @trace on any function — that's it.

  3. Open the dashboard

    opensmith uilocalhost:7823

Core capabilities

Everything you need, nothing you don't.

Zero setup

SQLite by default at ~/.opensmith/traces.db. No config file needed to get started. Add Postgres in one env var when you're ready.

pip install opensmith

Live dashboard

Full observability at localhost:7823. Search traces, filter by status or tags, inspect token usage and cost — all local, all yours.

opensmith ui

One decorator

Drop @trace on any function. Sync, async, context manager — all supported. Autopatches OpenAI, Anthropic, and LiteLLM with zero code changes.

@trace

Automatic instrumentation

Works with the tools you already use.

One line enables automatic tracing across your entire LLM stack.

setup.py
from opensmith import autopatch

autopatch("openai")         # patches OpenAI client
autopatch("anthropic")         # patches Anthropic client
autopatch("litellm")         # patches LiteLLM
autopatch("chromadb")         # patches ChromaDB
autopatch("qdrant")         # patches Qdrant
autopatch("pinecone")         # patches Pinecone
OpenAIAnthropicLiteLLMChromaDBQdrantPinecone

Scale when ready

Optional integrations

Postgres backend

$ pip install "opensmith[postgres]"
# Set env var:
OPENSMITH_DB_URL=postgresql://...

Production-grade storage when SQLite isn't enough.

OpenTelemetry export

$ pip install "opensmith[otel]"
# Set env var:
OPENSMITH_OTEL_ENDPOINT=http://localhost:4318

Export traces to Jaeger, Grafana Tempo, or any OTel backend.

Command line

Full CLI included

$ opensmith ui # start dashboard
$ opensmith traces # list recent traces
$ opensmith stats # token + cost summary
$ opensmith export # export to JSON or CSV
$ opensmith clear # clear local traces
$ opensmith init # create opensmith.json config