前言¶
DeepSeek Harness (DSH) 采用插件化架构,通过扩展点来增强功能。在开发智能体或调试工作流时,开发者通常需要关注工具调用的耗时分布、错误类型以及整体的成功率。
dsh-local-diagnostics 是一个专为 DSH 设计的本地内存诊断插件。它通过 Harness 已公开的 Cordis 扩展点进行观察,无需修改 Agent Loop 即可收集运行状态。相比需要采集大量提示词和中间状态的通用日志方案,该插件专注于性能指标和结构化错误码,且严格遵循隐私优先原则。
插件定位¶
- 名称:dsh-local-diagnostics
- 维护者:fengyufengzi
- 类别:admin-security
- 许可证:MIT
- 核心价值:隐私优先的内存诊断,用于观测 DeepSeek Harness 的运行时状态。
核心功能¶
插件通过以下扩展点收集数据,不写入磁盘,也不发送网络请求:
- 性能测量:在
tools/execute阶段测量 dispatch 耗时,并始终调用next(),确保诊断过程不影响主流程执行。 - 状态统计:在
tools/result阶段统计最终的成功与失败情况,以及结构化错误码。 - 事件监控:在
session/event阶段仅统计事件类型。 - 错误分类:在
agent/error阶段仅统计错误类名。 - 报告生成:通过
diagnostics_report接口返回当前 Session 的脱敏聚合报告。
隐私保证¶
插件在设计上排除了敏感信息的采集,确保调试过程不泄露数据:
- 不采集:提示词、消息、工具参数、工具输出、错误消息、Session ID、文件路径或凭证。
环境与安装¶
安装前请确保环境满足以下要求:
- Node.js
^22.19.0 || >=24.0.0 - pnpm
11.7.0 - DeepSeek Harness
0.1.0-rc.6系列
安装步骤如下:
- 编译并安装插件到 DSH profile:
corepack pnpm run build
npx @deepseek-ai/dsh plugin --profile web add .
- 配置插件(在 Harness 配置文件中添加):
- insert:
- id: local-diagnostics
name: dsh-local-diagnostics
config:
maxDistinctValues: 128
典型用法¶
- 触发报告:在对话中要求 Agent 调用
diagnostics_report,即可在控制台或日志中查看脱敏后的聚合诊断信息。 - 移除插件:如需卸载,执行以下命令:
npx @deepseek-ai/dsh plugin --profile web remove dsh-local-diagnostics
注意事项¶
- 数据生命周期:统计数据仅覆盖插件本次加载之后的进程生命周期。重启或插件热重载都会清空统计。
- 测量范围:
timing指标仅包含 dispatch 阶段耗时,不包含审批和结果渲染阶段。 - 当前限制:第一版没有 UI 界面、文件导出功能、OpenTelemetry 集成或跨进程聚合能力。
- API 稳定性:Harness 尚处于开发者预览阶段,插件 API 可能发生破坏性变化,建议关注源码更新。
总结¶
dsh-local-diagnostics 提供了一种轻量级、无网络交互的调试手段,适合在本地开发环境中快速排查工具调用性能和错误类型。开发者可以在不泄露敏感业务数据的前提下,获取结构化的运行时反馈。更多详情可参考 GitHub 仓库。