🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

模型调度器 Dalizi2026/dsh-model-dispatch

DeepSeek Harness
Dalizi20263 天前有提交已提供中文文档扫描:含敏感能力

为 DeepSeek Harness DSH 的主会话、子代理与计划模式分别选择模型与思考强度。

40.6/100
综合分
16
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Dalizi2026/dsh-model-dispatch
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-model-dispatch(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 07:02:53

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    lib/session-overrides.js:59
    text = await readFile(this.path, 'utf8');
  • 读取本地文件
    lib/route-locks.js:56
    text = await readFile(this.path, 'utf8');
  • 发起网络请求
    lib/route-enforcer.js:273
    return await this.request(agent, await next());
  • 写入本地文件
    lib/atomic-json.js:7
    await mkdir(directory, { recursive: true });
  • 写入本地文件
    lib/atomic-json.js:18
    await rename(tmp, path);
  • 删除本地文件
    lib/atomic-json.js:21
    await unlink(tmp).catch(() => { });
  • 发起网络请求
    lib/client/PlanReviewPanel.js:27
    const response = await fetch(PLAN_MAIN_MODELS_ROUTE, { credentials: 'same-origin', cache: 'no-store' });
  • 发起网络请求
    lib/client/route-status-store.js:40
    const value = await this.read(await fetch(`${ROUTE_STATUS_PATH}?sessionId=${encodeURIComponent(id)}`, { credentials: 'same-origin', cache: 'no-store'
  • 发起网络请求
    lib/client/route-status-store.js:54
    const value = await this.read(await fetch(ROUTE_CONFIRM_PATH, { method: 'POST', credentials: 'same-origin', headers: { 'content-type': 'application/js
  • 发起网络请求
    lib/client/session-label-store.js:34
    const response = await fetch(SESSION_LABELS_ROUTE, { credentials: 'same-origin' });
  • 发起网络请求
    lib/client/session-overrides-store.js:55
    const response = await fetch(SESSION_OVERRIDES_ROUTE, {
  • 发起网络请求
    lib/client/session-overrides-store.js:81
    const response = await fetch(SESSION_OVERRIDES_ROUTE, { credentials: 'same-origin' });
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-default-model@deepseek-ai/dsh-api-gateway@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-controller@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-conversation
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按会话切换模型
  • 指定主代理模型
  • 指定子代理与计划模型

DeepSeek Harness 插件:为主智能体、子代理和计划模式按会话切换模型(DSH 0.2.0-rc.2)。基于 lincong1987/dsh-model-switch。

README

由 DeepSeek 最新模型翻译生成
dsh-model-dispatch 为 DeepSeek Harness (DSH) 的主会话、子代理与计划模式分别选择模型与思考强度。 本插件参考了 lincong1987/dsh-model-switch 的原始设计与代码,在其基础上针对 DSH 0.2.0-rc.2 / 0.2.1-rc.1–rc.3 适配并做了大量优化:跟随 0.2.x 的设置系统(volatile Config + configForms)、子代理投影与会话模型接口重写,并新增计划模式自动切换、按会话覆盖、路由校验与新 UI。上游仓库只支持 0.1.x。 功能 - 聊天栏双入口:输入框同时显示 主模型 与 子代理 两个芯片。主模型使用 DSH 原生切换接口;子代理选择只影响当前会话之后新启动的子代理。 - 统一模型菜单:所有入口共用同一个菜单——搜索、提供方分组、收藏、最近使用、思考强度。选模型后菜单保持打开,直接调强度,点 应用 一次保存;取消、Esc 或点击菜单外丢弃草稿,不写配置。 - 设置页三项:新会话默认模型、子代理默认模型、制定计划模型。每项一句说明,无重复装饰。 - 计划模式自动切换:进入计划模式自动切到“制定计划”模型做计划;批准计划或 /plan off 后,在第一条执行请求前自动恢复进入计划前的主模型与推理档位。审批面板显示将恢复的模型。
展开完整文档(README 剩余 1 节)
dsh-model-dispatch

为 DeepSeek Harness (DSH) 的主会话、子代理与计划模式分别选择模型与思考强度。

本插件参考了 lincong1987/dsh-model-switch 的原始设计与代码,在其基础上针对 DSH 0.2.0-rc.2 / 0.2.1-rc.1–rc.3 适配并做了大量优化:跟随 0.2.x 的设置系统(volatile Config + configForms)、子代理投影与会话模型接口重写,并新增计划模式自动切换、按会话覆盖、路由校验与新 UI。上游仓库只支持 0.1.x。

功能

- 聊天栏双入口:输入框同时显示 主模型 与 子代理 两个芯片。主模型使用 DSH 原生切换接口;子代理选择只影响当前会话之后新启动的子代理。
- 统一模型菜单:所有入口共用同一个菜单——搜索、提供方分组、收藏、最近使用、思考强度。选模型后菜单保持打开,直接调强度,点 应用 一次保存;取消、Esc 或点击菜单外丢弃草稿,不写配置。
- 设置页三项:新会话默认模型、子代理默认模型、制定计划模型。每项一句说明,无重复装饰。
- 计划模式自动切换:进入计划模式自动切到“制定计划”模型做计划;批准计划或 /plan off 后,在第一条执行请求前自动恢复进入计划前的主模型与推理档位。审批面板显示将恢复的模型。
- 按会话子代理覆盖:聊天栏的子代理选择保存为会话覆盖(持久化),不改设置默认;可一键恢复为设置默认。
- 全部模型可委派:主代理、子代理与计划模型共用宿主当前模型目录。人用菜单保留完整目录,新增模型自动可用;模型发现工具只报告用户锁定的路由,不能自行改选。
- 保存前路由校验:保存覆盖与创建子代理前,通过宿主 resolveCallConfig 校验 provider/model/effort 的真实组合;无效组合直接给出具体错误,不会等子代理运行失败。

1.2.0 升级

- 子代理创建时原子保存模型锁,每次请求组装和派发前校验。工具参数、预设与模型自行指定的路由不能覆盖用户选择。
- 无效配置、不可用模型、加载或保存失败、锁记录损坏时停止请求,禁止静默换模。
- 历史子代理缺少可靠锁记录时暂停;在子代理标题栏确认模型后,保留原上下文继续。
- 界面展示用户选择、最近放行的请求及选择来源;只有宿主确认后才显示锁定。完整行为与兼容说明见 1.2.0 升级说明。

路由规则

- 子代理:本会话选择 > 设置里的子代理默认 > 宿主已确认的父会话当前或待生效模型。模型和思考强度整体锁定,工具与启动参数不能覆盖。聊天栏改选只影响之后新建的子代理;已有子代理保持锁定,嵌套委派继承此锁定。
- 计划:进入计划前原子保存当前会话的 provider/model/effort → 临时使用“制定计划”模型 → 批准或退出计划后、第一条执行请求组装前恢复。恢复失败可重试,不会卡死在计划模型上。
- 默认与会话独立:设置页保存的是新会话默认;聊天栏选择、计划自动切换只改当前会话。宿主适配层用 AsyncLocalStorage 隔离原生 selectModel 的“写部署默认”副作用,只拦这一条调用链,不影响独立的默认设置写入。

安装

以 DeepSeek Harness 0.2.1-rc.3 为适配基线,覆盖 rc.2、rc.1 和 0.2.0-rc.2 的原生入口回归。其他版本需重新验证。

dsh plugin --profile desktop add github:Dalizi2026/dsh-model-dispatch

把 desktop 换成你实际使用的 profile。等待现有任务结束,安装完成后完全退出并重新打开 DSH(宿主半边需要重组合;只刷新页面只会加载新的客户端半边)。

仓库内 lib/ 是已构建的产物,直接从 GitHub 安装即可使用,无需本地构建。

持久化

| 数据 | 位置 |
| 设置默认(子代理默认 / 制定计划模型) | DSH profile 配置(volatile 字段,经设置页或 打开配置文件 均可改) |
| 新会话主模型默认 | 原生 agent-default-model 配置项 |
| 会话子代理覆盖 | $DSH_HOME/storages/model-switch/session-overrides.json |
| 子代理不可变模型锁 | $DSH_HOME/storages/model-switch/child-route-locks.json |
| 计划前主模型暂存 | $DSH_HOME/storages/model-switch/plan-main-models.json(恢复成功后清除) |
| 菜单收藏 / 最近使用 | 浏览器 localStorage(不同步设备) |

构建与测试

npm ci
npm test # vitest
npm run build # tsc(双工程)+ tsdown 客户端 bundle

测试覆盖:工具与原生启动参数冲突、锁定持久化与并发写入、损坏及写入失败、历史确认的认证与父子关系、嵌套继承、最终请求拒绝、计划边界与默认隔离、客户端保存确认竞态。

完整宿主的模拟请求验证(不产生模型消费):

DSH_TEST_MODULE_ROOT=/绝对路径/dsh/node_modules node scripts/verify-host.mjs

脚本使用独立临时 profile,核对原生工具、嵌套委派、请求头和适配器调用,并断言 Opus 派发次数为 0,不操作正在使用的桌面 profile。

已知限制

- 与 DSH 0.2.x 的内部接口(configForms、sessionProjections、sessionController、planMode)强耦合;DSH 升级需回归测试。
- 运行中的计划审批读取结构化 approved 值;跨重启恢复还会读取历史工具结果与 plan/mode 事件,宿主事件格式变化需回归验证。
- 子代理内部不参与计划换模,继续使用自身锁定;嵌套委派继承该锁定。
- 无法保证实际模型的外部后端会被拒绝。配置与锁异常需要修复或明确确认历史模型,没有自动换模兜底。
- “最近放行请求”来自最终守卫的请求事实,不代表上游成功或计费确认。

致谢

- 原始设计与 0.1.x 实现:lincong1987/dsh-model-switch(MIT)——本插件在其基础上参考并优化。
- PR #1 指出了 startActivation 入口变更;本轮保留其问题来源与原生入口测试。
- 0.2.x 适配、计划模型切换、会话覆盖、路由校验与全部新 UI 由本仓库重写/扩展。

License

MIT
预览分享卡片长什么样 ↓Dalizi2026/dsh-model-dispatch
分享 · DeepSeek Harness Hub
Dalizi2026/dsh-model-dispatch

为 DeepSeek Harness DSH 的主会话、子代理与计划模式分别选择模型与思考强度。

回到顶部