前言¶
DeepSeek Harness (DSH) 是一个基于插件架构的调试工具。在调试智能体或排查大模型调用问题时,开发者往往需要查看 Harness 内部 llm/stream 层的原始数据,包括流式响应的具体块、推理过程、工具调用参数以及会话压缩逻辑。外部抓包工具(如 mitmproxy)通常无法捕获这些内部状态,且需要额外的证书配置。dsh-sseye 插件直接嵌入 Harness,在无需代理或证书的情况下,提供对全链路调用的深度观测能力。
插件介绍¶
jhuanxx44/dsh-sseye 是一个 DeepSeek Harness 插件,定位为“DeepSeek Harness 内部的 LLM 调试控制台”。它通过拦截 Harness 原生的 llm/stream 水位线,捕获每一次 LLM 调用的完整内容(包括消息、系统提示、工具定义、流式响应块、使用量及线路协议),并以类似浏览器 DevTools 的风格展示在 Harness 界面中。该插件由 jhuanxx44 维护,采用 MIT 许可证。
核心功能¶
全量捕获与协议还原¶
插件捕获每次调用的完整 GenerateOptions(系统提示、消息、工具、采样参数)以及流式响应的每一个块。这些数据在捕获过程中保持原始身份、顺序、背压和取消状态。它解析出真实的线路协议(如 openai-completions、anthropic-messages 等),并支持将工具结果还原为独立的 role:"tool" 消息,将推理内容还原为 reasoning_content。
DevTools 风格查看器¶
查看器以折叠手风琴的形式嵌入在 Harness 右侧面板。界面按“回合”分组,显示调用次数、Token 数量和总耗时。每一行步骤展示状态点、序号、内容预览及 TTFT/耗时/用量指标。点击行可展开内联详情,包含提供者/模型信息、缓存命中率条、系统提示、消息、工具名称及响应块(文本/推理/工具调用参数)。
对比与导出¶
支持相邻调用的上下文差异对比,高亮新增消息。提供实时流式视图,在调用运行时动态合并数据。支持按会话或“全部”过滤,并提供 JSON 导出功能(单条调用或打包导出)。
捕获策略与隐私¶
支持运行时调整捕获策略,可按来源(智能体/压缩/会话标题等)和字段(系统/消息/工具等)开关,未捕获的字段如实标记。提供正则脱敏列表,在数据进入缓冲区前对 API 密钥等敏感信息进行隐藏。默认情况下,数据仅存在于内存环形缓冲区,进程退出即销毁,不涉及持久化存储。
安装与启用¶
- 在终端执行安装命令:
dsh plugin --profile web add dsh-sseye
- 安装完成后,重启 DeepSeek Harness。在会话头部会出现 SSEye 按钮。
- 如需卸载:
dsh plugin --profile web remove dsh-sseye
典型用法¶
切换语言¶
默认界面为英文。要切换到中文,需编辑配置文件 ~/.dsh/profiles/<profile>/cordis.patch.yml,在 sseye 插件行下添加配置:
- id: sseye
config:
locale: zh-CN
修改后重启 Harness。
过滤与导出¶
在查看器顶部使用按钮按会话或“全部”筛选。点击导出按钮保存当前的捕获记录。
脱敏敏感数据¶
在脱敏列表中添加正则规则(如 sk-.*),插件会在数据进入内存缓冲区前将其替换为 ***,防止敏感信息泄露。
注意事项¶
- 零持久化:默认情况下,捕获数据仅保存在内存环形缓冲区中,进程关闭后数据丢失。导出需在进程运行期间手动触发。
- 权限隔离:插件通过 Harness 进程运行,API 密钥存储在适配器层,
llm/stream层无法直接接触密钥。 - 无额外配置:无需代理或证书配置即可直接使用。
总结¶
dsh-sseye 解决了在 Harness 内部观测 LLM 调用的痛点,提供了无需额外网络抓包工具的深度调试能力。通过内存缓冲和实时流式展示,开发者可以清晰地定位模型调用、协议细节和智能体逻辑。