dsh-submodel-change

DSH PLUGIN模型与账号接入

仓库 Anna-la/dsh-submodel-change

模型与账号接入 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DeepSeek Harness 插件,当 AI 派发子代理时弹窗让你选择由哪个 provider/模型驱动,选后子代理及嵌套子代理自动复用该模型,不再打扰。

一句话选型结论

按资料字段整理

dsh-submodel-change 是模型与账号接入类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,列出 4 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类模型与账号接入 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-08-29 创建于 2026-08-27
README 5.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:Anna-la/dsh-submodel-change
  1. 1
    确认版本与运行环境

    兼容的 DSH 版本为 0.2.0-rc.2 等 7 个;版本不匹配时安装会报错。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本0.2.0-rc.2 等 7 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-submodel-change:DeepSeek Harness 的子代理模型选择插件

  • 子代理弹窗选模型
  • 嵌套子代理自动继承
  • 同父会话复用选择
  • 零依赖纯 JS 实现

上游标签

dsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度稳定按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 标注了兼容的 DSH 版本(0.2.0-rc.2 等 7 个),按版本装不容易报错。
  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在模型与账号接入场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-submodel-change当前 L5 · 运行验证通过 低风险 0 0.2.0-rc.2 等 7 个 有
archify L4 · 沙盒安装通过 低风险 8.0 万 未标注 有
DeepSeek-Reasonix L4 · 沙盒安装通过 低风险 3.6 万 未标注 有
nocobase L3 · 安装规范通过 低风险 2.5 万 0.1.1-rc.2 无
learn-harness-engineering L4 · 沙盒安装通过 低风险 2.0 万 未标注 有
dsh-our-free-model 未做沙盒验证 未标注 8,064 未标注 无

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方Anna-la仓库 dsh-submodel-change · 默认分支 main
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-27 · 2026-08-29最后推送 2026-08-29
本站收录2026-08-29首次进入本站目录的时间

README 全文

5.5 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-submodel-change

DeepSeek Harness 插件:当 AI 决定调用一个 subagent(子代理) 时,在弹窗里由你选择
这个子代理由哪个 provider/模型驱动,选好后该子代理(以及它嵌套派生的子代理)
就使用你选的模型运行,不再打扰你。

  • 零依赖:不 import 任何 @deepseek-ai/* 包,无需构建,纯 JS (ESM)。
  • 官方扩展点实现:利用 agent/request waterfall 的「替换 LlmCallConfig」能力,
    这是 Harness 为拦截/改写模型路由设计的正式钩子,不 hack 任何内部实现。
  • 只对 in-process subagent 生效(provider: spawn);其它 provider 的 child
    事件带不到本进程,自然跳过,不影响任何原有功能。
  • 默认 同一父会话的后续子代理复用第一次的选择(可配置为每次都问);
    嵌套子代理自动继承父路由,不会连环弹窗。

行为预览

你在 GUI 里让 AI 做事,AI 判断需要派一个子代理时,会话里会弹出一张卡片:

> 子代理模型选择
> 这个子代理用哪个模型运行?
> - deepseek / deepseek-chat
> - deepseek / deepseek-reasoner
> - openrouter / claude-3-5-sonnet (手动)
> - 使用默认模型(跟随父级,不修改)

选完按回车,该子代理就用所选模型执行;卡片在子代理的第一次模型请求前出现,
子代理会等你的选择,不会先用错模型跑起来。


安装方式 A:自动安装脚本(推荐)

> ⚠️ 不要在 cordis.patch.yml 里用 name: 'file:///C:/.../index.mjs' 挂载。
> Desktop 会把这种行判定为「未安装」,插件虽然加载了,但拿不到
> userQuestions / llm / agents 服务,启动日志会显示
> [submodel-change] 缺少 userQuestions/llm/agents 服务,已跳过,
> 弹窗永远不会出现。正确姿势是用 junction + 包名(token-stat 同款方案)。

  1. 把整个 dsh-submodel-change 文件夹放到一个稳定的位置,例如:
    C:\Users\Jason\Desktop\dsh-better\dsh-submodel-change\

  2. 在该目录下执行(自动创建 junction 并改写补丁文件,可重复执行):

node tools/install.mjs

脚本会:
- 在 %APPDATA%\dsh-desktop\harness\profiles\web\node_modules\@jason666not\
建立指向本项目的 junction(《已安装》判定通过);
- 把 cordis.patch.yml 里该插件的 name 保证为包名
'@jason666not/dsh-submodel-change';
- 从 profile 解析该包并打印 resolve OK 验证。

  1. 完全重启 DSH Desktop(关闭窗口后重新打开,不是最小化),插件即生效。
    启动日志里应出现 [submodel-change] 已加载: 子代理发起模型请求时弹窗选择模型,
    且不再有 profile inconsistency ... which is not installed 警告。

  2. 让 AI 做一件需要派子代理的事(或直接说“调用一个 subagent”),看到模型选择卡片即成功。

> 提示:如果补丁文件被别的工具重写过,重跑一次 node tools/install.mjs 即可,
> 脚本是幂等的。

安装方式 B:作为 bundle 安装(需要 dsh CLI)

在 dsh-submodel-change 的上一级目录执行:

dsh plugin --profile web add ./dsh-submodel-change

然后重启 DSH Desktop。卸载:dsh plugin --profile web remove dsh-submodel-change。


配置项

在补丁文件的插件行下加 config: 即可覆盖(以下为全部默认值):

- insert:
- id: submodel-change
name: '@jason666not/dsh-submodel-change'
config:
enabled: true          # 总开关
askOncePerParent: true # 同一父会话的后续子代理复用第一次的选择;
#   设为 false 则每个子代理都重新弹窗
allowDefault: true     # 选项里包含「使用默认模型(跟随父级,不修改)」
extraModels: []        # 手动追加适配器目录未列出的模型路由,
#   格式 ['provider/model', ...]

示例:每次派子代理都问、并追加一个未登记的网关模型:

config:
askOncePerParent: false
extraModels: ['openrouter/deepseek-r1']

> 注:配置同样可以在 bundle 层 cordis.patch.yml(即本项目根目录那个)里写,
> 安装方式 B 会把它作为补丁层合并。


工作原理(简)

  • 识别子代理:child session 的 header 带 origin: 'subagent' 与 parentSession;
    只有这种 agent 的请求会被拦下,根会话自身的请求原样放行。
  • 提问位置:agent/request waterfall 在子代理第一次发模型请求前触发,监听器
    先取默认配置,再向实时根 agent(通过 userQuestions.ask)弹模型选择卡片——
    ask 严格要求 agent 是实时 root,所以提问总发生在根会话,UI 卡片也渲染在根会话。
  • 注入模型:用户选中的 { provider, model } 被写回该次 LlmCallConfig,
    子代理随后以该路由发起请求,request/header 会如实记录这次路由变更。
  • 复用与继承:同一 parent 的后续子代理复用 routeByParent 中的选择;嵌套子代理
    由 Harness 用父路由合成子路由(resolveChildAgentOptions),自动继承,无需重复提问。
  • 清理:subagent/end / agent/disposed 事件按 child 释放选择与提问标记,
    避免内存泄漏。

目录

dsh-submodel-change/
├── index.mjs        # 插件本体(唯一需要挂载的文件)
├── package.json     # bundle 清单 + 包名解析
├── cordis.patch.yml # bundle 补丁层(方式 B 用)
├── tools/
│   └── install.mjs  # 安装脚本:建 junction + 改写 patch 为包名(方式 A)
└── README.md

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-submodel-change 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:Anna-la/dsh-submodel-change` 即可。

dsh-submodel-change 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-submodel-change 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-submodel-change 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-submodel-change 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。

dsh-submodel-change 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-submodel-change 有哪些功能?

子代理弹窗选模型、嵌套子代理自动继承、同父会话复用选择、零依赖纯 JS 实现。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

dsh-purge

dsh-purge

dsh-purge 是一款 DeepSeek Harness 设置插件,可修改默认副本、权限策略和工具限制,并添加规则卡片以分组应用补丁,支

L5 · 运行验证通过 4,573 星

Anna-la 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。