dsh-verdict(效果评测):用可重复用例验证 DSH 配置变更是否有效

前言

在 DeepSeek Harness(DSH)里改规则、技能、模型或插件,往往凭主观感受判断「有没有变好」。手工跑几次对话很难复现,也缺少变更前后的对照。社区插件 dsh-verdict(中文名 效果评测,命令 verdict)面向这类问题:登记可重复的评测用例、执行校验、在变更前后做 diff,用证据回答「这次改动是否真的有帮助」。

下面介绍插件的定位、能力与安装用法。事实以 npm 包 dsh-verdict 的说明文档为准;原 GitHub 独立仓库 hj01857655/dsh-verdict 已无法访问,SkillHub 目录页标注该插件已归档并曾合并进 dsh-plugins monorepo,而该包已于 2026-10-20 起从 monorepo 工作区移除,安装与发布仍以 npm 为准。

这是什么

dsh-verdict 由维护者 hj01857655 发布,分类属于 DSH 工作流 类插件。一句话定位:Measure whether a change to your dsh setup actually helped — register repeatable cases, run them, and diff the results before and after you change rules, skills, model settings, or plugins.

在 DSH「一切皆插件」的生态里,社区目录站点 SkillHub 提供索引与简介,与 DeepSeek / 幻方无官方从属关系;当前可安装的制品主要来自 npm(许可证 MIT,npm 上最新版本为 0.6.1,SkillHub 页曾标注 v0.5.1,以你实际安装的版本为准)。

核心功能

以下能力均来自 npm 包 README 的说明,且标注为已实现:

  1. 规则捕获与持久化:通过 learn 流程捕获自然语言规则,写入 durable store(项目内 .verdict/ledger.json,原子写入)。
  2. Guard 编译与校验:将可执行的规则编译为当前平台可用的 shell 检查;仅当存在可执行 check 时才 promote 到 AGENTS.md(带 <!-- verdict:<id> --> 标记)。
  3. 按需与定时复验:check 汇总 passed / violated / broken;常驻 host 上还可每六小时自动复验。
  4. 变更前后对比:verdict diff 系列命令在 before / after 快照之间对比,回答改动是否改善。
  5. 会话与技能蒸馏:会话追加日志(session); repeated successes 可蒸馏为 skill 候选(skills),设置页支持写入(POST /api/verdict.skills.write)。
  6. 设置页 Web 面板:Host 注册 GET /api/verdict.panel;客户端在 Settings 中注册 Verdict 页,无 web 客户端的 host 会跳过 UI 部分。
  7. 独立 CLI:不启动 dsh 也可运行 verdict 子命令,便于本地核对与 CI 集成。

规则引擎对若干句式有明确支持(文件是否存在、禁止某文件、禁止根目录 glob、要求文件内容包含某字符串等);无法在当前平台忠实表达的句子会保持为 candidate,不会生成近似命令。

违反与「检查无法运行」分开处理:exitCode 为 1 仅表示真实 violation;guard 无法执行时记为 broken,不会单独把流水线标红。同一规则若持续失败,在三次不同 violation episode 后会降为 ineffective(不是三次运行计数)。

安装与启用

推荐从 npm 安装(tarball 内含预构建的 lib/)。官方安装命令如下:

dsh plugin add dsh-verdict --profile web

需要锁定版本时:

dsh plugin add dsh-verdict@0.5.1 --profile web

本地开发可使用 link(路径换成你的包目录):

dsh plugin add link:/path/to/dsh-verdict --profile web

插件自带 cordis.patch.yml,安装后由 profile 自动注册,无需手工改配置。不要指望直接从 GitHub 源码 dsh plugin add github:... 安装:lib/ 在源码中 gitignore,且 dsh 禁止安装期构建脚本;应使用 npm 或 link:。

安装前请在 npm 或 tarball 中查看 LICENSE(MIT)与包内容;插件在 当前 dsh 进程权限 下运行,guard 会执行 shell 命令,安装前应理解其行为范围。

典型用法

在 DSH 宿主内调用服务

宿主加载插件后,可通过 ctx.verdict 学习规则并检查:

ctx.verdict.learn('never commit the file secrets.env')
// 捕获规则、编译 guard、写入 AGENTS.md,并可按需复验

ctx.verdict.check()
// -> { passed, violated, broken, exitCode }

CLI:日常操作与 CI

不启动 dsh 时,可使用同名 CLI(节选 npm README 示例):

verdict learn "never commit the file .env"
verdict check
verdict list
verdict recall "env"
verdict session --intent "verify a change" --step "run tests" --step "commit"
verdict skills --write
verdict panel
verdict diff before ; verdict diff after ; verdict diff
verdict doctor
verdict inventory --audit

其中 verdict check 适合 CI:真实 violation 时退出码非零;仅 guard 无法运行时退出码仍为 0。评估某次 DSH 配置变更时,可先打 before 快照、改配置、打 after 快照,再执行 verdict diff 查看对比结果。

verdict doctor 用于静态检查清单、构建产物、patch id、peer 依赖位置、lifecycle scripts 等是否符合 dsh 插件规则。

适用场景与注意

适合谁

  • 经常调整 DSH 规则、技能、模型或插件,需要可重复证据的团队或个人。
  • 希望在 CI 或脚本里固定跑 guard,避免「感觉变好了」但无对照的情况。
  • 使用带 Web Settings 的 dsh 配置,需要在面板里查看规则状态与 before/after 对比。

注意事项

  1. 插件以 当前 dsh 进程权限 运行,guard 会读写项目文件并执行 shell;安装前请阅读源码或 npm 包内容,并确认 MIT 许可证是否满足你的合规要求。
  2. 独立仓库 https://github.com/hj01857655/dsh-verdict 已不可用;源码历史曾进入 monorepo,但 monorepo 现仅保留其他包,请以 npm 包 dsh-verdict 为安装来源。
  3. GitHub 直装不可行;开发调试请用 link: 或本地 npm ci && npm run build 后再 link。
  4. 面板与 API(如 /api/verdict.panel)依赖 host 的 web 连接;纯 CLI 环境仍可完成 learn / check / diff 等核心流程。

结尾

dsh-verdict 把「配置变更是否有效」从主观感受拉回到可重复用例与快照 diff:登记规则、编译 guard、复验,并在变更前后对比结果。若你在 SkillHub 或 GitHub 上看到旧链接,以 npm 安装命令与版本为准。

羽毛球分组比赛记分
小程序二维码

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

小夜