前言¶
用 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、只讀看板、決策留在倉庫側的項目目錄裏)。
三個零件:
- 人設:新建會話時選 preset「研發助手 · Dev Assistant」,按協議先存用戶原話(
rawQuote)、再問驗收條件,破壞性動作先停下來讓你選。 - 看板:左側邊欄「研發看板」,只讀展示需求 / 待辦 / 待確認 / 已完成,數據來自
.dsh-dev/下已知 JSONL,不寫記錄。 - 流程:五步落盤,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=<本目錄絕對路徑>
啓用
- 新建會話,選 preset「研發助手 · Dev Assistant」。不要手寫 profile 的
package.json或cordis.patch.yml。 - 用平常話術想法即可,例如「我想把 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 開發節奏。