前言¶
DeepSeek Harness (DSH) 插件体系强调「一切皆插件」。在开发智能体时,tool-trace 插件能记录每次调用的数据与耗时,但面对成百上千次调用,如何快速定位是「抖动」还是「系统性故障」?dsh-plugin-error-radar 旨在解决这个问题。它读取 tool-trace 的边车数据,按工具维度计算错误率、连败和 p95 延迟,并提供一屏化的健康判定。
核心功能¶
该插件主要包含以下能力:
- 数据读取:读取
tool-trace边车目录(默认~/.dsh/tool-trace)中的数据。 - 指标计算:计算每个工具的错误率、连续失败次数(连败)以及 p95/最慢耗时。
- 静默机制:对样本数小于 3 的调用静默,避免将一次抖动误报为系统性问题。
- 命令行工具:提供
/radar和/health两个命令,分别用于雷达扫描和健康判定。
安装与配置¶
安装过程需要手动合并配置文件。
- 安装插件:
使用官方安装命令将插件加入当前 profile:
dsh plugin --profile web add github:121212165/dsh-plugin-error-radar
-
合并配置文件:
安装后,需要手动将仓库根目录的cordis.patch.yml内容合并进$DSH_HOME/profiles/web/cordis.patch.yml。默认该文件为空数组,建议整份替换或插入同一数组,不要直接追加,否则可能导致 YAML 解析错误。 -
重启服务:
配置层与客户端都需要重启才能生效。
使用方式¶
插件提供了两个主要命令,用于查看工具的健康状态。
/radar¶
按错误率降序输出每个工具的统计信息。输出内容包括:调用数、错误率、连败次数、p95 延迟、最慢耗时,以及下方的告警段。
/health [--days 3]¶
将工具的调用量、时延与雷达告警合成一屏判定。
* 默认窗口:默认只看近 3 天。
* 参数调整:使用 --days 参数调整统计窗口(范围 1-365)。
* 判定结论:
* ✓:没有告警,工具面是干净的。
* △:没有连败,但有其他异常。
* ❌:有系统性故障(如连败),建议先修复。
配置项¶
| 字段 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
是否启用插件 |
dataDir |
~/.dsh/tool-trace |
tool-trace 边车目录(只读) |
errorRateAlert |
20 |
错误率告警阈值(百分比 1-100) |
已知局限¶
- 样本限制:样本极少时(< 3 次调用)刻意不告警。
- 写入权:本插件只读取
tool-trace数据,写入权保留在tool-trace插件。 - 数据容错:损坏的行会被跳过并在输出末尾报数。