dsh-ai-pm:把 pm-scaffold 的 PRD 工作流接入 DeepSeek Harness

前言

在 DSH「一切皆插件」的思路下,让 agent 起草一份 PRD 并不难,难的是起草之后的环节:AI 的推断容易混进事实、没有人明确拍板、上游需求一变下游产物无从感知。常见的做法是让模型一次性输出完整文档,写完即交付,中间没有状态记录,也没有确认动作。下面介绍的 dsh-ai-pm 针对的就是这个问题:它把上游 pm-scaffold 的 PRD 工作流接入 DeepSeek Harness,agent 负责起草,确认权留给真实评审人。

这是什么

dsh-ai-pm 由 konwait12 维护,MIT 许可,package.json 版本 0.1.0。一句话定位:把 pm-scaffold 的 PRD 工作流接入 DeepSeek Harness——agent 侧提供 ai_pm_* 模型工具(init/status/entry/gate/reflow/skill/artifact),GUI 侧(设置 → 插件 → AI-PM)提供需求看板与不可绕过的人工确认闸门。

插件对上游的改动集中在壳层:壳只包含 package.json、cordis.patch.yml 和 lib/,上游 pm-scaffold 的 src/、skills/、docs/、test/、AGENTS.md 原样保留,升级上游时直接替换即可。它是一个 web 平台客户端(package.json 中 dsh.client.platform 为 web),通过 cordis.patch.yml 打补丁接入。

核心功能

Agent 侧:ai_pm_* 模型工具

安装后,agent 获得 init、status、entry、gate、reflow、skill、artifact 七个 ai_pm_* 模型工具,覆盖初始化、状态查看、入口判定、机器闸门、变更回流等动作,对应命令见下文典型用法。review 不在这组工具里——确认动作不暴露给模型。

GUI 侧:需求看板与人工确认闸门

GUI 入口在设置 → 插件 → AI-PM,提供需求看板。闸门规则是硬性的:机器闸门只能产出 ready_for_human_review,confirmed 只能由 GUI 中真实评审人产生,AI 不得产生 confirmed。

来自上游 pm-scaffold 的工作流机制

插件原样接入上游的几项核心机制:

  • 六态知识标注:每条声明标注 FACT(事实)/ DECISION(人类拍板)/ ASSUMPTION(假设)/ AI_INFERENCE(AI 推断)/ UNKNOWN(未知)/ CONFLICT(冲突)。
  • 双向可追溯与变更闭环:reflow 在上游变更时级联失效下游并回流重跑。
  • B3 每阶段强制收口与入口探索:entry 按材料内容做 L0-L4 判定。
  • 19 个 Skill(5 主 + 9 子 + 4 分支产物 + 1 能力),每个工作项走 8 步循环:Preflight → Intake → Think → Clarify → Generate → Audit → Human Gate → Commit/Reflow。

安装与启用

环境要求:Node >= 20.18(package.json 的 engines 字段),peerDependencies 为 @deepseek-ai/dsh-tools ^0.1.0-rc.6;上游核心脚本要求 Python 3.10+,仅依赖标准库。

先从 GitHub 仓库取下源码到本地,再执行官方安装命令(它接收本地目录路径):

dsh plugin --profile web add ./ai-pm

备选方式是把插件复制到 ~/.dsh/profiles/web/node_modules/。两种方式装完后,重启 dsh web,或点 dsh-quick-refresh ⟳ 热应用。

典型用法

从骨架到人工确认

先做初始化,再逐级推进:init 建需求骨架,原始材料放进 00-input/,之后用 status 看进度、entry 做入口判定、gate 跑机器闸门,最后由真实评审人执行 review。

# 初始化需求骨架
python3 src/scripts/pipeline.py init REQ-NNN-my-feature

# 查看状态
python3 src/scripts/pipeline.py requirements/REQ-NNN-my-feature status

# 入口判定(L0-L4)
python3 src/scripts/pipeline.py requirements/REQ-NNN-my-feature entry

# 机器闸门
python3 src/scripts/pipeline.py requirements/REQ-NNN-my-feature gate --work-item project-background-goal

# 人工确认(review 不暴露为模型工具,由真实评审人执行)
python3 src/scripts/pipeline.py requirements/REQ-NNN-my-feature review \
  --work-item project-background-goal --decision approve \
  --reviewer "评审人姓名" --reviewer-id "飞书或组织稳定用户ID" \
  --reviewer-role "business_owner"

review 的 –reviewer、–reviewer-id、–reviewer-role 缺一不可,且必须与 00-input/authorized-reviewers.json 里的登记逐项匹配。机器闸门到 ready_for_human_review 为止,confirmed 只能由这一步产生。

变更回流

上游材料变化后,先跑 reflow 做预演,确认影响范围再加 –apply 执行级联失效回流:

python3 src/scripts/pipeline.py requirements/REQ-NNN-my-feature reflow

加 –apply 后才真正写入,失效的下游产物会回流重跑。

入门材料与回归验证

open src/toolkit/visualization/scaffold-flow.html
bash run_tests_mac.sh

第一条打开上游的可视化驾驶舱,作为项目入门材料;第二条做全量回归验证,适合在接入或改动后跑一遍。

适用场景与注意

适合在 DSH web profile 上做产品需求工作的开发者或产品团队,尤其是需要「AI 起草、人拍板」有硬约束、PRD 条目可追溯、上游变更能级联处理的场景。

几点注意:

1、插件以当前 dsh 进程的权限运行,安装前应自行检查源码与许可证(本项目为 MIT)。
2、requirements/ 目录运行时生成且被 gitignore——每个用户的需求是自己的,用 init 随时重建。
3、agent 侧工具命名存在两处表述:README 称 ai_pm_* 模型工具,package.json 描述称 pipeline 模型工具,以实际实现为准。
4、人工闸门是有意设计:agent 无法代替评审人完成确认,接入前先在 00-input/authorized-reviewers.json 登记评审人。

小结

dsh-ai-pm 做的事情不复杂:把一套带六态标注、人工闸门与变更回流的 PRD 工作流装进 DSH,agent 负责起草与检查,确认权留在真实评审人手里。如果你的 PRD 流程同样需要这层约束,建议先读源码再决定是否接入。

  • 插件目录页:https://www.skillhub.cn/plugins/konwait12/dsh-ai-pm (第三方社区目录,与 DeepSeek / 幻方无官方从属关系,目录将其归入「工作流」分类)
  • GitHub 仓库:https://github.com/konwait12/dsh-ai-pm
羽毛球分组比赛记分
小程序二维码

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

小夜