dsh-subagent-model:強制子代理模型與推理努力

在 DeepSeek Harness 的工作流中,子代理通常會繼承父代理的路由。如果沒有顯式配置,這會導致不可預測的模型使用。此插件提供了一種極簡、有主見的方法,通過在下一步驟而不是回合結束後強制指定模型和推理努力,確保子代理始終在選定的配置下運行。

核心功能

  1. 強制模型選擇:子代理必須指定 model 參數。Agent Teams 的 spawn_teammate 沒有 model 參數,因此會使用允許列表中的第一條具體路由。無論是否配置強制,子代理都不會靜默繼承對話的模型。
  2. 強制推理努力:推理努力程度按路由設置,由你決定,而不是由委託代理決定。委託代理沒有努力參數,也無法繼承你的設置。
  3. 拒絕錯誤的努力:在發起任何提供商調用之前,會根據該模型聲明的支持集驗證配置的努力程度,避免在無效配置上浪費資源。
  4. 引導正在運行的子代理:它加入當前正在進行的回合,而不是等待下一回合。這意味着對正在運行任務的修正可以在下一步驟到達,而不是延遲到回合結束後。
  5. 在記錄中顯示路由:每次 subagent 調用都會渲染其運行的模型,便於在會話日誌中核查。
  6. UI 可配置:在設置 -> 插件中,你可以配置路由和下拉列表,列表內容來自各模型實際支持的範圍。

安裝

通過命令行安裝插件。這會掛載託管允許列表的設置命名空間,但不註冊工具。

dsh plugin --profile web add /path/to/dsh-subagent-model

安裝後,插件行爲與內置工具完全一致,直到你編輯允許列表。

配置

通過 UI 配置

進入 DeepSeek Harness 的 Settings → Plugins → Subagent model。卡片列出了允許的路由,每個路由都有下拉列表用於選擇推理努力。點擊“Add a route…”可從模型目錄中選擇。

注意:編輯操作在本地暫存,點擊 Save 後提交生效。

通過 YAML 配置

在 ~/.dsh/settings.yaml 中定義:

dsh-subagent-model:
  routes:
    - kiro/claude-opus-5
    - deepseek/deepseek-chat
    # - inherit/current  # 移除此行以禁止繼承對話的模型
  efforts:
    kiro/claude-opus-5: high
    deepseek/deepseek-chat: provider/default
  • routes:允許列表,格式爲 provider/model-id,包含可選的 inherit/current 條目。
  • efforts:指定每個路由對應的推理努力。

典型用法

此插件替換的是代理預設中的工具行。你需要創建本地副本進行編輯,不要直接修改已安裝的預設(升級時會覆蓋)。

編輯 ~/.dsh/.agent-presets/<your-id>/agent.cordis.yml,替換以下兩個委託行(例如預設名爲 ptc):

    - id: tool-subagent
      name: dsh-subagent-model/spawn
      config:
        provider: spawn
        toolName: subagent
        backgroundMode: continuable
        maxDepth: 1
        toolFilter:
          deny: [subagent, subagent_fork]

    - id: tool-subagent-fork
      name: dsh-subagent-model/spawn
      config:
        provider: fork
        toolName: subagent_fork
        backgroundMode: continuable
        maxDepth: 1
        toolFilter:
          deny: [subagent, subagent_fork]

選擇本地預設開啓新會話。驗證工具架構是否現在要求 model 並枚舉配置的路由。

注意事項

  • 默認行爲:安裝時允許列表種子包含 inherit/current,因此全新安裝行爲與內置工具一致。移除該條目後纔會強制路由。
  • maxDepth 限制:maxDepth 是每個啓動的絕對上限(根深度爲 0),不是繼承 ceilings。子代理可以通過具有更大 maxDepth 的不同前端繞過父級的限制。
  • 防止繞過:在每個子代理中使用 toolFilter 拒絕 subagent 和 subagent_fork,防止子代理創建更深層的委託。
  • 編輯機制:配置編輯在本地暫存,通過 revision-fenced 設置範圍在保存後提交,不會影響正在運行的代理。

生態背景

DeepSeek Harness 的生態理念是“一切皆插件”。此插件由社區開發者 dat-lequoc 維護,遵循 MIT 許可證。插件目錄與 GitHub 倉庫可在此查看:Catalog | GitHub

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

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

小夜