🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

工具可靠性雷达 121212165/dsh-plugin-error-radar

DeepSeek Harness
12121216515 天前有提交已提供中文文档扫描:含敏感能力

dsh 插件:工具可靠性雷达,基于工具调用轨迹——错误率、连续失败、p95 延迟(/radar)

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 121212165/dsh-plugin-error-radar
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · dev
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/9/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-plugin-error-radar(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 09:41:09

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    lib/plugin.js:21
    if (!existsSync(dataDir))
  • 读取本地文件
    lib/plugin.js:23
    for (const file of readdirSync(dataDir).filter((name) => /^tool-trace-\d{4}-(0[1-9]|1[0-2])\.jsonl$/.test(name)).sort()) {
  • 读取本地文件
    lib/plugin.js:24
    for (const line of readFileSync(join(dataDir, file), 'utf8').split(/ ? /)) {
  • 读取本地文件
    src/plugin.ts:39
    if (!existsSync(dataDir)) return { records, skipped };
  • 读取本地文件
    src/plugin.ts:40
    for (const file of readdirSync(dataDir).filter((name) => /^tool-trace-\d{4}-(0[1-9]|1[0-2])\.jsonl$/.test(name)).sort()) {
  • 读取本地文件
    src/plugin.ts:41
    for (const line of readFileSync(join(dataDir, file), 'utf8').split(/ ? /)) {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-base@deepseek-ai/schemastery@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 统计工具错误率
  • 识别连续失败
  • 查看p95延迟

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-error-radar 🧩 dsh 插件家族(22 件):总目录 dsh-plugin-family | 明星插件:ide-hub 跨 IDE 统一管理 · task-forge 跨窗口无损交接 · quota 实时用量仪表 EN · 基于 dsh-plugin-tool-trace 数据的工具可靠性雷达:按工具统计错误率、连续失败次数、p95 耗时——调用数不足 3 次时故意保持沉默,绝不把一次偶发当成系统性问题上报(/radar);另外提供一屏式 go/no-go 判定,覆盖最近一段时间窗口(/health --days 3)。· 14 个 node --test 全绿 · 已在本机真实 tool-trace 边车上验证,包括损坏行 skipped 计数路径。 DeepSeek Harness (dsh) 插件:工具可靠性雷达。读 tool-trace 的调用边车,按工具算错误率、连续失败次数、p95/最慢耗时,并对「系统性坏掉」和「只是抖动」分别告警。 适合回答:「我的智能体最近在哪类工具上反复翻车?哪个工具慢得离谱?」——tool-trace 回答「做了什么、慢在哪」,本插件回答「该修哪里」。 同系列:tool-trace(数据源)· session-insights(总量概览)· cache-guard(钱为什么多花)。
展开完整文档(README 剩余 1 节)
dsh-plugin-error-radar

🧩 dsh 插件家族(22 件):总目录 dsh-plugin-family | 明星插件:ide-hub 跨 IDE 统一管理 · task-forge 跨窗口无损交接 · quota 实时用量仪表

EN · 基于 dsh-plugin-tool-trace 数据的工具可靠性雷达:按工具统计错误率、连续失败次数、p95 耗时——调用数不足 3 次时故意保持沉默,绝不把一次偶发当成系统性问题上报(/radar);另外提供一屏式 go/no-go 判定,覆盖最近一段时间窗口(/health --days 3)。· 14 个 node --test 全绿 · 已在本机真实 tool-trace 边车上验证,包括损坏行 skipped 计数路径。

DeepSeek Harness (dsh) 插件:工具可靠性雷达。读 tool-trace 的调用边车,按工具算错误率、连续失败次数、p95/最慢耗时,并对「系统性坏掉」和「只是抖动」分别告警。

适合回答:「我的智能体最近在哪类工具上反复翻车?哪个工具慢得离谱?」——tool-trace 回答「做了什么、慢在哪」,本插件回答「该修哪里」。

同系列:tool-trace(数据源)· session-insights(总量概览)· cache-guard(钱为什么多花)。

用法

- /radar:按错误率降序输出每个工具的 调用数 · 错误率 · 连败 · p95 · 最慢,下方附 ⚠ 告警 段。
- /health [--days 3]:把 tool-trace 的量/时延与雷达的告警合成一屏判定——开头一行就是结论:✓ 没有告警,工具面是干净的,可以开工 / △ 没有连败,但… / ❌ 有系统性故障:X 连续失败 N 次——先修这条,再往别的窗口派活。默认只看近 3 天(--days 1..365 可放宽),窗口里没有记录就明说「窗口外还有 N 条」,不拿月平均冒充今天的健康。

这是「tool-trace + error-radar 合并成 health 命令组」的落点:合并的是命令面,不是采集。采集需要 tools/pre-execute + post-execute 那对中间件按 callId 配对,两个插件各挂一份会把每次调用记两遍,所以写入权继续留在 dsh-plugin-tool-trace(它的 /tools-stats 现在会指向这里)。

工具可靠性雷达(按错误率排序): bash 42 次 · 错误率 19% · 连败 2 · p95 3120ms · 最慢 9012ms web_fetch 11 次 · 错误率 36% · 连败 4 · p95 5400ms · 最慢 8800ms

⚠ 告警:
- web_fetch 错误率 36%(4/11),超过告警线
- web_fetch 连续失败 4 次——像是系统性问题而不是抖动

没有 tool-trace 数据时明确说明,不会输出空表糊人。

判定口径

- 错误率 = 该工具 isError=true 的记录数 / 该工具全部记录数。
- 连败 (worstRun) = 按时间排序后,该工具连续失败的最长串。1 次失败混进 1 次成功即断串——所以它衡量的是「崩成一片」而不是「崩得多」。
- 两类告警各管一件事(同一条记录可能同时触发两条,这是有意的):
- error-rate:调用数 ≥ 3 且错误率 > errorRateAlert;
- streak:连败 ≥ 3。
- p95 用最近秩法(ceil(p/100·n) 索引,钳到数组内),空样本返回 0;非有限/负数耗时记录被排除在时长统计之外,但仍计入调用数与错误率。
- 时长口径继承 tool-trace 的 durationMs(pre/post-execute 配对计时),包含工具自身排队时间。
- /health 的「阻塞」只认连败(streak 告警):连败是「这条路现在走不通」,错误率高但成功穿插其间只是「抖」,不该拦住开工。慢尾按 p95 而不是峰值挑最慢的工具。

配置

| 字段 | 默认 | 说明 |
| enabled | true | |
| dataDir | ~/.dsh/tool-trace | tool-trace 边车目录,本插件只读 |
| errorRateAlert | 20 | 告警线(百分比 1–100) |

只读取 tool-trace-YYYY-MM.jsonl 命名的文件;损坏行跳过并在输出末尾报数(⚠ N 行损坏被跳过)。

安装

三步,实测于 @deepseek-ai/dsh@0.1.7-alpha.1(需 pnpm 在 PATH 上):

① 装进 profile:dsh plugin 把参数原样转发给 pnpm,git 包会自动跑 prepare 构建 lib/
dsh plugin --profile web add github:121212165/dsh-plugin-error-radar

② 把本仓库根目录 cordis.patch.yml 的内容并进 $DSH_HOME/profiles/web/cordis.patch.yml。
该文件默认是 [],所以要么整份替换,要么把 insert 条目并进同一个数组;不要直接追加——
追加会形成两个 YAML 文档,启动即报 failed to parse overlay ... end of the stream or a document separator is expected(本机实测踩过)。

③ 重启 dsh。配置层与 client 半都要重启才生效(客户端按 boot 时算出的内容 rev 下发,硬刷新浏览器没用)。

自检挂载:dsh --profile web --dump-config | grep dsh-plugin-error-radar,应看到该条目。
验证状态

- 14 个 node --test 全绿:雷达纯函数 4(错误率、连败串、p95 边界、双类告警触发与静默)+ 健康判定纯函数 4(窗口裁剪、总量/最慢/阻塞、一屏渲染的四种结论、窗口标签不许说谎)+ 装配层 6(真临时 tool-trace-*.jsonl 上跑 /health 与 /radar:无数据点名目录、干净窗口、连败判定、--days 收窄与放宽、坏参数拒绝、损坏行计数;坏 errorRateAlert 启动即失败点名 error-radar)。
- 本机 live:读真实 tool-trace 边车(含 quota_check 等真实记录)出表;skipped 计数走真实容错解析路径。
- 已知局限:样本极少时(<3 次调用)刻意不告警,避免一次抖动就报「系统性问题」。
预览分享卡片长什么样 ↓121212165/dsh-plugin-error-radar
分享 · DeepSeek Harness Hub
121212165/dsh-plugin-error-radar

dsh 插件:工具可靠性雷达,基于工具调用轨迹——错误率、连续失败、p95 延迟(/radar)

回到顶部