dsh-subagent-model:爲 DSH 子代理獨立配置模型與預設

前言

DeepSeek Harness (DSH) 官方默認情況下,主 agent 調用的 subagent 繼承主 agent 的同一個模型。你用旗艦模型當主 agent,委派出去的檢索、整理、審計等雜活也全走旗艦模型——既慢又貴,純屬資源浪費。

本插件將兩件事拆開:主 agent 模型繼續用 DSH 官方自帶的模型管理;子代理模型交給本插件。在官方模型菜單左側多出一個「子代理模型」菜單,爲所有委派出去的子代理統一配置 provider / model / 推理強度(全局生效)。

一句話:主模型幹主活,子代理走你指定的(更便宜/更專用的)模型。

核心功能

  • 官方同款 UI:菜單樣式、字體、兩級結構與官方模型菜單 1:1 一致,零學習成本。
  • 與官方菜單互斥:打開「子代理模型」再點官方模型菜單,前者自動收起(反之亦然),同一時刻最多一個菜單展開。
  • 模型目錄共享:讀取與官方菜單同一份會話模型目錄(modelDirectories),廠商/模型/推理強度列表與官方菜單完全同步,只加載一次。
  • 點選即存:選中模型、推理強度或檔位立即持久化,無保存按鈕(與官方行爲一致)。
  • 子代理檔位:爲所有委派的子代理統一套用一個人格 + 工具面組合,與「設置 → Agent 預設」完全同源。支持內置(官方預設)、自定義(插件預置與用戶自建)。
  • delegate_subagent 工具:主 agent 用它委派任務時,子代理真正運行在配置的模型與檔位上,支持前臺等待、後臺啓動與 fork 繼承上下文。
  • 委派策略注入:向主 agent 注入一段簡短 prompt,引導它優先用 delegate_subagent 委派獨立任務。

安裝與啓用

DSH 插件以 npm 包形式掛載到 web profile。

  1. 放置本包(任意路徑,例如 /root/DSH_exe/dsh-subagent-model)。
  2. 在 web profile 的 package.json 中聲明依賴與 bundle:
   {
     "dependencies": {
       "dsh-subagent-model": "link:/root/DSH_exe/dsh-subagent-model"
     },
     "dsh": {
       "profile": {
         "bundles": [
           "...",
           "dsh-subagent-model"
         ]
       }
     }
   }
  1. 建立 link(或用 pnpm 安裝):
   ln -s /root/DSH_exe/dsh-subagent-model /root/.dsh/profiles/web/node_modules/dsh-subagent-model
  1. 重啓 dsh-web:
   systemctl restart dsh-web

使用

打開任意會話,composer 底部官方模型菜單左側會出現「子代理」按鈕。點開菜單選「子代理模型」、「推理強度」或「子代理檔位」即可配置。之後主 agent 委派的子代理將運行在配置的模型與檔位上。若要換回默認行爲,選擇與主模型相同且檔位爲「繼承」。

配置與預設

  • 全局子代理模型保存在 $DSH_HOME/data/dsh-subagent-model/config.json:
  {
    "sub": {
      "provider": "kimi-coding",
      "model": "kimi-for-coding",
      "reasoningEffort": "off",
      "profile": "minimal"
    }
  }
  • 預設檔位的人格文本取自預設自身,工具面裁剪;工具名不符時委派不會失敗(自動降級)。
  • 舊版 dsh-model-manager 配置會在首次啓動時自動遷移。

適用場景與注意

  • 僅支持 DSH web(瀏覽器端 UI)。
  • 需要 DSH 部署自帶 dsh-client-ui-model-selection。
  • License: MIT

結尾

一句話:主模型幹主活,子代理走你指定的(更便宜/更專用的)模型。

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

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

小夜