/docs/integrations/OpenClawAdapter
OpenClaw
Wrapper for OpenResponses-compatible OpenClaw clients. Model calls become obsrv traces with normalized messages, usage, and metadata.
Python
from openclaw import Client
from theta_observability import TraceClient
from theta_observability.integrations import wrap_openclaw
obs = TraceClient()
claw = wrap_openclaw(Client(), obs)
claw.responses.create(
model="openclaw-default",
input="Order a coffee for 9:30am.",
)Node
import { TraceClient } from "@theta-lab/obsrv";
import { wrapOpenClaw } from "@theta-lab/obsrv/openclaw";
const obs = new TraceClient();
const claw = wrapOpenClaw(openclawClient, { client: obs });
await claw.responses.create({
model: "openclaw-default",
input: "Order a coffee for 9:30am.",
});What it adds
- OpenResponses input messages are normalized into obsrv messages.
- Response text, usage, latency, and model metadata are captured as LLM steps.
- Errors are captured on the trace instead of disappearing in application logs.
- Cluster discovery can group repeated OpenClaw failure patterns after traces are ingested.