前言¶
在 DSH 的 Plan mode 中,編碼代理會先給出一份實現計劃。很多情況下,計劃不是隻有“通過”或“不通過”這麼簡單:你可能只需要指出其中一兩句風險,或者修改某一段步驟、某個接口說明、某處測試邊界。
dsh-plannotator 解決的就是這類問題:讓你把計劃中的具體文本選出來,添加針對性批註,再把多條意見和整體反饋一次性發回給代理。這樣代理修改計劃時,能明確知道你針對的是哪一段原文。
這是什麼¶
dsh-plannotator 是 titanwings 維護的 DSH 插件,許可證爲 MIT,定位是 Plan Review 工作流插件。
它的核心目標可以用官方一句話概括:
Review the plan before your coding agent writes the code.
也就是說,在編碼代理開始寫代碼之前,先讓開發者對計劃做一輪更細的評審。該插件屬於非官方集成,靈感來自 Plannotator。
核心功能¶
精準批註¶
插件支持對計劃文本做精準批註:
- 拖選文本,生成針對該文本的評論。
- 也可以雙擊段落、列表項、標題、加粗短語、代碼片段作爲回退選擇。
批註會保留引用原文,方便代理在修訂計劃時定位上下文。
多條評論評審¶
一次評審裏可以保留多條評論,而不是一條條評論零散地發在聊天裏。
支持的能力包括:
- 固定引用原文。
- 從評論跳回來源位置。
- 刪除單條評論。
- 添加整體反饋。
這適合對同一個計劃提出多個獨立問題,例如兼容性、接口變更、回滾方案、測試覆蓋等。
響應式評審面板¶
評審面板會隨屏幕寬度變化:
- 寬屏:評審面板與對話並排顯示。
- 較窄桌面:按需打開抽屜。
- 手機:使用底部彈層。
你可以隨時摺疊或重開評審面板,不需要立即結束當前評審。
DSH 響應閉環¶
插件通過 DSH 現有的 pending interaction 返回評審結果。
常見動作包括:
- 批准當前計劃。
- 要求代理修改計劃。
- 返回普通聊天。
當你點擊 Send feedback 後,代理會收到一次結構化評審,並保持在 plan mode,而不是直接跳到實現。
Ask AI¶
選擇計劃文本後,可以使用 Ask AI 提問;也可以直接在左側 Ask AI 側欄輸入問題。
Ask AI 會調用一次性只讀子代理來回答計劃相關問題。它支持:
- 攜帶引用摘錄。
- 繼續追問。
- 取消慢回答。
該子代理是一次性的,只能只讀查看,不能修改文件,不能重寫計劃,也不能進一步委託。
草稿恢復¶
未發送的評論會保存在瀏覽器本地。
恢復方式是本地最佳努力,不需要插件服務器,也不需要第三方服務。草稿會按以下維度隔離:
- Session。
- pending request。
- plan revision。
評審保護¶
插件對未完成的評審有保護:
- 過期計劃草稿會被拒絕。
- 丟棄反饋前會要求明確確認。
- 如果仍有未發送反饋,而用戶嘗試批准,插件會要求明確二次確認。
這可以減少誤批准導致本地批註丟失的情況。
UI 適配¶
插件支持:
- 中英文文案。
- 鍵盤快捷鍵。
- 響應式佈局。
- DSH 主題 tokens。
安裝與啓用¶
將 GitHub 構建好的插件安裝到 DSH Web profile:
dsh plugin --profile web add github:titanwings/dsh-plannotator#v0.1.4
安裝完成後,重啓 dsh web。
該倉庫自帶構建好的 Host 和 Web bundle,因此安裝過程不會運行包構建腳本,也不需要 allowBuilds 條目。
如果需要固定到某個精確源碼修訂,可以使用 commit SHA,而不是 release tag。
本地安裝時,Node.js 版本需要滿足:
"^22.19.0 || >=24.0.0"
也就是說,至少需要 Node.js 22.19+。
注意:dsh-plannotator 會接入 DSH 當前運行環境,插件以當前 dsh 進程權限運行。安裝前應檢查源碼、許可證和依賴範圍。
典型用法¶
下面是一個完整的評審流程。
1、在 DSH Plan mode 中,讓編碼代理創建計劃。
2、當 exit_plan_mode 到達 Plan Review 時,通過 compact gate 或 Open review 打開評審。
3、選擇需要修改的精確文本。評審面板可以隨時摺疊或重開,不需要立刻發送反饋。
4、爲選中的文本添加多個針對性批註,也可以添加整體反饋。
5、點擊 Send feedback。代理會收到一次結構化評審,並保持在 plan mode。
6、查看代理修訂後的計劃。如果計劃已經準備進入實現,選擇 Approve。
7、如果暫時不想繼續評審,選擇 Chat about it,關閉 gate 並返回普通 composer。
8、如果需要問計劃細節,可以選擇計劃文本後使用 Ask AI 提出問題,也可以在左側 Ask AI 側欄輸入問題。
適用場景與注意¶
適合以下場景:
- 在 DSH Plan mode 中生成實現計劃,並希望在代理寫代碼前做細粒度評審。
- 計劃中包含多個獨立問題,需要分別指出,而不是隻給一句整體評價。
- 希望每條評論都綁定到具體文本,避免代理誤解修改位置。
- 需要在寬屏、較窄桌面和手機上繼續未完成評審。
- 希望未發送草稿保存在瀏覽器本地,不依賴插件服務器或第三方服務。
使用注意:
- 它是非官方集成,靈感來自 Plannotator。
- 許可證爲 MIT。
- Ask AI 子代理是一次性只讀能力,不能修改文件、不能重寫計劃、不能進一步委託。
- 未發送評論保存在瀏覽器本地,並按 Session、pending request 和 plan revision 隔離。
- 過期計劃草稿會被拒絕。
- 嘗試批准未發送反饋時,需要明確二次確認。
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
鏈接¶
目錄頁:
https://www.skillhub.cn/plugins/titanwings/dsh-plannotator
GitHub:
https://github.com/titanwings/dsh-plannotator