前言¶
用 BMAD 做需求与冲刺跟踪时,进度往往散在 sprint 文件、epic 文档和 spec 目录里。人工对照「故事是否 done」「需求是否有证据」「跟踪文件是否自相矛盾」,既费时间,也容易把「说不清」当成「未开始」。
DeepSeek Harness(DSH) 的社区插件可以扩展 Session 界面。下面介绍维护者 vitaliy-bobrov 发布的 dsh-plugin-bmad-sprint-board:它读取 BMAD 工程产物,在 Session 侧栏展示当前在做什么、与跟踪文件不一致之处,以及 BMAD 阶梯上的下一步建议。插件只读,不会写入任何 sprint 文件;侧栏里的操作都是可复制字符串——能确定时给命令,只能提问时给 prompt。
这是什么¶
BMAD Sprint Board 是面向 web 客户端的 DSH 插件(分类:UI & Experience)。它不注册工具、不接入模型或服务,只在右侧栏增加一个标签页并读取工作区内的 BMAD 相关文件。
- 仓库:vitaliy-bobrov/dsh-plugin-bmad-sprint-board
- 社区目录:SkillHub 插件页
- 许可证:MIT(见仓库
LICENSE) - npm 包名:
dsh-plugin-bmad-sprint-board(package.json 版本 1.0.0)
侧栏里有什么¶
四个视图,共用一个标签¶
Requirements 与 Specs 读的是同一批产物,因此是同一标签下的视图切换,而不是两个独立标签。
| 视图 | 内容 |
|---|---|
| Status | 按故事状态分折叠泳道(board 顺序),下方附带 gaps 面板 |
| Epic | 每个 epic 一节:状态、回顾状态、进度 |
| Requirements | 按类别列出声明的需求,以及证据所支持的状态 |
| Specs | sprint 文件中没有任何故事认领的 spec 文件 |
Requirements 视图值得单独熟悉:状态不是简单的「完成 / 未完成」,而是四种:
| 标记 | 状态 | 含义 |
|---|---|---|
✓ |
done | 可验证,且已验证 |
◑ |
partial | 有覆盖它的 epic 已完成一部分 |
✗ |
not started | 可验证,但尚未开始 |
○ |
no evidence | 无法从现有材料判断 |
没有 coverage map、也没有故事引用该需求时,看板不会把它标成「未做」,而是明确标为 no evidence,避免猜测。
Gaps 看板:对照跟踪文件,不是镜像¶
看板会对 sprint / epic / UX / 需求清单做一致性检查。README 中列出的检测器包括:
| 检测器 | 触发条件(摘要) |
|---|---|
| B1 done but owing | 故事已是 done,但 deferred 项仍指向其 spec |
| B3 review patches never applied | 故事 done,但 [Review][Patch] 未勾选 |
| U1 UX run not carried into the plan | UX design run 未写入 epics 文档 |
| U2 UX requirement no epic delivers | UX 需求的组件未被任何故事提及 |
| REQ | 清单中声明的需求未被 coverage map 覆盖 |
侧栏还会并排显示故事与需求两条进度条——两者差距本身就是发现。Next 区域只给出 一条 下一步动作,选项来自 BMAD 自身阶梯,而不是插件臆造的多条待办。
无法执行的检查会自行报告(Unverifiable is a state),进度条分母不会因「看不见」而缩小,避免通过忽略检查来「刷分」。
快捷键¶
- 桌面:
primary+S - Web:
primary+alt+S(在当前已打开的侧栏 pane 中打开)
web:linux 平台 intentionally 不绑定默认快捷键:Harness 在该平台仅允许三个全局 chord,插件因此不在此占用默认键位。
安装与启用¶
插件无依赖、无 install script,安装后需重新加载页面(Client 半在下次加载注册;Host 半无需注册)。
将 web 换成你实际使用的 profile 名称。
从 npm 安装(web profile):
dsh plugin --profile web add dsh-plugin-bmad-sprint-board
从 GitHub 或本地 bundle:
dsh plugin --profile web add github:vitaliy-bobrov/dsh-plugin-bmad-sprint-board
dsh plugin --profile web add /path/to/bmad-sprint-board-bundle
通过 Agent 工具(与 CLI 等价的三条路径之一):
plugin_manager({ action: "install_bundle",
target: "dsh-plugin-bmad-sprint-board" })
与 DSH 版本的 peer 依赖¶
manifest 声明:
"peerDependencies": { "@deepseek-ai/dsh": "^0.2.0-0" }
README 说明: plain ^0.2.0 会被拒绝;兼容检查会把 prerelease 算进去,对 0.2.0-rc.2 这类运行时,裸 ^0.2.0 不匹配。应使用 ^0.2.0-0(即 >=0.2.0-0 <0.3.0-0)。
典型用法¶
- 在已按 BMAD 方式组织的工作区中安装并 reload Session。
- 用快捷键或侧栏打开 BMAD Sprint board 标签(与 Chat 等同屏:
Requirements │ BMAD Sprint board │ Chat)。 - 在 Status / Epic / Requirements / Specs 间切换,查看故事泳道、epic 进度、需求四态与「无人认领」的 spec。
- 查看 gaps 与双进度条,复制 NEXT 或 Ask agent 提供的 command / prompt,在 Harness 或外部流程中执行——插件本身不会代写文件。
侧栏 ASCII 示意(来自 README):
Requirements │ BMAD Sprint board │ Chat
─────────────────────────────────────────
Status Epic Requirements Specs
stories ████████░░ 12 / 15 80%
requirements ███████░░░ 11 / 17 65%
⚠ 23 of 40 unmapped
NEXT bmad-build Storefront Header Navigation Tools Integration
it is the next unstarted story [Ask agent · prompt]
● DONE (12) ● GAPS (4) ● COULD NOT CHECK (1) ● BACKLOG (3)
更细的渲染与解析说明见仓库 implementation notes,安装使用不必先读。
适用场景与注意¶
适合谁: 已在 DSH web Session 里用 BMAD 做 sprint / epic / 需求跟踪,希望侧栏集中看到进度、需求证据与跟踪文件缺口,且接受「只读 + 复制动作字符串」工作方式的开发者。
权限与安全: 插件以当前 DSH 进程权限读取工作区;安装前请自行审阅 GitHub 源码 与 MIT 许可证,确认符合团队策略。
生态说明: DSH 奉行「一切皆插件」;SkillHub 等社区目录独立于 DeepSeek / 幻方,并非官方应用商店。
扩展开发(可选): 核心逻辑在 src/core.js、detect.js 等(无 DSH/DOM);UI 在 src/shell-*.js。新增视图改 shell-post.js 的 VIEWS;新增 gap 检测器在 detect() 注册并返回 { id, title, severity, subject, evidence, action }。修改 src/ 后需 node build.mjs,仓库提交的 client.js 供无构建安装使用。
结尾¶
BMAD Sprint Board 把 BMAD 工程的冲刺状态、需求证据与跟踪一致性检查收进 DSH Session 侧栏,强调只读、单条 Next、以及「无法验证就说无法验证」。若你的流程已建立在 BMAD 文件之上,可以用官方命令装入 web profile,reload 后在侧栏对照 gaps 再决定复制哪条 command 或 prompt。
- 目录页:https://www.skillhub.cn/plugins/vitaliy-bobrov/dsh-plugin-bmad-sprint-board
- GitHub:https://github.com/vitaliy-bobrov/dsh-plugin-bmad-sprint-board