Runback sits above your stack.
It doesn't replace LangChain, CrewAI, or the AI SDK — it governs whatever you built on top of them. Use the SDK for the deepest capture, or send traces from any framework over OpenTelemetry.
or @runback/sdk
Whatever the framework, you can drill into any step:
- tool
- send_email
- status
- error
Whatever model you call, Runback records it automatically — the inspector and monitoring don't care which provider you use. Stepreplay runs Groq-hosted models today; OpenAI and Anthropic are next.
The deepest path
The richest integration — full context capture, in-process redaction, and step replay. About three lines.
import { withDebugger } from "@runback/sdk";
import { generateText, stepCountIs } from "ai";
const dbg = withDebugger(model, { runName: "agent", redact: "standard" });
const res = await generateText({
model: dbg.model,
tools: dbg.tools(myTools),
stopWhen: stepCountIs(8),
prompt: task,
});
await dbg.finish({ output: res.text, status: "success" });Any framework, via OpenTelemetry
Point your OTLP trace exporter at Runback. Every example below also needs these three environment variables:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://runback.dev/api/otel/v1/traces"
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL="http/json"
export OTEL_EXPORTER_OTLP_TRACES_HEADERS="authorization=Bearer <RUNBACK_API_KEY>"Auto-instrument the official SDKs with OpenLLMetry. No changes to your calls.
pip install traceloop-sdk
from traceloop.sdk import Traceloop
Traceloop.init(
api_endpoint="https://runback.dev/api/otel",
headers={"authorization": "Bearer <RUNBACK_API_KEY>"},
)
# your openai / anthropic calls are now traced to RunbackInstrument with OpenInference (or OpenLLMetry) and point the OTLP exporter at Runback.
pip install openinference-instrumentation-langchain \
opentelemetry-exporter-otlp-proto-http
# then export the env vars below, and:
# LangChainInstrumentor().instrument()OpenLLMetry instruments CrewAI agents, tasks, and tool calls out of the box.
pip install traceloop-sdk
# Traceloop.init(...) as above — CrewAI spans flow straight in.Trace queries, retrievers, and LLM calls via OpenInference or OpenLLMetry.
pip install openinference-instrumentation-llama-index
# LlamaIndexInstrumentor().instrument(); then the env vars below.If it emits GenAI spans, Runback reads it. Set three environment variables and go.
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://runback.dev/api/otel/v1/traces"
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL="http/json"
export OTEL_EXPORTER_OTLP_TRACES_HEADERS="authorization=Bearer <RUNBACK_API_KEY>"If it speaks OpenTelemetry GenAI conventions, it already works. Tell us what you use and we'll confirm the mapping — read the guide or open a live run.