前言¶
在 DSH 裏接入外部 CLI 推理能力時,常見需求是把任務委派給獨立子代理,同時保留會話續聊、並行執行和工具步驟回傳。下面介紹倉庫 flg1217/dsh-subagent-codebuddy 中的插件:它把 CodeBuddy Code CLI 註冊爲 DSH 的獨立推理子代理提供方,並暴露 subagent_codebuddy 委派工具。
這是什麼¶
flg1217/dsh-subagent-codebuddy 是 MIT 許可證的 DSH 插件,由 flg1217 維護。
它的定位是把 CodeBuddy Code CLI 接入 DSH,使 DSH 可以創建進程內子代理、並行委派任務、繼續對話,並接收文本與工具步驟。
核心功能¶
1、註冊 codebuddy provider 路由與 subagent_codebuddy 委派工具。
2、進程內子代理會話管理,可並行創建,並用 send_message 續聊。
3、上下文由 DSH 管理;每次調用會把該子代理的完整歷史序列化進 prompt。
4、文本與工具步驟在 DSH 會話與 CodeBuddy 進程間雙向翻譯,工具步驟包括 tool/call 與 tool/result。
5、圖片輸入會落盤爲臨時文件,prompt 中提供本地路徑。
6、長上下文保護:prompt 超過閾值(26K 字符)時自動寫入臨時任務文件。
7、動態模型選擇:subagent_codebuddy 接受 model 參數;list_codebuddy_models 用於查詢模型 id。
安裝與啓用¶
先確認系統要求:
dsh >= 0.1.0-rc.6
CodeBuddy CLI 已安裝並登錄
兼容性驗證日期爲 2026-08-21,驗證於 dsh rc.8。子進程會繼承 CodeBuddy CLI 登錄態。
安裝命令如下,使用 web profile:
dsh plugin --profile web add https://github.com/flg1217/dsh-subagent-codebuddy
安裝後,工具列表中會出現 subagent_codebuddy 與 list_codebuddy_models。
卸載命令:
dsh plugin --profile web remove @flg1217/dsh-subagent-codebuddy
如仍有殘留,需要手工清理 profile 配置和 package.json dependencies 中對應的依賴項。
典型用法¶
1、將前端/UI 等設計任務委派給 subagent_codebuddy,可傳 model 參數動態指定模型。
2、拆分獨立任務到多個 CodeBuddy 子代理並行執行,結果互不干擾。
3、委派前先調用 list_codebuddy_models 查詢當前支持的模型 id,再把準確 id 作爲 model 參數傳入。
4、權限模式默認是 bypassPermissions,子代理工具調用自動放行;如需更保守,可改 acceptEdits 或 plan。
適用場景與注意¶
適合已經在 DSH 中使用 web profile,並希望把 CodeBuddy Code CLI 作爲獨立子代理提供方接入的用戶。插件會運行在 DSH 插件機制內,並繼承 DSH 當前進程權限,安裝前建議先檢查源碼與許可證。
需要注意:默認權限模式較寬鬆,bypassPermissions 會自動放行子代理工具調用。若用於更高權限敏感環境,應改爲 acceptEdits 或 plan。
本次資料中名稱不完全統一:倉庫名爲 flg1217/dsh-subagent-codebuddy,README 標題爲 dsh-subagent-codebuddy,package.json 包名爲 @flg1217/dsh-subagent-codebuddy。本文以倉庫地址指代該插件。
結尾¶
這個插件的價值在於把 CodeBuddy Code CLI 作爲可委派、可並行、可續聊的子代理接入 DSH,同時把上下文管理和工具步驟回傳留在 DSH 會話內。
GitHub 倉庫地址:
https://github.com/flg1217/dsh-subagent-codebuddy
目錄頁鏈接未在本次已覈實資料中提供。