子代理模型路由 NinjaSln-labs/dsh-subagent-router
DeepSeek Harnessv0.6.0为 subagent 委派做模型路由的 DeepSeek Harness 插件。自带的 subagent…
30.3/100
综合分
1
GitHub 星标
156
npm 周下载
—/5
用户评分
数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-subagent-routernpm 源 · dsh-subagent-router 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(runtime_smoke_failed · 2026/10/28) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-subagent-router @ 0.6.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 01:13:18
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求lib/client.js:44
const res = await fetch(CATALOG_RPC_PATH, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-attachment@deepseek-ai/dsh-brand@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-invariants@deepseek-ai/dsh-jobs@deepseek-ai/dsh-llm给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- auto路由策略
- 任务档位与失败升级
展开完整介绍(126 字)↓
DeepSeek Harness 子代理模型路由插件:subagent_model 工具 + model:“auto” 路由策略(任务档位、失败升级、可审计),子代理不再继承父模型。为 DeepSeek Harness 提供按模型路由的子代理委派能力。
README
由 DeepSeek 最新模型翻译生成dsh-subagent-router
中文为本仓库权威文档;English 翻译可能滞后。
为 subagent 委派做模型路由的 DeepSeek Harness 插件。自带的 subagent 工具只会继承父级模型路由;本插件新增一个姊妹工具,让委派模型在每次调用时自行挑选子代理的 LLM provider、model 与 输出上限(或把选择交给内置的 model: "auto" 路由策略)—— 而委派的其他一切(深度核算、委派策略、continuable 后台子代理、结果收集)仍然完全走标准的 ctx.subagents 通道。
工具
| 工具 | 用途 |
| subagent_model | 委派任务给子代理,并在本次调用中指定 provider / model / max_tokens。省略的字段继承调用方代理的路由。传 model: "auto" 可把模型选择交给内置自动策略。
展开完整文档(README 剩余 1 节)
dsh-subagent-router
中文为本仓库权威文档;English 翻译可能滞后。
为 subagent 委派做模型路由的 DeepSeek Harness 插件。自带的 subagent 工具只会继承父级模型路由;本插件新增一个姊妹工具,让委派模型在每次调用时自行挑选子代理的 LLM provider、model 与 输出上限(或把选择交给内置的 model: "auto" 路由策略)—— 而委派的其他一切(深度核算、委派策略、continuable 后台子代理、结果收集)仍然完全走标准的 ctx.subagents 通道。
工具
| 工具 | 用途 |
| subagent_model | 委派任务给子代理,并在本次调用中指定 provider / model / max_tokens。省略的字段继承调用方代理的路由。传 model: "auto" 可把模型选择交给内置自动策略。 |
| subagent_models | 只读目录:列出当前 ctx.llm 上注册的 provider 路由(listProviders())及每个 provider 广告的模型列表,并为每个模型标注派生元数据(cost 成本档 / speed 速度档 / strength 强度档 / specialty 特长 / contextWindow 已知模型的上下文窗口)+ 每个路由的 health 状态。 |
| subagent_recommend | 智能推荐:任务描述 → 返回排名靠前的 provider/model 建议(top-n,默认 3)。首选一次轻量 LLM 分类(ctx.llm.stream(),锚定父模型、失败多候选重试),并把全量目录精简成一个「模型选型范围」(≤12 = cheapest/medium/strong/best 四档各 3、去版本归一、多 provider 按优先级去重)喂给分类器;分类失败即降级到命名启发式并说明原因。结果带 recommended(系统默认首选)与 tier 四档。 |
模型选择如何工作
- provider 会与 ctx.llm 上注册的路由(如 deepseek-official,或你在 settings 里声明的任意 pi-ai 路由)做硬校验;未知路由立即报错并列出已注册路由。
- model 原样透传。Harness 把模型目录视为「参考性」信息:DeepSeek 适配器接受任意模型 id,而 pi-ai 路由会拒绝未配置的模型 —— 所以模型有效性由 provider 自己裁决,与你自己会话的行为完全一致。subagent_models 的存在就是为了让模型能做出有依据的选择。
- max_tokens 限制子代理输出(正整数),透传为 agentOptions.maxTokens。
- 子代理通过 ctx.subagents.start() / startContinuable() 创建,携带 agentOptions = { provider, model, maxTokens };harness 的 resolveChildAgentOptions 会把本次覆盖与父级路由合并,因此省略的字段自动继承。
自动选择(model: "auto")
把模型选择交给一个确定性、可审计的策略 —— 不引入额外 LLM 调用:
1. 确定 provider:显式 provider 参数优先,否则取调用方代理自己的路由(parent.options.provider)。需要 llm 服务。
2. 任务分档:trivial(短任务,≤160 字符且无重标记)、complex(≥1200 字符,或含代码块 / 结构化输出诉求 / 推理动词如 analyze、design、debug、refactor、evaluate),其余为 standard。
3. 默认锚定父模型:调用方代理的 options 在解析出的 provider 上命名了模型时,就用它 —— trivial/standard 任务无条件使用,complex 任务在父模型已算强模型(pro / max / reason / think / ultra / code / turbo / large / deep)时也保留。只有两种情况回退到目录打分选型(强信号 +1、廉价信号 flash/mini/lite/fast/small/quick/nano/light −1;trivial 取最低分、complex 取最高分、standard 取第一个 0 分):父没有命名模型,或任务是 complex 且父模型不够强(此时取目录最强模型)。显式 provider 与父路由不同时同样丢弃锚点(父模型不再属于该分组)。
4. 可审计:每次 auto 调用都会在工具结果里记录 auto: { provider, model, tier, reason, anchored?, escalatedFrom?, reroutedFrom?, rerouteReason? },渲染文本带 [auto] 行(保留父模型时带 anchored 标记)与理由 —— 随时可以问「为什么选它」。
5. 失败恢复(仅前台调用):
- 瞬态失败升级(autoEscalate + autoEscalationTiers):遇到 rate-limit / server / timeout / transport / 未分类失败时,用下一档重试(trivial → standard → complex,默认最多 1 次),但仅当该选择严格更强于当前模型时才升级 —— 锚定的强父模型永远不会被降级。重试结果记录 escalatedFrom。后台/continuable 调用跳过升级(失败对调用方不可见)。
- 终态失败换路(autoReroute):quota / auth(配额耗尽 / 凭据失效)重试同一 provider 无意义 —— 直接换到目录里第一个健康的 provider 路由重启(reroutedFrom + rerouteReason)。升级中若撞上终态失败也会停止继续升级该 provider。
6. 健康感知(死锚检测):插件在会话内记录每个 provider 路由的失败分类。一旦父模型所在路由被判定不健康,后续 model: "auto" 调用不再锚定该父路由,而是直接改挑健康 provider —— 避免把子代理一直钉在坏路由上。过期时间按失败类型分档:auth 终态(不过期)· 不支持模型 24h · rate-limit 用 retry-after(无则约 35s,RPM 假设)· quota 下一整点 · server/timeout/transport/context 60s · 未分类默认 5min。subagent_models 目录工具也会为每个 provider 标注 health: healthy/unhealthy + failingClass + retryAfterSec。
7. 失败详情透传:子代理失败不再只是「subagent run failed」——能观测到的失败(start 拒绝、基础设施故障)会被分类(quota / rate-limit / auth / context / server / timeout / transport)并脱敏后拼进工具结果(含 HTTP 状态码与 retry-after),调用方直接看到「provider rate-limited (http 429)」而不是误判成执行失败。
策略刻意保守:默认沿用调用方自己的模型,只有任务明显超出弱父模型能力时才升级,从不隐藏自己的决策理由,并且一旦路由被证实不健康就果断换路而不是盲目重试。
安装
dsh plugin add dsh-subagent-router
bundle 只插入一行组合(subagent-router)。它消费 host 的 tools / subagents / llm 注册表且不发布任何服务,所以属于 host 平面(或 preset 的自由行),不需要 isolate realm。
配置
Plugins 页配置:插件提供 client half,配置在 Plugins →「子代理模型路由配置」 里直接编辑(提供方优先级、各档选型策略与候选模型均为下拉选择)。全部可配置项都是 live 字段(schema 标 .volatile())——保存写入 profile patch 的 subagent-router 条目,保存后下一次 subagent_model 调用即生效,无需重启;清除字段回退到下方组合行配置(base 层)。
也可以写在组合行的 config 里(作为 base 层,被设置页 user 层覆盖):
| 字段 | 默认 | 含义 |
| autoEscalate | true | 前台运行失败后是否用高一档自动重试一次。 |
| autoReroute | true | 终态失败(quota/auth)时是否换到健康 provider 路由重试。 |
| autoEscalationTiers | 1 | 同一 provider 上瞬态失败的最大升级次数(0 表示不升级)。 |
| autoProviderOrder | — | provider 优先级:model: "auto" 按此顺序解析 provider(未列出的排在之后);父路由不健康或缺失时用它兜底。不配则用注册表顺序。 |
| autoTierPolicy | — | 每档选型模式:{ trivial\|standard\|complex: 'anchor'\|'cheapest'\|'strongest' }。anchor=父路由健康时沿用父模型;cheapest=目录里命名分最低;strongest=最高。未配的档位保持内置启发式。 |
| autoTierPicks | — | 每档显式候选序:{ trivial\|standard\|complex: [modelId, ...] },完全覆盖该档选型;候选是全局模型优先级,按 provider 优先级顺序找,第一个被健康 provider 广告的模型胜出(可跨 provider)。 |
| recommendTimeoutMs | 8000 | subagent_recommend 的一次性 LLM 分类调用超时(毫秒,范围 1000–60000);超时降级到命名启发式并说明原因。 |
固定默认(不可配置):注册期行为固定为合理默认,不再暴露为配置项(早期版本这些字段可配但「保存」不生效,是陷阱):
| 槽位 | 固定值 | 理由 |
| 子代理提供方 | spawn | dsh 主程序的默认可续子代理提供方。 |
| 委派/目录工具名 | subagent_model / subagent_models | 标准命名,改名无场景价值。 |
| 后台模式 | continuable | 与 dsh harness 原生 subagent 语义一致:默认后台、立即返回持久子代理 id、同会话可续聊;需要前台等待时显式传 run_in_background: false。要求提供方具备 prepareContinuable(不支持则挂载时 fail-loud)。 |
| 功能开关 | 全开(run_in_background / model: "auto" / 目录工具) | 关闭无场景价值。 |
| 深度上限 | provider-managed | 交给提供方管理递归预算,任何提供方可挂载(不要求 depthLimit 能力)。 |
示例行:
- id: subagent-routeryaml
- id: subagent-router
name: 'dsh-subagent-router'
带模型路由优先级的示例(按你自己的供应商偏好配置): yaml
- id: subagent-router
name: 'dsh-subagent-router'
config:
autoProviderOrder: [deepseek-official, pi-ai-cn] # 供应商优先级
autoTierPolicy:
trivial: cheapest # 琐碎任务永远用最便宜的 standard: anchor # 普通任务跟随父模型 complex: strongest # 重任务用最强模型 autoTierPicks:
complex: [deepseek-v4-pro, pi-3-maxi] # 可选:重任务显式候选序
典型模型流程
1. subagent_models → 列出 deepseek-official(含其目录)与所有 pi-ai 路由。
2. subagent_model 传 { description: "对比定价", prompt: "...", provider: "deepseek-official", model: "deepseek-r1", max_tokens: 4000 } → 子代理在该路由上运行并返回结果。
3. subagent_model 传 { description: "say hi", prompt: "hi", provider: "deepseek-official", model: "auto" } → 若调用方自己的模型属于该 provider,则沿用父模型([auto] 行带 anchored 标记);否则回退到目录选型并记录 [auto] ... 及其理由。
4. 省略 provider/model 即让子代理沿用你自己的路由。
开发 bash
npm install --legacy-peer-deps
npm test # vitest:schema 形态、路由校验、agentOptions 透传、目录工具、auto 策略与升级、健康换路
npm run build # tsc -> lib/ + esbuild 客户端 bundle
测试套件在真实的 ToolRuntime + SubagentRuntime 上驱动真实插件体,使用脚本化子代理 provider 与伪造的 llm 路由注册表;不触网、不用凭据。
路线图
自动路由策略的后续计划(目录元数据、推荐工具、反馈闭环、预算上限):见 docs/ROADMAP.md。发布记录见 PUBLISHING.md。交接记录(.handoff/ 存储)为本地私有,不入仓库/npm 包。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
NinjaSln-labs/dsh-subagent-router
为 subagent 委派做模型路由的 DeepSeek Harness 插件。自带的 subagent…
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 426,451已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,777已汉化MCP
71.8
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲一键通z91772524-ai/pojia-next
🌐 官网国内推荐从这里进:
★ 1,021已汉化DSH
71.6
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 656已汉化DSH
70.7
这是你的仓库?认领条目