dsh-solo-agent:DSH 單人編排與上下文優化插件

前言

在 DSH(DeepSeek Harness)的插件化生態中,處理複雜任務時,單一 Agent 往往難以兼顧探索、編輯、驗證和測試。如果隨意開放文件系統工具,上下文佔用會迅速膨脹,且模型調度容易陷入混亂。dsh-solo-agent 是一個解決這一問題的插件,它向用戶 agent-presets 注入 solo preset,通過嚴格的權限控制和閉環調度機制,優化上下文佔用和模型調度。

插件定位

  • 名稱:dsh-solo-agent
  • 作者:TheHeartFickle
  • 類別:模型推理
  • 許可證:MIT

這是一個 DSH 插件,核心功能是向用戶的 agent-presets 注入 solo preset。它通過隔離主 Agent 與子 Agent 的工具權限,實現閉環調度,從而在不犧牲任務複雜度的前提下控制上下文大小。

核心設計

Solo 主 Agent 的編排者角色

Solo 主 Agent 是純編排者,不包含文件系統(shell/fs)和內容編輯工具。在模型可見目錄中,它被隱藏了 bash、pwsh、read、write、edit、glob、grep 和 str_replace_editor 等工具。

Solo 主 Agent 僅保留必要的工具:ask_user_question、todo_write、skill 以及 4 個前臺 subagent 工具。文件系統和 shell 工具由 solo-bootstrap.mjs 在 preset 層掛載,僅供子代理使用。

閉環調度機制

插件實現了閉環調度流程,通過不同的子代理分工協作:

  1. subagent_explore:負責只讀研究,初始化一次,產出目標測試用例、測試命令和根因分析。
  2. 迭代循環(最多 5 輪):
    • subagent_editor:聚焦代碼編輯,不自測。
    • subagent_general:負責執行測試並返回原始輸出。
    • 決策:Solo 主 Agent 僅依據 subagent_general 返回的原始測試輸出進行決策。
  3. 對抗性驗證:當發生大改動或高風險操作且測試通過後,啓動 subagent_verify 進行對抗性驗證,返回 PASS/FAIL/PARTIAL。

子代理 minimal 錨定

插件借鑑了 anchored-standard 的機制,實現了子代理的 minimal 錨定。該機制只對 delegationDepth > 0 的子代理生效。這意味着 Solo 主 Agent 本身不受錨定限制,保證了全局調度的靈活性。

壓縮功能

插件默認啓用一組壓縮功能以優化上下文:
* dsh-compaction-basic
* dsh-compaction-tool-result-pruner
* dsh-command-compact

角色分工

插件在 lib/roles.js 中維護了角色註冊表。以下是各角色的職責與工具可見性:

角色 職責 可見工具 Skill
subagent_explore 只讀研究,產出 target tests / test command / root-cause read, read_image, glob, grep, bash, web_search, web_fetch 無
subagent_editor 聚焦編輯,不自測 read, write, edit, str_replace_editor, glob, grep, bash 無
subagent_verify 對抗性驗證,返回 PASS/FAIL/PARTIAL read, read_image, glob, grep, bash, skill 有
subagent_general 雜活/測試執行,返回原始輸出 read, write, edit, str_replace_editor, glob, grep, bash, web_search, web_fetch, skill 有

項目結構與典型用法

插件通過 dsh.plugin.json 中的配置將 solo preset 注入到系統中。其內部結構包含以下關鍵文件:

  • dsh.plugin.json:插件清單,定義 contributes.presets = ["solo"]。
  • lib/index.js:負責寫入或更新 ~/.dsh/.agent-presets/solo。
  • templates/solo-bootstrap.mjs:負責子代理 minimal 錨定邏輯以及主 Agent 的目錄過濾。
  • templates/compaction-epoch.mjs:用於壓縮後重新錨定的 epoch 跟蹤。

開發者可以通過以下命令進行測試和打包:

npm test
npm run package:registry

適用場景與注意

  • 適用場景:需要高度結構化工作流、對上下文大小敏感、且任務需要明確分工(探索-編輯-測試-驗證)的場景。
  • 注意:
    • Solo 主 Agent 不受錨定影響,這是其全局調度的關鍵。
    • 壓縮功能依賴外部插件(如 dsh-compaction-basic 等),需確保這些依賴已安裝。

總結

dsh-solo-agent 提供了一套嚴謹的 Agent 分工與調度方案,通過限制主 Agent 的工具權限和引入閉環驗證機制,有效解決了上下文佔用和模型調度問題。對於需要精細控制智能體行爲的高級用戶,這是一個值得嘗試的 DSH 插件。

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

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

小夜