Documentation
¶
Overview ¶
Command basic records demo runs — a tool call, a subagent, a failure — into an obsdb sqlite database and serves Studio on 127.0.0.1:7331:
go run ./studio/examples/basic [-serve] [-addr 127.0.0.1:7331] [dir]
The database lives at <dir>/dev.db (default .weft) and persists across invocations; -serve skips recording and only serves; -addr picks the listen address (loopback by default — bind loopback until token auth exists, features doc L4). The manifest option feeds the agent and tool cards (H1).
Recording here writes obsdb batches directly — the events, messages records and invoke span a run produces — so the example stays dependency-light. A real app records the same rows through weft/otel:
p, _ := otel.Start(ctx, otel.Local(path), otel.NoGlobal()) agent := weft.New(model, weft.LoggerProvider(p.LoggerProvider()), weft.TracerProvider(p.TracerProvider()))
(weft-arena's Studio mirror, internal/arena/studio.go, is the living example of that wiring.)