Skip to content

View Bug Reports Locally

After receiving an Agent diagnostic ZIP, use obscli to inspect chat, tools, LLM diagnostics, and resource metrics offline:

obscli bug-report view ./report.zip

The command validates the ZIP, prints a local URL, and opens the default browser. Keep the terminal running; Ctrl+C or process exit stops the local service immediately. To avoid opening a browser automatically, use:

obscli bug-report view ./report.zip --no-open

Only one local ZIP is accepted. The service uses a random 127.0.0.1 port and cannot be configured to listen elsewhere. The URL token expires after its first use; the same browser continues through a session cookie. Restart the command for a new browser session. Do not forward the URL.

Fully Offline and Raw Evidence

The Viewer embeds all pages, styles, and scripts in obscli. It loads no CDN, external fonts, telemetry, referenced images, or attachments. Markdown links, images, and HTML are treated as inert text, and code blocks never run.

The Viewer validates each ZIP entry's CRC and displays source-file SHA-256 values. It does not modify the ZIP or extract the complete archive. Path traversal, duplicate entries, unexpected file types, CRC errors, unknown schemas, and manifest inconsistencies fail explicitly.

A depth 3 report is a highly sensitive UNREDACTED artifact. It can contain business text, complete prompts, reasoning, tool data, and inline multimodal content. Inspect it only on a controlled machine and handle it according to your organization's sensitive-artifact policy.

Sessions and LLM Rounds

The left side lists Sessions, including coverage entries marked not recorded. The main view merges chat, tools, runtime, and recorded LLM events for one Session by full date and time. Subagents retain parent Session, parent-call, and tool-call identifiers; lane checkboxes can collapse subagent events on the current page.

Time defaults to the report Agent's timezone and can switch to UTC or browser-local time. Search covers raw selected-Session events and decoded provider bytes while preserving event type, time, and stable source location.

Each page contains a bounded number of events. Expand Raw to page through JSON, provider bytes, or typed data and copy the current page or selected evidence. UTF-8 pagination preserves characters; undecodable provider chunks are clearly shown as base64.

LLM rounds / Diff shows purpose, attempt, model, status, usage, total latency, time to first byte, and recorded components including final system text and sections, effective messages, actual trailing user prompt, model parameters, tool definitions, ordered response chunks, assembled response, parsed results, tool evidence, and compaction history. attempt_end records available first-byte, reasoning, first-content, and reasoning-token timing; missing network segmentation is never inferred.

Choose rounds A and B from the same Session and a component for a structured diff. JSON Pointer identifies differences, array order is preserved, and long values use previews with complete content available in the component or Raw view.

Legacy obsy-agent-bug-report@2 archives remain readable. Deep evidence appears only when llm-diagnostics@1 is present. Missing provider requests, sections, pre-compaction history, or phase latency are shown as not recorded; transcript or effective context is never reconstructed as an actual provider request.

Metrics

Metrics provides charts for CPU ticks/s, heap/sys, goroutines, file descriptors, garbage collection, and queues, plus metric and label search. LLM and tool counters and histograms are selectable by name and labels.

Counter rates use adjacent samples; histogram average latency uses Δsum / Δcount. The Viewer does not turn a first sample, counter reset, reversed time, missing previous value, or zero new calls into an interval value. CPU ticks/s retains the collector's tick unit and is not shown as a misleading percentage.

Drag a chart range to filter the current Session timeline. Select a timeline timestamp to inspect metrics around 30 seconds before and after it; an LLM round can select its start-to-end interval.

Files and Go Profiles

Files presents manifest, environment/configuration, logs, runtime data, JSON, and text as a tree. Text is paginated; binary entries show metadata only. Save this file downloads only the explicitly selected entry and never extracts files in bulk.

The Viewer does not embed Go profile or runtime-trace analyzers. Save the selected file and use installed Go tools, for example:

go tool pprof ./heap.pprof
go tool pprof ./cpu.pprof
go tool trace ./runtime.trace

Use the actual saved path. Do not upload the complete diagnostic directory to a public analysis service.

Feedback

Is this page helpful?