dsh-error-digest

DSH PLUGIN安全与权限

仓库 railgun20001/dsh-error-digest · npm dsh-error-digest

安全与权限 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

DSH 错误汇总插件:折叠工具失败、回合失败与模型重试,跨会话合并后按频次排序,并可一键分析或防范。

一句话选型结论

按资料字段整理

dsh-error-digest 是安全与权限类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类安全与权限 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-11-11 创建于 2026-11-11
README 8.1 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-error-digest
  1. 1
    确认版本与运行环境

    Node.js 要求 >=20;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-error-digest可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-error-digest:为 DeepSeek Harness 汇总对话错误的 DSH plugin

  • 折叠工具、回合与重试错误
  • 跨会话合并并按频次排序
  • 一键分析根因与影响
  • 一键生成防范方案
  • 忽略可恢复且不影响统计

上游标签

cordisdeepseek-harnessdeepseek-harness-plugindsh-pluginerror-handlingobservabilitysession-log

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-11-12): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✕ 未通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 结论说明 静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。
  • 风险计数 严重 0 / 高 0

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在安全与权限场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-error-digest当前 L4 · 沙盒安装通过 低风险 0 未标注 有
dsh-infinite-gen-4 未做沙盒验证 未标注 1,611 未标注 无
cc-safety-net 未做沙盒验证 未标注 1,591 未标注 无
dsh-wallpaper-engine L5 · 运行验证通过 低风险 1,018 0.2.0-rc.2 等 10 个 有
api-relay-audit L5 · 运行验证通过 低风险 875 0.2.0-rc.2 等 10 个 有
hol-guard L4 · 沙盒安装通过 不在扫描口径 828 未标注 有

仓库档案

安全与权限
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方railgun20001仓库 dsh-error-digest · 默认分支 master
分类安全与权限admin-security
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-11-11 · 2026-11-11最后推送 2026-11-11
本站收录2026-11-11首次进入本站目录的时间

README 全文

8.1 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-error-digest · 错误汇总

把 DSH 对话日志里的出错事实收集起来,跨会话合并、按出现频次排序,并在每条错误后面给出
三个动作:

按钮 做什么
分析 开启一个新对话,把这条错误的类别 / 来源 / 错误码 / 出现次数 / 最近时间 / 摘要填进输入框,任务是「查根因 + 影响范围 + 修复或规避步骤」
防范 开启一个新对话,任务是「判断该在哪一层拦住它(AGENTS.md 规则 / skill 说明 / 工具校验 / 插件代码 / 文档)+ 最小改动落地 + 后期自查清单」,目标是以后不再发生
忽略 不再在本面板显示这条错误。只影响本机、只影响显示,不删日志、不影响统计口径之外的任何东西

「分析 / 防范」走的都是宿主自己的「新建对话」通路(uiWorkspace.startSession),提示词落在
新对话的草稿输入框里:发送这一步仍由用户确认,不会替你按下回车。

打开方式:左侧栏底部的面板图标「错误汇总」。

安装

npm install dsh-error-digest
  • 包内 dsh 字段声明了插件两半:bundle.patch(宿主半,向投影写入错误账本)与 client(侧栏面板的客户端半);
  • exports 另外暴露 ./client(构建好的 lib/client.js)、./locale/*.json、./icon 与 ./package.json,均无需二次构建;
  • 仓库:

忽略

  • 忽略是本机偏好:存在 localStorage 的 dsh-error-digest/ignored-v1,按签名记账,
    连着摘要一起存(会话归档、错误消失后,「已忽略」里仍认得出是哪条)。
  • 一定可恢复:面板顶部出现「已忽略 N 条」,点开就是列表,每条带「恢复」,
    另有「全部恢复」。忽略后会自动展开一次,避免「点掉了找不回来」的错觉。
  • 上限 200 条,超出时丢弃最早忽略的;脏数据(手改过的 JSON、旧版本残留)逐条校验后丢弃。
  • 忽略只改「显示」:错误的统计仍然由投影照常累加,恢复后频次是完整的。

收集哪些错误

会话事件 含义 归类
tool/result + data.error 或 message.isError 工具执行失败(命令非零退出、编辑找不到唯一匹配、参数校验拒绝……) 工具失败
turn/end 且 reason.kind === 'error' 整轮失败(重试耗尽后模型请求仍失败) 回合失败
llm/retry 一次模型请求失败并触发重试(限流 / 5xx / 超时) 模型重试

为什么「合并」和「排序」

同一条错误在一个会话里常常重复几十次。每条错误写入时就压成一个签名
(类别 + 工具名/提供方 + 错误码 + 归一化后的首段摘要),同签名累加次数;归一化会抹掉
UUID、长十六进制、绝对路径、行列号、耗时与字节数,但保留 HTTP 状态码、退出码这类
真正的区分信息。界面上再按签名做一次跨会话合并,于是「同一个错误在 20 个会话里各出现
3 次」显示为一行 ×60。

实现

  • 宿主半(index.js + src/digest-fold.js):注册 dialogErrors 会话投影,
    由框架驱动折叠所有会话(含未打开的冷会话),并随会话列表 RPC 自动到达客户端。
    附一个只读诊断路由 POST /dsh-error-digest/debug(ping / debug),回答
    「投影注册没有、每个会话折叠出了什么」。
  • 客户端半(src/digest-model.js + src/digest-ui.js + src/client-main.js
    → 构建成 lib/client.js):订阅会话列表快照,只做合并、排序、渲染与按钮动作。
    不 retain 任何会话,因此不会激活别人的历史。

按钮是怎么「开启新对话」的

  1. layout.selectPanel(null) 先切回对话主面板——草稿初始化要求 composer 已挂载,
    否则宿主内部的 beforeOpen 会抛错并静默中止整次打开;
  2. 下一帧调 uiWorkspace.startSession(undefined, { prompt, whenDraftExists: 'append' }),
    与官方「新建对话」完全同一条通路,且不覆盖用户已有草稿;
  3. 300ms 后用「主视图是否变成空白会话」反查结果;没生效就再试一次,
    仍不行则把提示词复制到剪贴板并在控制台留一份——绝不出现「点了没反应」。

uiWorkspace / layout 都声明为硬依赖(export const inject):它们必须由
客户端 ctx 注入,只靠 ctx.get() 取服务会出现「点了没反应」。

按钮长什么样

三个动作是同一套控件:26px 高、7px 圆角、图标(13px 线性图标,currentColor)+ 文案,
靠层级而不是颜色噪声区分主次:

动作 视觉
分析(主) 品牌色描边 + 品牌色淡底(color-mix 混 12% 透明)+ 品牌色文字
防范(次) 中性描边 + 主文字色,hover 填 bg-layer-2
忽略(安静) 无描边 + 次要文字色,hover 才提亮

颜色全部来自 --dsw-alias-* 令牌,没有一个字面色值——所以明暗主题、跟随系统时都对;
color-mix 前都留了一条纯令牌的降级声明,旧内核下只是少了淡底,不会失色。
计数用错误色淡底药丸、类别标签按 tool/turn/model 用对应状态色淡底,
前三名的序号加深为主文字色,视线自然落在高频项上。

排障入口(控制台):

__DSH_ERROR_DIGEST__.snapshot()            // 当前合并结果(与面板同一份逻辑)
__DSH_ERROR_DIGEST__.lastAction()          // 最近一次按钮动作:{ mode, opened, reason, retries }
__DSH_ERROR_DIGEST__.canOpenConversation() // 新建对话通路是否可见
__DSH_ERROR_DIGEST__.trigger('analyze')    // 直接触发第一条的分析动作
__DSH_ERROR_DIGEST__.ignoredSigs()         // 已忽略的签名
__DSH_ERROR_DIGEST__.restoreAllIgnored()   // 清空忽略表

宿主侧只读诊断:POST /dsh-error-digest/debug,回答「投影键注册没有、
每个在挂会话折叠出了什么」。注册失败时界面只会「一条错误都没有」,
这个入口是唯一能区分「没错误」与「没工作」的证据。

状态的形状与上限:

{ entries: [{ sig, kind, key, code, detail, count, firstTime, lastTime, lastSeq }],
calls: { [callId]: toolName } }        // 在途工具调用,仅用于给结果认出工具名
  • 每个会话最多 60 条不同签名(超出时先砍次数最少的);
  • 在途调用表最多 128 项;
  • 摘要最长 240 字符。

开发

npm run check   # 校验 lib/client.js 与源码一致 + 跑全部单测
npm run build   # 只重新生成 lib/client.js

lib/client.js 是生成产物(build/bundle.mjs 把三个源文件内联进
window.__ModuleLoader__ 工厂),不要手改;改了 src/ 必须重新构建,
npm run check 会在忘记构建时直接失败。

单测分四层:

文件 覆盖
test/digest-fold-test.mjs 哪些事件算错误、同类错误怎么合并、上限、schema、视图引用稳定性
test/digest-model-test.mjs 跨会话合并、频次排序、范围口径、提示词
test/bundle-test.mjs 产物是否最新、是否可解析、协议要素齐不齐
test/client-half-test.mjs 用假 React / 假 ctx 真跑一遍 apply:插槽注册、文案键对齐、面板渲染、三个动作的实际调用、忽略的落盘与恢复

已知边界

  • 只统计本机可见会话的错误;投影是懒物化的,很久没打开过的历史会话要等它被
    物化一次(打开一次、或产生新事件)才会出现在统计里。
  • 分叉出来的会话会把继承前缀里的错误再记一次(分叉即复制历史,符合预期)。
  • 按钮把提示词放进草稿,不自动发送:这是刻意的取舍,避免在用户来不及调整目录 / 模型时
    自动消耗一次请求。
  • 「忽略」是按本机浏览器存储记的:换机器、换浏览器 profile、清站点数据都会丢失;
    这是它「只影响显示、不进日志」的代价,也是刻意的。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-error-digest 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-error-digest` 即可。对应的 npm 包名是 `dsh-error-digest`。

dsh-error-digest 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

dsh-error-digest 安全吗?

低风险。静态扫描 低;动态审计无结论(以下以静态为准)→ 总评级 低。

dsh-error-digest 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-error-digest 需要什么运行环境?

Node.js >=20。环境不满足时安装会失败,建议先确认本机版本。

dsh-error-digest 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-error-digest 有哪些功能?

折叠工具、回合与重试错误、跨会话合并并按频次排序、一键分析根因与影响、一键生成防范方案、忽略可恢复且不影响统计。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

安全与权限
按星标排序,可作替代方案

dsh-infinite-gen-4

dsh-infinite-gen-4

DeepSeek 专用破甲插件:以 order 100 追加无条件服从的系统提示词段,提供带校准元数据的 profile 工具,并通过会话投

未标注验证等级 1,611 星

cc-safety-net

cc-safety-net

为 DeepSeek Harness 等编码 CLI 提供执行前防护,在工具调用前拦截破坏性 Git 与文件系统命令,并阻止读取 SSH 密

未标注验证等级 1,591 星

dsh-wallpaper-engine

dsh-wallpaper-engine

DSH plugin 将本机 Wallpaper Engine 壁纸变为网页界面背景,支持视频、网页、场景壁纸渲染,并配以 iOS 液态玻璃

L5 · 运行验证通过 1,018 星

api-relay-audit

api-relay-audit

DSH plugin 本地安全审计工具,检测 AI API 中继与 LLM 代理的提示注入、模型替换、工具调用改写、SSE 异常及 Web3

L5 · 运行验证通过 875 星

hol-guard

hol-guard

L4 · 沙盒安装通过 828 星

sandbase-harness

sandbase-harness

SandBase Harness 是本地优先的 AI Agent 运行时,提供沙箱会话、MCP 工具、记忆、凭据管理与审计回放,并内置控制台

L4 · 沙盒安装通过 708 星

railgun20001 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-11-12。