在本地查看 Bug Report¶
收到 Agent 的诊断 ZIP 后,可用 obscli 离线查看聊天、工具、LLM 诊断和资源指标:
命令会校验 ZIP,打印本地访问 URL,并自动打开默认浏览器。终端需要保持运行;按 Ctrl+C 或关闭进程后,本地服务立即停止。
不需要自动打开浏览器时:
一次只接受一个本地 ZIP。访问地址使用随机 127.0.0.1 端口,不提供修改监听地址的参数。URL 中的一次性 token 在首次打开后失效;同一浏览器通过会话 cookie 继续访问。需要重新打开新的浏览器会话时,重启命令获取新 URL。不要把访问 URL 转发给其他人。
完全离线与原始证据¶
查看器的页面、样式和脚本全部内置在 obscli 中,不依赖 CDN、外部字体或前端构建工具。页面只向当前本地服务请求数据,不发送遥测,不下载报告里引用的图片或附件。Markdown 中的链接、图片和 HTML 均作为惰性文本处理,代码块不会执行。
ZIP 按条目校验 CRC,并显示原始文件的 SHA-256。查看器不修改 ZIP,也不会把整个 ZIP 解压到磁盘。目录穿越、重复条目、文件类型异常、CRC 错误、未知 schema 和 manifest 不一致会返回错误。
depth 3 报告是 UNREDACTED 高敏感制品:可能包含业务正文、完整 prompt、reasoning/thinking、工具数据和 inline 多模态内容。请在受控机器中查看,并按组织的敏感制品规范保存、传输和删除。离线查看不会降低报告本身的敏感性。
Sessions 与 LLM rounds¶
左侧列出报告中的 Session,包括 coverage 中标记为未录制的 Session。主区域一次查看一个 Session,按完整日期时间合并聊天、工具、runtime 和已录制的 LLM 事件。subagent 保留父 Session、parent call 和 tool call 标识;可以通过 lane 复选框折叠当前页的子代理事件。
日期时间默认采用报告的 Agent 时区,可切换 UTC 或浏览器本地时区。时间显示包含完整日期和 UTC 偏移。全文搜索覆盖所选 Session 的原始事件和解码后的 provider bytes;搜索结果保留事件类型、日期时间和稳定来源位置。
每页只展示有限事件。展开 Raw 可逐页查看原始 JSON、provider bytes 或 typed data,并复制本页或选中证据的完整原文。跨 UTF-8 字符的分页不会破坏字符;不可单独解码为 UTF-8 的原始 provider chunk 以明确标注的 base64 展示。
在 LLM rounds / Diff 中,可以查看 purpose、attempt、model、状态、usage、总耗时和首字节耗时,以及以下录制内容:
- Provider 最终 system 文本与有序 system sections;section 包含 cache class、字符数、估算 token 数和截断标记。token 估算使用每 4 字符约 1 token,不能替代 provider usage。
- Effective messages、实际请求中的末尾 user prompt、model parameters 和 tool definitions。
- 按顺序录制的 response chunks、组装后的 response,以及 Agent 的解析结果。
- 工具完整结果和模型实际看到的投影;compaction 已录制的压缩前历史、summary、压缩后实际历史和 token 变化。
attempt_end已录制的首字节、首个 reasoning、reasoning 持续时间、首个正文、reasoning 可观测状态和 reasoning token。未采集的网络分段不会由总耗时推算。
选择同一 Session 中的 A、B 两个 round,再选择组件即可进行结构化 diff。差异按 JSON Pointer 定位,数组顺序会保留;长值仅显示预览,完整内容可从对应组件或 Raw 中读取。
旧 obsy-agent-bug-report@2 报告兼容读取。包含 llm-diagnostics@1 时才展示其深度证据。旧报告或当前录制深度中没有 provider request、section、before history、阶段延迟等证据时明确显示 not recorded;transcript 或 effective-context 不会被重建成真实 provider request。
Metrics¶
Metrics 提供 CPU ticks/s、heap/sys、goroutine、FD、GC 和 queue 的快捷图表,以及 metric/label 搜索。LLM/tool counter 和 histogram 可通过各自名称与 label 选择。
Counter 使用相邻样本计算 delta/rate;histogram 平均耗时使用 Δsum / Δcount。首个样本、计数器重置、时间倒序、缺少前值或没有新调用时,不把累计值画成区间值。CPU ticks/s 保留采集端的 tick 单位,不假设系统 tick 频率或显示错误的百分比。
在图表中拖拽选择时间范围,会返回当前 Session 的筛选时间线。点击时间线事件的日期时间,可在指标中定位其前后 30 秒;LLM round 可定位开始与结束范围。
Files 与 Go profile¶
Files 以目录树展示 manifest、env/config、日志、runtime、JSON 和文本。文本分页读取;二进制只显示元数据。保存此文件 只下载明确选中的单个 entry,不会批量解压。
查看器不内置 Go profile 或 runtime trace 分析器。将选中的文件保存到本机后,使用已安装的 Go 工具,例如:
文件名和路径以实际保存位置为准。命令只针对你选中的 profile/trace 文件,不要把整个诊断目录提交到公共分析服务。