dsh-coding-discipline: Imposing "Verify First, Small Changes, Evidence-Based" Work Constraints on DSH Coding Tasks

前言

在 DeepSeek Harness(dsh)里让智能体改代码,常见问题是:还没读清任务和测试就动手、 diff 里夹带无关重构、为了过关改测或猜隐藏用例,最后报告也说不清根因和验证命令。社区插件 dsh-coding-discipline(维护者 JinBeiCN,分类:工作流)不增加新工具、也不改权限,而是用 Coding 预设 persona 和可加载的 coding-discipline skill,把「先复现再改、最小改动、跑仓库真实验证、用证据收尾」写成同一套契约。下面介绍它是什么、怎么装、怎么用,以及 README 里对行为与 benchmark 的说明。

这是什么

dsh-coding-discipline 是面向 DeepSeek Harness 的编码纪律增强包,当前版本 1.0.0(MIT 许可证)。插件由两块协同工作:

  1. Coding agent preset(id: coding)——与 shipped 的 standard 预设使用相同工具列表,但 persona 强调 verify-first edits、minimal diffs、real test runs、不做 test gaming、仅按 spec 验证、evidence-based reports;可随时切回 baseline,因为无新工具、无权限变化。
  2. 内嵌 coding-discipline skill——预设背后完整流程,在 host 层注册,profile 内任意 agent 可按需从 skill 目录发现加载;同名 project/user skill 仍按 rank 优先。

简介原文:Coding agent preset + embedded coding-discipline skill for DeepSeek Harness: verify-first edits, minimal diffs, real test runs, evidence-based reports.

目录页:https://www.skillhub.cn/plugins/JinBeiCN/dsh-coding-discipline
源码与文档:https://github.com/JinBeiCN/dsh-coding-discipline

契约覆盖哪些行为

persona 与 skill 两层表述同一规则,要点如下:

  • 改代码前先读任务、验收标准、测试与相关代码;先复现失败,并把根因写成 file:line。
  • 做最小改动,保持公开接口,不做无关重构或大面积格式化。
  • 不得编辑、删除、弱化、跳过或 xfail 测试,不得硬编码期望值。
  • 使用 API、import、参数前,须在仓库或已安装依赖中有据可查。
  • 最后一次编辑后运行仓库规定的真实验证命令,不通过则迭代直到通过。
  • 只依据仓库内 spec/tests/code 验证;不猜测隐藏测试、grader 或 benchmark;不读父/兄弟目录或 git history 找提示。
  • 验收条款较多(约 15 条以上)时,维护 clause → implementation → verification 清单;性能/并发类工作测一次证据即可,不必反复压测循环。
  • 结束时给出证据:改动文件、根因、带观测结果的精确命令、未验证部分与风险。

核心功能(已核实)

能力 说明
Coding 预设 与 standard 同工具集,强化编码纪律 persona
coding-discipline skill 7,600 字符正文(含 frontmatter 共 7,923),低于 standard 预设 8,000 字符 skill 预算;仅在会话加载 skill 时计费
Persona 体量 约 325 词,仅在选择 Coding 预设的会话中按请求计费
插件形态 Cordis 插件:index.js 导出 name、inject、apply;cordis.patch.yml 挂载 host 行并注册 Coding 预设;无 build、无运行时依赖

README 中的 Measured behaviour:在自研 16 任务 coding benchmark 上,对未注入 baseline 与增强版各 18 次隔离运行(deepseek-flash,reasoningEffort=max), solved rate 均为 15/16;增强侧 18/18 观察到注入指令且加载 skill,无 run 篡改测试或读工作目录外路径;token 与 wall-clock 差异无统计显著性。作者结论:这是 guardrail 而非能力 booster——改变做法与报告方式,对较弱模型、较低 reasoning effort、长 spec 或重 review 交付更有价值;在已有 benchmark 上未让已饱和模型产出更多正确代码。

安装与启用

环境要求:dsh >=0.2.1-rc.2,Node.js >=18。Web / Desktop 且具备 agent-preset registry 的 profile 可加载预设(默认 web profile 需已有 shipped standard 预设)。Headless/ACP profile 无 preset registry,不加载预设部分;内嵌 skill 在 bundle host 行挂载处仍可注册。

默认从 npm 安装到 web profile:

dsh plugin --profile web add dsh-coding-discipline

从 GitHub 安装:

dsh plugin --profile web add github:JinBeiCN/dsh-coding-discipline

若上述途径不可用,可用 release 压缩包:

dsh plugin --profile web add https://github.com/JinBeiCN/dsh-coding-discipline/releases/download/v1.0.0/dsh-coding-discipline-1.0.0.tgz

卸载:

dsh plugin --profile web remove dsh-coding-discipline

禁用或移除 bundle 不会改动已有会话,需重建会话后生效。

典型用法

安装完成后可按 README 两种方式使用:

  1. 新会话:在 agent-preset 选择器中选 Coding;若希望默认使用该预设,可在 Settings → General(Agent preset)中设置。
  2. 任意会话:在 skill 目录中找到 coding-discipline,在编码工作前加载;与是否选 Coding 预设独立——skill 对 profile 内任意 agent 可用。

安装不会自动改写已有会话;只有新建会话或手动加载 skill 才会应用契约。

适用场景与注意

适合:希望 agent 改代码时遵守仓库内验证、少动测试、报告带可复核证据的团队或个人;长验收清单、review 重的交付流程。

注意:

  • 插件以当前 dsh 进程权限运行,安装前请阅读源码与 MIT 许可证,确认符合你的安全与合规要求。
  • 社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本文事实以 GitHub README 与 package.json 为准。
  • 不要指望单靠该插件在同等 benchmark 上提高 solved rate;其价值在于过程与报告纪律。

结尾

dsh-coding-discipline 用预设 + skill 双轨把编码纪律写进 DSH,工具面与 standard 对齐,便于 A/B 与回退。需要安装命令、契约全文与 benchmark 说明时,见 GitHub 仓库 README 与 SkillHub 目录页。

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

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

Xiaoye