Observability (Phase 3, open-core)

Self-hosted agent harnesses lack a lightweight, harness-agnostic observability layer. @agenthub/tracer is the open core: one event schema that works whether your agent runs on Hermes (Python) or OpenClaw (Node). The JSONL is the contract.

The event chain

The tracer spans the whole chain:

Example trace (rendered by the local dashboard)

Below is a representative trace, rendered from the tracer's JSONL. The hosted cloud dashboard is the future closed layer.

Usage

import { Tracer } from '@agenthub/tracer';
const t = new Tracer();
const root = t.startSpan('telegram message in', 'channel');
const agent = t.startSpan('agent turn', 'agent', { model: 'claude-fable-5' });
t.endSpan(agent);
t.endSpan(root);
console.log(t.toJSONL());

Source in packages/tracer/ (TypeScript, for OpenClaw) + packages/tracer-python/ (Python, for Hermes) — same JSONL schema, fully cross-compatible. Tests: pytest packages/tracer-python. The hosted cloud dashboard is the future closed layer.