dsh-plugin-dev-workflow:把需求、決策和驗證留在項目目錄裏的 DSH 輕量工作流

前言

用 DSH 做一個小插件、腳本或自用工具時,常見的問題不是模型不夠聰明,而是上下文和決策沒有落盤:前天說清的需求,新 session 裏 AI 又問一遍;「應該跑通了吧」其實沒有命令和退出碼;改了幾輪需求,聊天記錄裏找不出哪句話算數。Issue 系統和 Jira 對「一個人 + 幾個晚上」的項目又偏重。下面介紹社區插件 dsh-plugin-dev-workflow(維護者 yuna78,分類:工作流):在 DSH 裏提供研發助手 preset、只讀看板,以及 Request → Feedback → Task → Verify → Completion 五步流程,把原話、任務和驗證證據 append-only 寫在 <工作區>/.dsh-dev/ 裏,換 session 或隔一週回來仍可接續。

這是什麼

dsh-plugin-dev-workflow 是 DSH 的輕量開發 workflow 插件。README 用一句話概括:Lightweight dev workflow for DSH: a dev-assistant preset, a read-only kanban, and decisions that stay in the repo(研發助手 preset、只讀看板、決策留在倉庫側的項目目錄裏)。

三個零件:

  1. 人設:新建會話時選 preset「研發助手 · Dev Assistant」,按協議先存用戶原話(rawQuote)、再問驗收條件,破壞性動作先停下來讓你選。
  2. 看板:左側邊欄「研發看板」,只讀展示需求 / 待辦 / 待確認 / 已完成,數據來自 .dsh-dev/ 下已知 JSONL,不寫記錄。
  3. 流程:五步落盤,agent 通過 dev_* 工具寫入;另有 agent/pre-step 在第 1 步及之後每 5 步注入帶真實計數的運行期提醒,減輕「聊很久才登記需求」的問題。

記錄全部在本地,無賬號、無雲端、無遙測。插件以當前 DSH 進程權限運行;安裝前建議自行查看 GitHub 倉庫 源碼與 MIT 許可證。社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

核心功能

人設與優先級

preset 不是任務清單機器人,核心行爲包括:需求先存原話再澄清驗收;反饋留原話與決策(接受 / 拒絕 / 延後),不悄悄把一次偏好升級成團隊規範;任務完成要有命令和退出碼,否則不算完成;推送、發佈、刪數據等破壞性動作先攤開風險。persona 裏寫的優先級爲:安全硬邊界 > 倉庫規範 > 項目目標 > 用戶偏好 > 本次需求。

看板

四列:需求(未終結的原話 + 驗收)、待辦、待確認(waiting-user)、已完成。已交付或作廢的需求由 dev_request_close 給終態,不再佔需求列。過濾:進行中 / 已完成 / 全部。看板只調 GET 路由,只讀 <工作區>/.dsh-dev/;換工作區即換項目,記錄按項目隔離。

五步流程與工具

步驟 工具(節選) 落盤內容
Request dev_request_capture 原話、範圍、驗收;缺驗收時只做澄清登記
Feedback dev_feedback_record 原話、決策、影響
Task dev_task_plan 步驟、依賴、風險、驗收
Verify dev_verify 命令、退出碼(由調用方提供,不接受僞造 succeeded)
Completion dev_complete 變更、證據、風險、未完成項

另有 dev_context_get(有界摘要:項目目標、未完成任務、最近反饋)、dev_request_close(delivered / invalid / superseded)、dev_knowledge_promote(僅在你明確確認後沉澱偏好,默認 proposed)。

本地目錄結構(append-only JSONL):

<your-project>/.dsh-dev/
├── requests.jsonl
├── feedback.jsonl
├── tasks.jsonl
├── verifications.jsonl
├── completions.jsonl
└── knowledge.jsonl

README 建議不要把 .dsh-dev/ 提交進 Git,也不要寫入密鑰或客戶資料。

明確不做的事

不適合多人正式研發(無角色、權限、代碼評審、CI 集成)、合規審計、雲同步團隊看板、自動 git commit / npm publish。若需要「誰在什麼時候改了哪行、走什麼審批流」,應使用 Issue 系統,本插件不替代該類平臺。

安裝與啓用

兼容性(資料原文)

  • DSH:>=0.2.1-rc.2 <0.3.0
  • Node.js:>=22.19.0
  • 插件當前版本:0.2.6

安裝

在 DSH「Add plugin」裏搜索:

dsh-plugin-dev-workflow

或使用 plugin_manager:

plugin_manager install_bundle target=dsh-plugin-dev-workflow

本地開發插件本身時:

plugin_manager install_bundle target=<本目錄絕對路徑>

啓用

  1. 新建會話,選 preset「研發助手 · Dev Assistant」。不要手寫 profile 的 package.json 或 cordis.patch.yml。
  2. 用平常話術想法即可,例如「我想把 X 做得更順手一點,先看看現在什麼樣」。第一次使用時通常會先問驗收條件再動手。

典型用法

接續上下文時,agent 可先調用 dev_context_get,無需你複述上週結論。下面是一段 README 中的示意流程(脫敏改寫),對應真實記錄結構:

Day 0  你:我想做個小插件,把當前窗口的標籤頁收成一個清單,能導出 markdown。先能跑就行,別裝依賴。
       → 需求登記(原話照抄),驗收:讀得到標籤頁 / 能導出 .md / 不新增依賴
       → 拆任務並實現;驗證:node verify/smoke.mjs  exitCode 0

Day 1  新 session:順手加個按域名分組
       → 反饋登記 + 新任務,依賴先前任務

Day 3  只問:「上次導出格式定的是哪個?」
       → 上下文摘要給出需求、進行中任務、最近反饋

記錄示例(脫敏,非預置數據):

{"schemaVersion":1,"requestId":"req_7f21","rawQuote":"把登錄頁的錯誤提示改得更清楚","acceptance":["空密碼顯示字段級提示","錯誤提示不泄露賬號是否存在"],"status":"captured"}
{"schemaVersion":1,"verificationId":"verify_44aa","taskId":"task_91de","command":"npm test -- login","exitCode":0,"status":"passed"}

適用場景與注意

適合:一個 plugin、一個腳本、自用小應用;想法模糊想先聊再定;對話跨多個 session;一個人或兩三個人,不需要 Jira 和站會。判斷標準:項目能用「我一個人 + 幾個晚上」描述清楚。

不適合:多人協作正式項目、合規與跨團隊流程治理、期待一句話自動生成整個產品。

安全與權限:插件與 DSH 同進程,能讀寫當前工作區;dev_* 工具只追加不改寫歷史,但不替代你對源碼和行爲的審查。安裝前閱讀倉庫與許可證是必要步驟。

結尾

dsh-plugin-dev-workflow 把「原話、決策、命令證據」放進項目裏的 .dsh-dev/,用 preset、運行期提醒和只讀看板讓 agent 每次先讀再幹,適合輕量、單人向的 DSH 開發節奏。

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

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

小夜