dsh-specflow:把規格、計劃與任務進度保留在倉庫裏的 DSH 插件

前言

在 DSH 會話裏推進一個功能時,需求、設計決定和任務清單常常散落在一次對話中。會話重啓後,如果只有聊天記錄,重新接上工作就會比較費勁。dsh-specflow 的思路是把工作保存在倉庫中:後續會話讀取同一批工件,找到下一個未完成任務,並恢復對應的 DSH goal。

這是什麼

dsh-specflow 是 lonelymoon87 維護的 DeepSeek Harness(DSH)插件,描述爲 Specification-driven development workflows for DeepSeek Harness。許可證爲 MIT。

它支持 DSH >=0.1.0-rc.6 <0.2.0 插件 API,並要求 Node.js ^22.19.0 || >=24.0.0。v0.1.4 已在 npm 發佈,資料稱其經過 DSH 0.1.0-rc.8 和 0.1.1-rc.1 測試。

核心功能

提供可複用的工作流命令

插件提供五個可移植技能:constitution、specify、plan-spec、tasks、implement。

插件還提供六個可發現命令:/specflow、/constitution、/specify、/plan-spec、/tasks、/implement。

將工件保存在倉庫中

SpecFlow 提供 spec.md、plan.md 和 tasks.md 模板,並將工作保存在倉庫中。後續會話可以讀取這些工件,並恢復未完成任務。

支持 DSH goal 與顯式恢復

/implement 支持創建 DSH goal 並顯式恢復。/implement 會拒絕替換不相關的活躍 goal。

讀取任務進度

specflow_status 工具從 tasks.md 讀取複選框進度。任務完成僅按 Markdown 複選框行計數。

當 autoInjectContext 啓用時,活躍 goal 與最近觀察到的任務計數會作爲模型可見的 DSH runtime context。

文件訪問與權限邊界

SpecFlow 通過已掛載的 DSH 文件系統服務讀取 tasks.md。技能可請求在 .dsh/memory/ 與 .dsh/specs/ 下創建或更新文件,並遵循 profile 的工具與審批策略。

插件不進行網絡請求、不解析憑據、不發送遙測,也不註冊自定義持久化會話事件。

安裝與啓用

先添加插件到 web profile:

dsh plugin --profile web add dsh-specflow

再啓動 DSH:

dsh web

經過上面的步驟後,可以在 DSH 會話中輸入 /specflow 查看工作流。

如果採用固定來源安裝,會運行 prepare 構建;pnpm 10 及更高版本可能需要先按提示允許精確包鍵。

典型用法

一個完整示例如下,其中 001-resumable-exports 是規格目錄名:

/constitution Require focused tests for every behavior change
/specify Add resumable exports to the CLI
/plan-spec 001-resumable-exports
/tasks 001-resumable-exports
/implement 001-resumable-exports

上面的命令先寫入約束,再生成規格、計劃和任務,並進入實現。

重啓或新會話後,可以用下面命令恢復:

/specflow 001-resumable-exports
/implement 001-resumable-exports

/specflow <NNN-slug> 會報告持久化複選框進度、下一任務、工件路徑和準確恢復命令。

適用場景與注意

適合在 DSH 中開發功能、希望把規格、計劃與任務清單落到倉庫裏的開發者,尤其是需要跨會話恢復未完成任務的場景。

插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。資料中的許可證爲 MIT;使用前還應確認所用 DSH 版本、profile 配置和審批策略符合團隊要求。

相關鏈接

  • GitHub:https://github.com/lonelymoon87/dsh-specflow
  • 資料中給出的目錄頁:https://www.skillhub.cn/plugins/lonelymoon87/dsh-specflow
羽毛球分组比赛记分
小程序二维码

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

小夜