dsh-coding-mode-preset
为本地 DeepSeek Harness(`@deepseek-ai/dsh`)追加一个**编码模式** Agent Preset:门禁式工程交付流水线,包含三条独立流程——**需求开发**、**Bug 修复**、**功能迭代**。每个阶段的产物由全新上下文的"空白子代理"独立专家评审,通过后须经用户确认才进入下一阶段;最终以用户验收作为任务完结条件。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 30, 2026
- Updated
- Aug 30, 2026
Introduction
coding-mode-preset — DeepSeek Harness「编码模式」预设插件
为本地 DeepSeek Harness(@deepseek-ai/dsh)追加一个编码模式 Agent Preset:门禁式工程交付流水线,包含三条独立流程——需求开发、Bug 修复、功能迭代。每个阶段的产物由全新上下文的"空白子代理"独立专家评审,通过后须经用户确认才进入下一阶段;最终以用户验收作为任务完结条件。
三条流水线
| 流程 | 触发 | 阶段链 |
|---|---|---|
| 需求开发 | 全新功能/新需求 | 需求方案 → 设计文档 → 测试用例(正向+逆向 SOP)→ 编码实现 → 测试执行验收 |
| Bug 修复 | 缺陷/报错/行为异常 | 问题定位 → 修复方案 → 回归测试用例 → 实施修复与验收 |
| 功能迭代 | 已有功能的增加/调整/扩展 | 迭代需求设计 → 初步设计 → 测试设计(单元测试+正向/逆向 SOP)→ 正式编码 → 自动验证与用户验收 |
每条流程的共同约束:
- 空白子代理验收门禁(G1–G4):每次评审用
subagent(spawn,全新上下文)新起子代理,prompt 只含产物路径、项目根目录、评审标准与输出格式;禁止用继承上下文的subagent_fork评审。结论分 Blocker/Major/Minor,任一 Blocker 或 Major 即不通过;单门禁最多 3 轮复审。 - 用户确认点:门禁通过后汇报并结束回合等待;用户确认才推进。编码门禁(G4)通过后通报即进入自动验证,其余阶段均停等。
- 产物落盘:每任务独立目录
docs/harness/<slug>/,state.md记录阶段/门禁轮次/等待事项;用户下一条消息先恢复现场再行动。 - 最终验收闭环:自动验证失败自行修复并全量重跑;用户验收提出问题按归属(需求/设计/测试/代码)回退对应阶段,用户确认后任务才置 done。
目录结构
coding-mode-preset/
├── README.md # 本文件
├── preset/ # dsh 预设本体 → 安装到 ~/.dsh/.agent-presets/coding-mode/
│ ├── preset.yml # 下拉框显示名(编码模式)与描述
│ ├── agent.cordis.yml # 工具面组装 + 三条流水线常驻指令(核心,改流程改这里)
│ ├── workflow-prompt.mjs # 自研插件:把工作流指令注册为常驻 system prompt 段
│ ├── custom-bash.mjs # win32 下的 bash 工具(Git Bash 通道,取自 liangshen 预设)
│ └── NOTICE # 改编来源与许可声明
├── skills/ # dsh 技能版(可选)→ 安装到 ~/.dsh/skills/
│ ├── dev-mode/SKILL.md # 需求开发流水线(轻量入口)
│ └── bugfix-mode/SKILL.md # Bug 修复流水线(轻量入口)
├── codex-plugin/ # ZCode/Codex 插件打包版(可选)
│ └── deepseek-harness/
│ ├── .codex-plugin/plugin.json
│ └── skills/{dev-mode,bugfix-mode}/SKILL.md
├── install.ps1 # Windows 安装脚本(PowerShell)
└── install.sh # 安装脚本(Git Bash / POSIX)
安装
方式一:脚本安装(推荐)
PowerShell:
cd D:\repo\coding-mode-preset
.\install.ps1
Git Bash:
cd /d/repo/coding-mode-preset
./install.sh
脚本会把 preset/ 复制到 ~/.dsh/.agent-presets/coding-mode/,把 skills/ 复制到 ~/.dsh/skills/。预设与技能均为实时发现,安装后刷新 dsh 网页端即可(运行中的实例通过 watcher 热加载,无需重启)。
方式二:手动安装
# 预设(必需)
cp -r preset ~/.dsh/.agent-presets/coding-mode
# 技能(可选,标准模式下的轻量入口)
cp -r skills/dev-mode ~/.dsh/skills/
cp -r skills/bugfix-mode ~/.dsh/skills/
使用
- 刷新 dsh 网页端,新建空白会话(预设只能在空白会话选择/切换);
- 模式下拉框选择「编码模式」(排在内置模式与梁神模式之后);
- 直接描述需求或报 bug;已有功能迭代明确说"迭代/扩展 XX 功能",模糊时代理会用 ask_user_question 问一次。
若预设装配有问题,下拉框会把它标为 broken 并显示原因(fail-loud),不会静默失效。
定制
- 改流程/门禁/文案:编辑
preset/agent.cordis.yml中workflow-prompt行的text(约 22–112 行的工作流全文),重新安装或直接同步到~/.dsh/.agent-presets/coding-mode/,对新会话立即生效。 - 改下拉框名称/描述:编辑
preset/preset.yml。 - 增减工具面:编辑
preset/agent.cordis.yml的行清单(disabled: true可隐藏行)。注意subagent(spawn)与ask_user_question是门禁机制依赖项,勿删。
卸载
rm -rf ~/.dsh/.agent-presets/coding-mode
rm -rf ~/.dsh/skills/dev-mode ~/.dsh/skills/bugfix-mode # 如安装过技能
来源与许可
agent.cordis.yml 改编自本机用户预设 liangshen(其本身改编自 DeepSeek Harness 内置 Minimal/Standard preset,MIT);custom-bash.mjs 原样取自 liangshen,移植自 xiaobright/dsh-anchored-standard(MIT);workflow-prompt.mjs 为本项目自研,参照内置 dsh-plan-mode 的 systemPrompt.section 注册方式。详见 preset/NOTICE。
适配版本:@deepseek-ai/dsh@0.1.1-rc.2(win32,web profile)。