dsh-process-kit:用文件状态机与人签 Gate 约束 AI 协作开发

前言

在 DSH(DeepSeek Harness)里用智能体做功能开发,常见问题是:进度散落在聊天记录里,换会话就丢上下文;规格写得很满,却缺少硬门禁,实现阶段照样跑偏;多角色并行时,测试、实现、验收边界模糊,质量靠模型自觉。生态里已有大量规格驱动或角色编排类插件,有的靠 LLM 自查「写完了没」,有的用代码矩阵拦写入,有的用机器 verdict 直接放行。

下面介绍维护者 SHADOW-LI0327 的工作流插件 dsh-process-kit:把需求包状态、门禁签署、流程与 bug 记录写进目标仓库的 docs/process/**,插件只做确定性读取、渲染、安全追加与脚手架落地,不在插件侧另存状态。阶段推进在 Gate0/1/2/4 等人手确认;机器门禁只判客观可验证项,主观裁量留给人。

这是什么

dsh-process-kit 是面向任意仓库的开发流程增强插件,分类为工作流(workflow)。它为 DSH 增加一套文件驱动的工程化流程:内置多角色 Subagent 技能(当前仓库版本为 9 个角色;npm 已发布 0.5.0 为 8 个角色,0.6.0 含 architect 尚未发布),配合 scripts/process/ 门禁脚本与 process_init 初始化工具。许可证 MIT;GitHub 仓库 SHADOW-LI0327/dsh-process-kit,社区目录页 SkillHub 条目。

与「规格驱动、不做硬门禁」或「机器直接阻断」的做法不同,这里强调三条:状态入仓(docs/process/** 为唯一真源,CI 不装插件也可消费契约)、防篡改 journal(链式指纹,读取侧重算并如实报红)、两段式 Gate 摘要(✅ 完成了什么 / ❓ 还需要裁定什么)。0.4.0 起流程看板改为纯服务端 bundle,不再依赖独立 GUI 状态看板。

核心功能

文件状态机与工具

进度写在 docs/process/** 各文档的 frontmatter 里。每轮唤醒可调用 process_status 扫描目录,恢复每个包的状态、Gate 四灯、journal 尾部、未关闭 bug 与建议下一步,不依赖聊天历史。

工具 作用
process_status 扫描 docs/process,汇总包状态与下一步
gate_summary 为指定包生成 Gate 两段式摘要骨架(✅ / ❓ 待填)
process_journal 安全追加 journal:锁、指纹校验、原子替换
process_init 将流程骨架与脚本落到当前仓库;默认只创建不覆盖

process_init 会生成(或升级时按规则处理):

  • docs/process/:流程总纲、orchestrator.md、PROJECT.md、PRD 与核对件模板等
  • scripts/process/:journal-append.mjs、check-artifact-paths.mjs、check-rules.mjs、check-ui-geometry.mjs、sync-prd-version.mjs
  • AGENTS.md:仅当不存在时创建;已存在则不改写,只输出待合并段落(可用 agents: false 跳过)

Gate 与角色分工

Gate 在 Gate0/1/2/4(需求核对、设计、开发、验收)停下做人签;每次输出两段式摘要。角色在提示词层面分工,交付质量由 Gate 人裁承担;项目内 .dsh/skills/** 同名技能可覆盖插件自带技能。环境变量 PROCESS_KIT_SKILLS=off 可关闭插件技能注册。

9 个角色(版本演进见 README):product-manager、architect(0.6.0)、test-agent、dev-agent、uat-agent、code-review-agent、security-review-agent、logic-review-agent、ui-designer。写实现的不写测试,写测试的不做验收;三个评审角色默认只在「发布前整体回归」由人显式发起时派出,未发起则不会自动跑。

Gate0 前可按需并行 product-manager 与 architect 做公开文档/GitHub 借鉴调研,候选进核对件、不直接进 AC;ui-designer 由核对件 uiDesign: required / not-needed 决定是否参与。

配置与门禁

流程文档不硬编码项目路径与命令,统一引用 docs/process/PROJECT.md。插件升级永不覆盖该文件及 ui/tokens.md、ui/recipe.md 等项目可定制文件。§3 产物属主表为硬门槛,未填会导致落点门禁 exit 1。最小可用需填 §1、§2(至少「快速验证」与「journal 追加」)、§3。

安装与启用

插件以 DSH 进程权限运行,安装前建议阅读仓库源码与 MIT 许可证。Node 要求 ^22.19.0 || >=24.0.0;peer 依赖 @deepseek-ai/dsh >=0.1.7-rc.2 <0.3.0。

README 给出的安装 target 如下(在 DSH 插件安装流程中使用对应 target;装完后一般无需重启客户端):

方式 target
npm(推荐) dsh-process-kit
GitHub github:SHADOW-LI0327/dsh-process-kit(锁版本可用 #<tag> 或 #<commit>)
本地目录 插件源码的绝对路径

npm 上最新为 0.5.0;仓库 0.6.0 未提交/未发布。若使用 pnpm 11/12 且新版本发布未满 24 小时,可能因 minimumReleaseAge 解析不到最新版,可等待、钉死版本如 dsh-process-kit@0.4.0,或在 pnpm-workspace.yaml 的 minimumReleaseAgeExclude 中排除该包。

典型用法

快速开始步骤(摘自 README):

1. 安装插件(安装即生效,无需重启)。
2. 告诉 AI 想做什么,比如想做一个网站、做一个 app 等。
3. AI 自动初始化当前环境:调用 process_init。
4. 按流程进行开发。
5. 第一个包建议走快速路径:需求核对件写 flow: fast,人签 Gate0 后直接派 dev + 存量回归;顺手后再上全流程。

已有仓库升级前先预览再落地:

process_init({ upgrade: true, dryRun: true })   // 先看会动哪些文件
process_init({ upgrade: true })                 // 再落地

端到端示例在独立仓库 dsh-process-kit-example;验收与开跑步骤见主仓 docs/ACCEPTANCE.md。

适用场景与注意

适合希望在任意 Git 仓库里用「仓内 Markdown + 脚本」固定 AI 协作节奏、又希望 Gate 与 journal 可审计、可被 CI 消费的单人或小团队。不适合期望插件在运行时实时拦截每个文件写入、或完全无人参与的全自动发布流水线。

注意:process_init 默认只创建不覆盖;数据目录 input/**、prd/**、bugs/** 等升级时不触碰。三个评审 Subagent 不会出现在单包主路径里,除非人发起发布回归或在 Gate 上点名。若需 architect 或完整 9 角色,需从 GitHub main 安装或等待 0.6.0 发布。

DSH 生态理念是「一切皆插件」;SkillHub 为社区目录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-process-kit 把开发流程落成仓库内的文件状态机与人签 Gate,用门禁脚本约束客观项、用角色技能分工提效,状态与证据留在 docs/process/** 便于复算与协作。目录页:https://www.skillhub.cn/plugins/SHADOW-LI0327/dsh-process-kit;源码与文档:https://github.com/SHADOW-LI0327/dsh-process-kit。

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

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

小夜