dsh-subagent-tools:为 DeepSeek Harness 增加单次调用覆盖参数

前言

DeepSeek Harness(DSH)通过插件扩展运行时的工具与委托能力。对于需要在不同任务中使用不同模型、persona 或工具过滤策略的场景,默认的 subagent 委托参数可能不够灵活。

dsh-subagent-tools 是一个 DSH bundle,用于增强 subagent 委托工具:支持单次调用覆盖 modelproviderpersonatoolFilter,支持 @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 委托中的 modelproviderpersonatoolFilter 做成单次调用参数,同时保持标准 bundle 安装,不修改官方包文件。

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

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

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

Xiaoye