前言¶
在 DSH 會話中追蹤問題通常需要通過 Bash 調用外部工具,這引入了沙盒和審批管理的開銷。dsh-mint 插件提供了一個替代方案:直接在 DSH 進程中託管 mint CLI,並注入會話上下文。
核心能力¶
會話上下文注入¶
啓動會話時,插件會注入一個概覽,顯示打開的問題和里程碑。這有助於 Agent 理解當前的工作狀態。
零審批主機工具¶
代理通過插件內的主機工具運行整個 mint CLI。這意味着沒有 Bash 調用、沒有沙盒寫入訪問權限,也沒有審批提示。子代理也會繼承該工具。
跨項目工作與寫入確認¶
目標項目默認爲會話的當前工作目錄(cwd),因此對自身項目的調用不需要 -p 標誌。對於跨項目調用,寫入操作會要求確認一次,指定目標項目和操作名稱。插件會拒絕未知項目,並顯示候選列表。
計劃模式綁定¶
當項目沒有活動計劃時,插件會拒絕 exit_plan_mode,防止主機計劃脫離 mint 計劃。如果會話未向 mint 寫入任何內容,退出計劃模式會追加一個提醒,要求註冊工作。
Git 提交提醒¶
在運行 git commit(包括通過 uv run git commit)後,插件會提醒 Agent 使用 issue state commit --sha 註冊提交。
Bash 回退門禁¶
如果插件未加載,Agent 可以使用 Bash。首次 mint 沙盒升級會被批准一次,隨後的升級會自動批准。
側邊欄面板¶
右側邊欄的“添加標籤”菜單(位於“工作區文件”和“新建終端”旁邊)包含一個只讀的 Mint 面板,顯示當前項目的 Issue、計劃和里程碑。
安裝¶
插件需要 --allow-build 標誌,因爲 pnpm 默認會阻止構建腳本。
dsh plugin --profile web add @yanqd0/dsh-mint \
--allow-build=@yanqd0/dsh-mint --allow-build=mint-faa
典型用法¶
- 代理通過主機工具運行 mint CLI。
- 對當前目錄的項目調用不需要
-p標誌。 - 執行寫入操作時,系統會要求確認目標項目和操作。
- Agent 需要記得使用
issue state commit --sha註冊提交。 - 如果沒有活動計劃,
exit_plan_mode會被拒絕。
注意事項¶
- 破壞性命令:
delete、import、sync、export、tui以及全局--db標誌被拒絕。 - 版本要求:需要 DSH 0.1.1-rc.2 和 Node.js >= 20。
- 語言:模型面向的文本目前用中文編寫。
- 自動批准限制:
autoApprove無法靜默寫入確認門禁。 - Mint CLI:通過
mint-faa依賴(>=0.8.0 <1.0.0)解析。
總結¶
dsh-mint 解決了在 DSH 會話中結構化追蹤問題和計劃的需求,通過零審批的主機工具和上下文注入,減少了外部依賴和審批開銷。作者:yanqd0,MIT 許可證。