DeepSHPlugins
dsh-subagent-default-model#plugin 项目预览
GITHUB / COMMUNITY PROJECT

dsh-subagent-default-model#plugin

Agent 与自动化JavaScriptMIT

通过 settings.yaml 为子代理派发配置默认模型,支持单模型与多模型轮换/随机分配策略。

2 Starsdingminhua 更新时间 2026-09-04
访问 GitHub 仓库
dsh-subagent-default-model#plugin 项目预览
dsh-subagent-default-model#plugin 界面截图dsh-subagent-default-model#plugin 界面截图

项目介绍

中文

通过 settings.yaml 为子代理派发配置默认模型,支持单模型与多模型轮换/随机分配策略。

English

Configurable default model for subagent delegations via settings.yaml, with single-model and multi-model round-robin or random strategies.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
dingminhua
仓库
dingminhua/dsh-subagent-default-model#plugin
GitHub Stars
2
Forks
0
开发语言
JavaScript
许可证
MIT
最近推送
2026-09-04
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

60/ 100
维护活跃
96
文档与实用信息
100
生态关注度
14
安装便捷信号
100
项目声明信号
100

近 7 天仍在更新;README 含完整安装与使用说明;关注度尚低(2)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:dingminhua/dsh-subagent-default-model#path:/plugin

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-subagent-default-model

English | 中文

为 DeepSeek Harness (DSH) 中的子代理(subagent)派发选择默认模型,可通过 ~/.dsh/settings.yaml 配置。

当创建子代理时未显式指定 model,本插件注入配置的默认模型 —— 因此所有 subagent、subagent_fork 以及任何省略 agentOptions 的工具调用都会经过它。显式传参的覆盖始终生效;配置段缺失或不完整时保持原有行为(子代理继承父会话路由)。

功能特性

  • 单模型 —— 所有子代理运行在同一个配置模型上。
  • 多模型 —— models 列表配合 round-robin / random 策略,让并行子代理分散到多个模型。
  • 连接失败自动切换 —— 子代理遇到连接类失败时,在 models 列表内按 strategy 自动切换模型重试(仅 subagent,主代理不受影响)。
  • 推理强度 —— 可为每个模型条目指定 reasoningEffort(如 high、medium、low);Web 界面从模型目录加载可用的强度。
  • 热重载 —— 设置变更立即作用于下一次派发。
  • 干净卸载 —— Cordis 销毁时还原原始服务方法。

截图

设置面板(设置 → 插件配置 → 子代理默认模型):配置一个或多个模型路由,支持 round-robin / random 分配策略与每路由推理强度。

子代理默认模型设置面板

效果验证:10 个子代理在 deepseek-v4-flash 与 Kimi-k3 之间 5/5 均衡分配(round-robin 实测)。

子代理默认模型分配统计

市场

dshfind 插件

安装

从 npm registry 安装:

npm install dsh-subagent-default-model

或通过 DSH 插件命令(等价,内部同样走 npm):

dsh plugin --profile desktop add dsh-subagent-default-model

发布(Release / Publish)

发布到 npm registry。完整权威流程见仓库根目录 RELEASING.md(含 2FA 确认、tag 修正、代理、验证步骤)。

要点速览:

# 1. 测试:npm --prefix plugin test
# 2. 更新版本号(plugin/package.json 的 version 字段)和 CHANGELOG.md
# 3. 提交并打标签
git add plugin/package.json plugin/CHANGELOG.md
git commit -m "chore: 版本升级至 X.Y.Z"
git tag -a vX.Y.Z -m "vX.Y.Z: <说明>"
git push origin main
git push origin vX.Y.Z

# 4. 发布到 npm(账号若开启 2FA,需在浏览器确认一步)
cd plugin
npm publish
⚠️ 发布前先跑一遍测试:npm --prefix plugin test。
package.json 的 files 字段已限定只发布 lib/、icons/、cordis.patch.yml、LICENSE、README.md、README.en.md、CHANGELOG.md,test/ 和 node_modules/ 不会进入发布包。

本地安装(DSH Desktop / desktop profile):

# 在 ~/.dsh/profiles/desktop 下执行(或使用 dsh plugin 命令)
npm install dsh-subagent-default-model
# 或本地开发:dsh plugin --profile desktop add /路径/plugin(link: 安装,改码即时生效)

说明:

  • 本地开发用 link: 安装:dsh plugin --profile desktop add /Users/dmh2002/DshProject/dsh-subagent-default-model/plugin,node_modules 里是源码软链,改代码后重启 DSH Desktop 生效
  • 正式安装 / 他机安装使用 npm registry 版本(见上方 Install)

配置

在 ~/.dsh/settings.yaml 中添加:

# 单模型
subagent-default-model:
  provider: deepseek-official
  model: deepseek-v4-pro

# 或多模型
subagent-default-model:
  provider: deepseek-official
  models:
    - deepseek-v4-pro
    - deepseek-v4-flash
  strategy: round-robin  # round-robin | random

# 带推理强度
subagent-default-model:
  provider: deepseek-official
  models:
    - model: deepseek-v4-reasoner
      reasoningEffort: high
    - provider: other-provider
      model: gpt-5.6
      reasoningEffort: max
  strategy: round-robin  # round-robin | random
字段类型默认值说明
providerstring—字符串类型模型条目的 provider。
modelstring—单模型 id(向后兼容)。
modelsarray[]模型条目列表(string 或 {provider, model, reasoningEffort?} 对)。
strategystringround-robin分配策略:round-robin 或 random。
failoverEnabledbooleantrue子代理连接失败时在 models 列表内按队列与策略切换模型(仅 subagent)。
reasoningEffortstring—可选推理强度(如 high、max)。

子代理连接失败自动切换

开启 failoverEnabled(默认开启)后,子代理自身的循环遇到连接类失败时,插件会在 models 列表内按 strategy 自动切换模型并重试:

  • 连接类失败 —— 命中以下任一错误码才切换:RATE_LIMIT、QUOTA、SERVER、TIMEOUT、TRANSPORT、EMPTY_RESPONSE。认证错误(如 AUTH)等非连接类失败不会触发切换。
  • round-robin:按列表顺序切到下一个模型(队列)。
  • random:随机挑一个模型(不判断之前是否用过)。
  • 需要 ≥ 2 个模型 —— 当 models 少于 2 项时本功能不生效。
  • 耗尽即放行 —— 列表内全部模型轮试失败后,放行真实错误,不做无限重试。
  • 切换时丢弃继承的 reasoningEffort —— 换到新 provider/model 后按默认推理强度请求,避免把主模型的强度强加给不支持它的 provider。
  • Run 内粘性 —— 同一子代理 run 的后续 step 保持在切换后的模型上。

该机制基于官方 agent/request-error + agent/request 瀑布,且仅对 subagent 生效——主代理循环不会被切换。

工作原理

请求携带显式 agentOptions
  → subagent-default-model 设置
  → 继承父会话路由

插件包装宿主 ctx.subagents 服务(start / startContinuable),覆盖所有派发路径 —— 内置的 subagent / subagent_fork 工具,以及任何调用该服务但未提供 agentOptions 的自定义工具。

许可证

本项目采用 MIT 许可证 开源发布,版权归属:Copyright (c) 2026 LaoDing。

MIT 许可证授予任何人免费处理本软件(包括使用、复制、修改、合并、发布、分发、再许可及出售副本)的权利,前提是所有副本或实质性部分均保留上述版权声明与本许可声明;软件按“原样”提供,不附带任何明示或暗示的担保。完整条款见 LICENSE。

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目