dsh-plugin-code-quality:在 DSH `/` 菜单里加上 /simplify 与 /code-review

前言

在 DeepSeek Harness(DSH)里改代码,常见两类需求并不相同:一类是提交前把 diff 收干净,但不改语义;另一类是专门针对当前改动找 correctness 问题,并且希望报告里的每一条都经过独立验证,而不是模型一次性「扫一眼」就列清单。通用聊天里的「帮我 review」往往混在这两种目标里,范围也不固定。

下面介绍社区插件 dsh-plugin-code-quality(维护者 Hope-Phenom,npm 包名 @hope_phenom/dsh-plugin-code-quality)。它在 DSH 的 / 菜单 skills 分组下注册 /simplify、/code-review,以及 /review(与 /code-review 行为相同)。实现方式是把完整指令文档注册为 user-invocable skill,而不是 host command,以便你输入的目标参数原样进入模型上下文。

这是什么

dsh-plugin-code-quality 是一个 DSH 插件:无 client 半部、无 tools、无 HTTP 服务;入口 lib/index.js 仅向 ctx.skills 注册若干 skill。设计思路是对齐主流 code review 工具链里已经收敛的做法,并适配 DSH 的工具、指令文件布局与 subagent 模型。

命令 作用概要 谁可以调用
/simplify [target] 对改动做行为不变的清理:复用已有 helper、减复杂度、减无效工作、把放错层级的改动归位;不是找 bug 你 和 模型
/code-review [level] [--fix] [target] 多角度在 diff 上找真实正确性缺陷,每条候选经独立 verifier,按严重度排序输出 仅你
/review … /code-review 别名 仅你

插件当前版本 0.1.1,许可证 MIT,依赖与 peer 均为空,仅通过宿主传入的 ctx 交互。

核心功能

/simplify:行为不变的 diff 清理

作用范围按顺序解析:你指定的 target → git diff '@{upstream}...HEAD' → main...HEAD(回退 origin/main、master)→ HEAD~1。工作区未提交改动与未跟踪文件会一并纳入,便于 commit 前使用;若无改动则直接说明并结束。

四个独立 reviewer 维度为 Reuse、Simplification、Efficiency、Altitude。只有能给出具体替换方案的发现才会保留(例如应调用的现有 helper、更简单写法、更省资源的替代、应并入的通用机制)。保留项去重后直接应用;若修复会改变预期行为或需 diff 外改动,则跳过并在结果中标记为 skipped。

/code-review:多角度审查 + 独立验证

级别从你消息中的单词读取,无单独参数解析器。默认 medium。

Level 正确性角度数 清理角度数 每个 finder 候选上限 报告上限 验证倾向
low 3 0 4 5 仅保留 CONFIRMED
medium(默认) 5 2 6 8 平衡
high 6 4 8 12 保留 PLAUSIBLE
max 6 4 + sweep 8 20 保留 PLAUSIBLE

六个正确性角度(C1–C6)涵盖逐行 hunk、删除行为审计、跨文件契约、语言/框架陷阱、异步与资源生命周期、错误路径与边界等;级别决定实际运行几个角度。每个候选由独立 verifier 尝试反驳,结论为 CONFIRMED、PLAUSIBLE 或 REFUTED。high 与 max 另有 sweep reviewer 查遗漏。截断报告时,正确性问题优先于清理、层级与风格类发现。

输出一行一条,例如:

src/parser.ts:118 — the retry loop resets `attempts` inside the loop; a persistent 503 retries forever

若无项通过验证,单行说明,不凑数。加 --fix 时在报告后应用通过项;不加则不改文件。

为何用 skill 而不是 ctx.commands

ctx.commands.register() 注册的是 host command,默认不向模型投递消息,需自行合成 user message。ctx.skills.register() 且 userInvocable: true 时,composer 会把你的输入(含 /simplify 等 token)原样发送,并在 pre-step 边界附加 <skill_content> 指令块——与本插件「整份文档即指令」的需求一致。

simplify 注册为 modelInvocable: true, userInvocable: true;code-review 与 review 为 modelInvocable: false, userInvocable: true,仅出现在你的 / 菜单,模型目录中不可自调用。

安装与启用

环境要求:

  • DSH 已 compose @deepseek-ai/dsh-skill 与 @deepseek-ai/dsh-client-ui-skill(标准 preset 通常已包含)。
  • Node.js ≥ 20。

在 PowerShell 中安装(将 <your-profile> 换成你的 profile 名):

dsh plugin --profile <your-profile> add @hope_phenom/dsh-plugin-code-quality

重启 profile(或等待 HMR)后,在 composer 输入 /,skills 分组下应出现 simplify、code-review、review。

本地开发可对 checkout 路径执行:

dsh plugin --profile <your-profile> add F:\path\to\dsh-plugin-code-quality

升级: 再次执行 bare 包名的 add 不会自动升到新版本(caret 范围与 lock 行为)。需显式版本或先移除再添加,例如:

dsh plugin --profile <your-profile> add @hope_phenom/dsh-plugin-code-quality@0.1.1

然后完全重启 profile(已加载包的替换需要新 module generation,HMR 不覆盖已加载 bundle)。镜像滞后时可指定上游 registry:

dsh plugin --profile <your-profile> add @hope_phenom/dsh-plugin-code-quality@0.1.1 --registry=https://registry.npmjs.org

典型用法

/simplify

/simplify                       # 清理相对 upstream 分支以来的全部改动
/simplify src/parser.ts         # 限定单一路径
/simplify 421                   # 审查指定 PR,而非本地 diff

/code-review

/code-review                    # 默认 medium 级别
/code-review high               # 更多角度、更高上限、验证偏 recall
/code-review max --fix          # 最广扫描,报告后自动应用
/code-review high src/parser.ts # 级别 + 路径

/review 与 /code-review 等价,参数写法相同。

适用场景与注意

适合: 已在 DSH 标准 skill 栈上日常写代码、希望在同一套 / 菜单里区分「提交前 simplify」与「仅人工触发的严格 code-review」的开发者。

注意:

  • 插件以当前 DSH 进程权限运行;安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。
  • /code-review 与 /review 不会进入模型 skill 目录,避免 agent 自行发起全量审查;需要模型主动做行为不变整理时,可使用 /simplify 或依赖其 modelInvocable 注册策略。
  • 社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,包发布在 npm @hope_phenom scope。

结尾

dsh-plugin-code-quality 把 /simplify(可人机共用、行为不变清理)和 /code-review / /review(仅用户、多角度 + verifier)接到 DSH skills 机制上,diff 范围与级别在 README 中有明确规则。若要浏览分类信息或跳转源码,可使用目录页与 GitHub:

  • 目录页:https://www.skillhub.cn/plugins/Hope-Phenom/dsh-plugin-code-quality
  • GitHub:https://github.com/Hope-Phenom/dsh-plugin-code-quality
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜