增加规格工件、技能、命令、由 goal 驱动的实施流程和任务进度上下文。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-specflow
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:lonelymoon87/dsh-specflow
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
把一个想法变成可审查的需求规格、实施方案、任务清单,以及可以跨会话恢复的 DeepSeek Harness goal。
SpecFlow 把工作状态写进仓库,而不是留在某一次对话里。新会话能够重新读取同一组文件,找到下一项未完成任务,并恢复对应的持久 goal。
v0.1.4 已发布至 npm,并针对 DSH 0.1.0-rc.8 与 0.1.1-rc.1 完成验证,同时保留兼容 rc.6 的 peer 范围。
一分钟开始
dsh plugin --profile web add dsh-specflow
dsh web
进入 DSH 会话后,先输入 /specflow 查看完整流程。一轮标准使用依次执行
/constitution 每一项行为改动都必须有聚焦测试
/specify 给 CLI 增加可恢复的导出任务
/plan-spec 001-resumable-exports
/tasks 001-resumable-exports
/implement 001-resumable-exports
进程重启或切换到新会话后,不用回忆上一段对话,直接读取持久状态并继续
/specflow 001-resumable-exports
/implement 001-resumable-exports
flowchart LR
Idea["功能想法"] --> Specify["/specify"]
Specify --> Spec["spec.md"]
Spec --> Plan["/plan-spec → plan.md"]
Plan --> Tasks["/tasks → tasks.md"]
Tasks --> Implement["/implement"]
Implement --> Goal["持久 DSH goal"]
Goal --> Verify["验证任务 → 勾选 tasks.md"]
Verify -->|下一任务| Implement
Goal -->|新会话| Resume["/specflow → /implement"]
examples/001-resumable-export 提供一套停在 2/4 进度的完整示例文件,可以直接查看断线续跑时保存了什么。
它解决什么问题
SpecFlow 把需求、技术方案和任务进度写入可审查的工作区文件,不依赖某一次对话的记忆。一个持久 goal 对应整份规格,单项任务进度始终以 tasks.md 为准。
SpecFlow 包含以下能力。
- 5 个可移植技能,包括
constitution、specify、plan-spec、tasks和implement; - 6 个可在 UI 发现的命令,包括
/specflow、/constitution、/specify、/plan-spec、/tasks和/implement; - 从
tasks.md读取复选框进度的specflow_status工具; /implement阶段的 goal 创建和显式恢复;- 注入 DSH runtime context 的当前目标与任务进度;
spec.md、plan.md、tasks.md模板。
文件协议
.dsh/
├── memory/
│ └── constitution.md
└── specs/
└── 001-example-feature/
├── spec.md
├── plan.md
└── tasks.md
规格目录是持久状态的唯一事实源。插件不另外维护隐藏的任务数据库,也不为保存任务状态增加必需的自定义会话事件。
权限与数据
- SpecFlow 通过 DSH filesystem service 读取
tasks.md。各技能可能要求 Agent 经由当前 profile 的正常工具与审批策略,在.dsh/memory/和.dsh/specs/下创建或更新文件。 - 开启
autoInjectContext后,当前 goal 与最近一次读取的任务计数会进入模型可见的 runtime context。 - 插件不发起网络请求,不读取凭据,不发送遥测,也不注册自定义持久会话事件。
安装
当前代码支持 DSH >=0.1.0-rc.6 <0.2.0 插件 API,要求 Node.js ^22.19 || >=24。
dsh plugin --profile web add dsh-specflow
需要固定当前版本,或者不通过 npm 解析时,可以安装预构建的 GitHub Release tarball。
dsh plugin --profile web add https://github.com/lonelymoon87/dsh-specflow/releases/download/v0.1.4/dsh-specflow-0.1.4.tgz
Release tarball 不需要构建权限。也可以固定版本从源码安装。
dsh plugin --profile web add github:lonelymoon87/dsh-specflow#v0.1.4
源码安装会运行本包的 prepare 构建。pnpm 10 及以上版本默认拒绝执行,第一次安装失败时请按 DSH 输出的提示,将准确的包键加入 profile 的构建白名单,然后重新执行同一条命令。需要装进一次性 Agent profile 时,把命令中的 web 换成 headless。
升级时用新版本的 Release URL 再执行一次 dsh plugin add。卸载时执行
dsh plugin --profile web remove dsh-specflow
安装后,用同一 profile 启动 DSH,再依次执行
/specflow
/constitution 每一项行为改动都必须有聚焦测试
/specify 给 CLI 增加可恢复的导出任务
/plan-spec 001-resumable-exports
/tasks 001-resumable-exports
/implement 001-resumable-exports
/specflow <NNN-slug> 会直接显示持久任务进度、下一项任务、文件位置和准确的恢复命令。Agent 也可以通过 specflow_status 读取同一份状态。
配置
- id: specflow
name: dsh-specflow
config:
specsDir: .dsh/specs
autoInjectContext: true
specsDir 可以是工作区相对路径或绝对路径。autoInjectContext 只控制模型可见的进度快照,不改变 goal 和文件工件的行为。
发布验证
- v0.1.4 tarball 已从 HTTPS Release URL 直接安装进全新的 DSH 0.1.0-rc.8 与 0.1.1-rc.1 profile;
- 同一份预构建包已经作为
dsh-specflow发布,并通过公开 npm registry 完成安装验证; - pack 产物与固定版本 GitHub 源码安装均通过
dsh --dump-config检查; - CI 覆盖 Node 22.19 与 Node 24,兼容矩阵会分别使用 DSH 0.1.0-rc.8、npm
latest与next标签重跑真实安装; - bug 与兼容性问题统一进入 GitHub Issues。
许可证
链接
同类插件
Q00/ouroboros#integrations/dsh-plugin★ 6118
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。
loopx-project/loopx#dsh-loopx-plugin★ 6072
LoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
chuspeeism/dashi-taskboard#deepseek-harness★ 3244
把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述文件连接,而不是使用固定端口。
NanmiCoder/dsh-agent-teams★ 1829
AgentTeams 多智能体团队。
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1149
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。
tong-io/tongflow#dsh-tongflow★ 1033
基于 TongFlow 的“片场”插件,用于图片、配音、音乐与视频制作:agent 为每个资产生成 TongFlow 工作流文件(.tongflow.json)并通过 TongFlow 插件执行,内嵌工作流画布,按镜头/角色/take 组织项目,附漫剧模板;以 @tongflow 开头的会话进入 Studio 界面。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。