dsh-subagent-model-director:爲 subagent 按智能分級與併發分派模型

前言

在 DeepSeek Harness(DSH)裏用 subagent 並行拆任務時,常見做法是全部走同一子模型,或靠人工指定 provider/model。任務複雜度不一、各模型吞吐也不同,簡單檢索和深度推理混在同一檔上,要麼浪費貴模型算力,要麼在高級模型上排隊。下面介紹社區插件 dsh-subagent-model-director(維護者 fred-chen):把「模型檔案(智能程度 + 併發數)+ 複雜度判據 + 分配策略」注入父會話,並提供批量分派工具,讓產生 subagent 的父會話按規則爲每次委派選模型。

這是什麼

dsh-subagent-model-director 是 DSH 的 bundle 插件,定位是 按智能分級與併發數爲每個 subagent 挑選模型。父會話當前模型負責判斷任務複雜度;插件向父會話系統提示詞注入檔案表與策略,並註冊 subagent_assign_model,支持批量、併發感知的分派。

分類上屬於「模型推理」類能力;倉庫 GitHub,社區目錄頁 SkillHub。SkillHub 爲獨立社區目錄,與 DeepSeek / 幻方無官方從屬關係。

核心功能

模型檔案

每個檔案從 DSH 全局「Subagent → Model selection」允許列表裏選 provider/model,並配置:

屬性 說明
智能程度 高(深度推理/計劃/設計/創造)· 中(代碼分析/審查/推斷)· 低(檢索/整理)
併發數 該模型可同時運行的任務數;滿載後順延下一級
Reasoning effort 可選;留空則用所選模型默認檔
啓用 關閉的檔案不參與分配

檔案只能使用全局允許列表中的模型;保存與運行時都會校驗。列表變更後,失配檔案會在設置頁標黃並在運行時跳過。

分派策略(v0.3.2 起)

模型 只按智能程度分級(高/中/低),不再依賴舊版的 tags/speed/loadBalancing 等字段(升級後舊字段會被忽略,檔案保留,併發數默認 1,在設置頁保存一次可清理過時配置):

  1. 高級優先:高級模型可承擔低級任務;默認交給「仍有空位的最上級」模型。
  2. 難者先佔高級算力:批量並行時,父模型按高/中/低判複雜度,難任務先佔高級空位,簡單任務順延。
  3. 滿載順延:某級併發滿 → 下一級。
  4. 全部滿載:任務數超過所有併發總和 → 按難度與各模型併發份額分配剩餘任務。
  5. 關鍵詞規則(可選):任務文本命中關鍵詞時優先指定目標檔案(有空位時;多條按優先級)。

複雜度判據會寫入父會話提示詞,例如:架構方案、複雜設計 → 高;代碼審查、根因排查 → 中;檢索、格式化整理 → 低。

三層決策

層 誰決策 在哪裏
主路徑 父會話大模型 讀注入的檔案表與策略,自行填 provider/model/reasoning_effort
會話內兜底 大模型 + subagent_assign_model 批量傳入計劃委派,工具按策略返回路由並更新併發計數
設置頁「分派測試」 純代碼 與第 2 層相同分配內核,預覽規則鏈(不調用大模型、不計入併發)

併發計數以 subagent_assign_model 調用爲準(30 分鐘半衰、進程內存、重啓清零);未走工具的直接委派不計入,主要影響均衡而非路由正確性。

其它組成

  • 設置頁:側欄 插件 → subagent-model-director → Configure,經 /api/dsh-subagent-model-director/* 讀寫配置。
  • 系統提示詞段落 subagent-model-director:profiles:檔案表、判據、策略、關鍵詞規則;guidanceMode 可選簡潔/詳細/關閉。
  • 核心邏輯在 lib/core.js(純函數,README 稱 53 項場景單測覆蓋)。

注意:subagent_fork 不能選子模型路由;分派對支持 agentOptions 的 subagent(如 spawn)生效。插件在 當前 DSH 進程權限 下運行,安裝前宜自行查看源碼與 MIT 許可證。

安裝與啓用

要求:DeepSeek Harness ≥ 0.1.7-rc.1(依賴宿主 settings 橋、tools API 與 subagent 組合)。Node ≥ 20。

方式一:DSH 插件管理器(推薦)

  1. 側欄 插件 → 安裝(Install bundle);
  2. 輸入:
github:fred-chen/dsh-subagent-model-director

(或 https://github.com/fred-chen/dsh-subagent-model-director.git)
3. 確認安裝後默認啓用。

方式二:CLI

dsh plugin --profile <你的profile名> add github:fred-chen/dsh-subagent-model-director

方式三:手動 pnpm

cd ~/.dsh/profiles/<你的profile名>
pnpm add github:fred-chen/dsh-subagent-model-director

並在該 profile 的 package.json 的 dsh.profile.bundles 中加入 dsh-subagent-model-director。

安裝後建議 重啓 DSH,在插件頁確認 subagent-model-director 已啓用。

配置步驟

  1. 設置 → 插件 → Subagent → Model selection:啓用並勾選允許子代理使用的模型(本插件檔案只能從此列表選)。
  2. 插件 → subagent-model-director → Configure:添加檔案(provider/model、智能程度、併發數、可選 reasoning effort);可選關鍵詞規則與提示詞注入模式。
  3. 頁面底部 分派測試:一行一個任務,可用 high:/medium:/low: 前綴表示複雜度,純代碼模擬、不調用大模型。
  4. 保存後 新會話 生效;父會話系統提示詞會出現檔案表與分配策略。

更新 bundle 示例(README):

pnpm add github:fred-chen/dsh-subagent-model-director#main

重啓 DSH。發佈 npm 後也可 pnpm add dsh-subagent-model-director@latest。

典型用法

父會話在批量 spawn subagent 前,策略會建議先調用 subagent_assign_model,傳入全部計劃委派(含任務描述與複雜度),採納工具返回的每個任務的 provider/model/reasoning_effort 再委派。

配置階段用 分派測試 驗證規則鏈,例如多行任務:

high: 設計跨服務鑑權方案
medium: 審查 PR 裏的 SQL 注入風險
low: 整理 README 裏的安裝步驟

保存配置、開新會話後,父模型依據注入的判據與檔案表爲真實 subagent 填路由。

適用場景

  • 同一父會話裏並行多種 subagent,希望 難任務佔高級模型、簡單任務佔低檔,並受 併發上限 約束。
  • 已在 DSH 裏配置好多模型,且已在 Subagent Model selection 裏放行,需要 可配置的檔案表 + 提示詞注入 + 工具兜底,而不是每次手寫 model 參數。
  • 需要 關鍵詞強信號 把某類任務固定到指定檔案(在有空位時)。

不太適合:只 fork subagent、不 spawn 且依賴 KV 前綴複用同一模型的流程;或 subagent 只允許單一固定模型的極簡環境。

結尾

dsh-subagent-model-director 把 subagent 模型選擇從「全走同一檔」變成「檔案 + 複雜度 + 併發」的可重複規則,並落在 DSH 的設置頁、系統提示詞與 subagent_assign_model 三處。目錄與文檔:

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

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

小夜