dsh-subagent-tools:爲 DeepSeek Harness 增加單次調用覆蓋參數

前言

DeepSeek Harness(DSH)通過插件擴展運行時的工具與委託能力。對於需要在不同任務中使用不同模型、persona 或工具過濾策略的場景,默認的 subagent 委託參數可能不夠靈活。

dsh-subagent-tools 是一個 DSH bundle,用於增強 subagent 委託工具:支持單次調用覆蓋 model、provider、persona、toolFilter,支持 @preset: 預設引用,也支持 provider/model 複合 model id。它以標準 bundle 形式提供,不修改官方包文件。

這是什麼

  • 名稱:dsh-subagent-tools
  • 用途:增強 DSH 的 subagent 委託工具
  • 許可證:MIT
  • GitHub:https://github.com/lynx-gt/dsh-subagent-tools
  • 包版本:0.1.0

核心功能

單次調用覆蓋

該包在 subagent 委託工具上增加按單次調用生效的覆蓋參數。

  • model:覆蓋本次調用的模型,支持裸模型 id,也支持 provider/model 複合 id。
  • provider:覆蓋本次調用的委託 provider。這裏的 provider 表示 subagent backend,不是 LLM provider;如果目標是切換 LLM provider,應使用複合 model id 或實例 agentOptions。
  • persona:覆蓋本次調用的 persona,支持原始文本,也支持 @preset:<id> 預設引用。
  • toolFilter:覆蓋本次調用的工具允許/拒絕過濾策略。

preset 引用

@preset: 引用依賴本機 preset 佈局。不同機器上的 preset 可能不同,例如 @preset:審校員 只在存在該 preset 的環境中可被解析。

可以通過 presetHints 在工具 schema 中展示當前部署上可用的 preset,便於模型在調用時選擇合適的 @preset:<id>。

bundle 與兼容性

該包以標準 dsh bundle 提供,不修改官方包文件。

它通過 peerDependencies 聲明 dsh 兼容版本;如果當前 dsh 版本不滿足要求,插件會拒絕加載。

package.json 中聲明的兼容依賴包括:

{
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.1",
    "@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
    "@deepseek-ai/dsh-subagent": "^0.1.0-rc.6",
    "@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
    "@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
    "@deepseek-ai/dsh-session": "^0.1.0-rc.6",
    "@deepseek-ai/dsh-jobs": "^0.1.0-rc.6"
  }
}

安裝與啓用

下面步驟面向 web profile。

1、安裝插件:

dsh plugin --profile web add dsh-subagent-tools

2、如果啓用 Web 會話,運行 preset adapter,使 Web 會話的工具行指向該包。Windows 環境使用:

powershell -ExecutionPolicy Bypass -File install-preset.ps1

POSIX 環境使用:

./install-preset.sh

3、重啓 dsh web,並新建會話:

restart dsh web and start a NEW session

注意:未運行 preset adapter 時,默認 standard preset 仍指向官方 subagent 包。headless 和其他非 web profile 不需要 preset adapter。

典型用法

下面示例在單次 subagent 調用中指定複合 model id 和 preset persona:

subagent(description="Review the translation", prompt="...", model="kimi-code/k3", persona="@preset:審校員")

這裏 model="kimi-code/k3" 使用複合 model id;persona="@preset:審校員" 引用本機已存在的 preset。

適用場景與注意

適合以下場景:

  • 需要按任務切換模型、persona、subagent backend 或工具過濾策略。
  • 使用 DSH Web 會話,並願意運行 preset adapter。
  • 接受 MIT 許可證,並在使用前檢查插件源碼。

需要注意:

  • 本包不提供 cwd 參數。cwd 功能在配套包 dsh-subagent-tools-cwd,二者不要同時安裝。
  • provider 參數表示 subagent backend,不是 LLM provider。
  • @preset: 引用依賴本機 preset 佈局,不同機器上的 preset 可能不同。
  • Web 會話需要運行 preset adapter;headless 和其他非 web profile 不需要。
  • 插件會進入 dsh 運行環境,並以當前 dsh 進程權限運行。安裝前應檢查源碼與許可證。

結尾

dsh-subagent-tools 的價值在於把 subagent 委託中的 model、provider、persona、toolFilter 做成單次調用參數,同時保持標準 bundle 安裝,不修改官方包文件。

GitHub:https://github.com/lynx-gt/dsh-subagent-tools

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

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

小夜