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

收尾哨兵 566001/dsh-wrapup-guard

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

强制检查修复循环,连续三轮干净才算完工

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 566001/dsh-wrapup-guard
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 21 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:85
    if (existsSync(pkgPath)) {
  • 读取本地文件
    lib/index.js:88
    pkg = JSON.parse(readFileSync(pkgPath, 'utf8'))
  • 读取本地文件
    lib/index.js:105
    if (existsSync(join(cwd, rel))) {
  • 执行外部命令固定命令
    lib/index.js:147
    spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], { windowsHide: true })
  • 执行外部命令来自配置/变量
    lib/index.js:169
    child = spawn(
  • 读取本地文件
    lib/index.js:306
    const raw = readFileSync(statePath(sessionId), 'utf8')
  • 写入本地文件
    lib/index.js:319
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    lib/index.js:321
    writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n', 'utf8')
  • 写入本地文件
    lib/index.js:322
    renameSync(tmp, file)
  • 发起网络请求
    client/client.js:134
    const res = await fetch(ROUTE, { headers: { accept: 'application/json' }, cache: 'no-store' })
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-wrapup-guard · 收尾哨兵 EN — 一个 DeepSeek Harness 插件,把「任务做完了」变成一道关卡:它强制走 检查 → 修复 → 再检查 的循环,自动跑命令类检查,只要哪一轮还有没修好的问题就拦下,只有连续三次全面检查都干净才判定任务完成 —— 然后通知用户。 专门用来拦住「差不多得了」式的交差。 一个 DeepSeek Harness 插件:在任务收尾时强制「检查 → 修复 → 再检查」的循环,直到连续三次全面检查都没有发现问题,才判定收尾完成并通知用户。 它的存在意义只有一个:拦住「差不多可以了」。 它解决什么问题 AI 干完活常说「改好了」,但没跑测试、没看有没有引入回归、没核对文档。 这个插件把「收尾」变成一个有门槛的动作: 全面检查 → 发现问题 → 修复 → 再全面检查 → … ↑__________________________| 直到连续 3 轮零问题 → 通知用户「收尾完成」 只要有未修复的问题就必然被打回;哪怕这轮只是修了个小 bug,也不算干净 (计数归零)。这样才不会被「边查边修、修完就说好了」糊弄过去。
展开完整文档(README 剩余 1 节)
dsh-wrapup-guard · 收尾哨兵

EN — 一个 DeepSeek Harness 插件,把「任务做完了」变成一道关卡:它强制走 检查 → 修复 → 再检查 的循环,自动跑命令类检查,只要哪一轮还有没修好的问题就拦下,只有连续三次全面检查都干净才判定任务完成 —— 然后通知用户。
专门用来拦住「差不多得了」式的交差。

一个 DeepSeek Harness 插件:在任务收尾时强制「检查 → 修复 → 再检查」的循环,直到连续三次全面检查都没有发现问题,才判定收尾完成并通知用户。

它的存在意义只有一个:拦住「差不多可以了」。

它解决什么问题

AI 干完活常说「改好了」,但没跑测试、没看有没有引入回归、没核对文档。
这个插件把「收尾」变成一个有门槛的动作:

全面检查 → 发现问题 → 修复 → 再全面检查 → …
↑__________________________|
直到连续 3 轮零问题 → 通知用户「收尾完成」

只要有未修复的问题就必然被打回;哪怕这轮只是修了个小 bug,也不算干净 (计数归零)。这样才不会被「边查边修、修完就说好了」糊弄过去。

分工

| 谁 | 负责什么 |
| 插件 | 轮次状态机、连续干净计数、自动跑命令类检查(测试 / lint / audit)、判定放行、通知用户 |
| AI | 代码审查、构建 / 运行验证、一致性检查,以及真正的修复动作 |

插件是纯 JS,它没法「理解」代码审查发现的问题并动手修 —— 那是 AI 的活。
插件做的是纪律:计数、拦截、放行、报告。

用法

AI 在判断任务做完时调用 wrapup_check(也会在系统提示里被提醒这么做):

| action | 作用 |
| start | 开始一次收尾自检,重置计数。会顺带探测项目里可自动运行的检查命令并告诉你。 |
| check | 插件自动跑命令类检查,把原始输出抓回来给你看。 |
| report | 汇报本轮全面检查的结论。必须带 problems 数组(空数组才表示干净)。 |
| status | 看当前轮次、连续干净计数、各轮摘要。 |
| abort | 放弃本次收尾。 |

report 的参数:

- problems:本轮发现的问题列表,每项 { kind, where, what, fixed }。
有 fixed !== true 的项就会被立刻打回;有修复动作的轮次不计入「连续干净」。
- checks:本轮你手动做过的检查类别(review / build / consistency)。
缺项时插件会提醒你还有哪类没做。
- summary:本轮小结(会出现在最终报告里)。

自动探测哪些命令

在项目根目录按顺序找:

1. package.json 的 scripts.test / scripts.lint / scripts.typecheck / scripts.check
2. tools/audit.js、tools/check.js、tools/selftest.mjs

探测不到就返回「没有可自动运行的检查」——这是合法结果,不是错误,意味着命令类检查要靠 AI 手动完成。

为什么 check 和 selftest.mjs 也在白名单里:本插件自己的仓库用的就是
npm run check + tools/selftest.mjs。旧白名单只认 test/lint/typecheck,
结果它连自己都检查不了,每次自检都报「没有可自动运行的检查」。
这两个名字同样是约定俗成的检查名,纳入白名单不是「猜脚本内容」。

仍然不做的是:扫描 scripts 里所有 key 全跑一遍。check 已经是最宽的安全边界,再往外扩就可能跑到构建、发布之类有副作用的脚本。

Windows 上怎么跑这些命令

npm 在 Windows 上只是 npm.cmd 批处理垫片,没有可执行文件,所以:

- 直接 execFile('npm', …) 会以 ENOENT 失败;
- .cmd 又因为 Node 24 的 CVE-2024-27980 补丁禁止带参数直跑(EINVAL)。

因此 Windows 下统一交给 cmd.exe /d /s /c 解析,并只给确实需要的 token 加引号(每个 token 都套引号反而会让 cmd 把 ""npm" "run"" 当成一个整体命令名)。非 Windows 平台走原来的 spawn + 裸参数。

超时必须杀整棵进程树:npm → cmd.exe → node 是一条链,child.kill() 只放倒第一环,孙进程会继续持有 stdout 管道,'close' 要等它自己结束才触发—— 超时就形同虚设(实测 2 秒超时拖到 60 秒才返回)。所以超时走 taskkill /T /F,并额外挂一个 5 秒兜底定时器,保证一定会收尾。

通知

达到「连续 3 轮零问题」时:

- 宿主端写一份完成记录,并通过 /dsh-wrapup-guard/status 暴露给浏览器端;
- 浏览器端轮询这个路由,右下角弹出完成卡片(含汇总:共几轮、修了几个问题、完整报告),12 秒后自动收成小徽章,点开可再看;
- 工具返回值里同时带完整报告,AI 会把它转述给用户。

安装

// profiles/<profile>/package.json
{
"dependencies": {
"dsh-wrapup-guard": "^0.1.0"
},
"dsh": {
"profile": {
"bundles": ["…", "dsh-wrapup-guard"]
}
}
}

本地开发时依赖可写 file:/absolute/path/to/dsh-wrapup-guard;从 npm 安装则直接写版本号。

然后在该 profile 目录用 DSH 自带的 pnpm 安装:

node <DSH>/resources/runtime/pnpm/bin/pnpm.cjs install --no-frozen-lockfile

file: 依赖会被复制进 profile 的 node_modules,所以改了源码之后要重跑 install 才能在 DSH 里生效。

改完需要重启 DSH(插件行的加载在启动时完成)。

自检

node tools/selftest.mjs # 状态机 30 项断言(不打桩 DSH)
node tools/check-commands.mjs <项目路径> # 验证自动探测 + 真实跑命令

设计取舍

- 不 import 任何 @deepseek-ai/*:profile 安装的插件从自己的目录解析模块, harness 包在那里不可达。全部走 ctx 和 node 内置模块。
- 状态落盘到 ~/.dsh/wrapup-guard/<sessionId>.json:收尾循环会跨很多轮工具调用,DSH 中途重启也不该把计数丢掉 —— 否则 AI 会误以为「三轮干净」已达成。
- 每轮都必须重新做全面检查,而不是只看刚改的地方:这正是「发现 → 解决 → 检查 → 发现」循环的价值所在。
- 状态机对「漏报」没有任何自动化防御(AI 撒谎插件管不了),所以系统提示里明确写了诚实要求,且每轮会核对 AI 声明的检查类别是否齐全。

License

MIT
预览分享卡片长什么样 ↓566001/dsh-wrapup-guard
分享 · DeepSeek Harness Hub
566001/dsh-wrapup-guard

强制检查修复循环,连续三轮干净才算完工

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部