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

模型批量同步 SYXliuliuliu/dsh-apply-model-all

DeepSeek Harness
SYXliuliuliu27 天前有提交已提供中文文档扫描:未发现敏感能力

一键把当前会话的模型应用到所有会话

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SYXliuliuliu/dsh-apply-model-all
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    lib/client.js:84
    const res = await fetch(url, init);
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 一键同步当前模型
  • 应用到所有会话

在输入框模型选择器旁加个控件,一键把当前会话的模型应用到其他所有会话。

README

由 DeepSeek 最新模型翻译生成
dsh-apply-model-all 一键把当前会话正在用的模型写进所有会话。 它长什么样 输入框那一行的控件区,官方「模型位」的旁边多一个小按钮: [⇉ 应用到所有会话] [ deepseek-v4.1-flash ▾ ] ← 官方模型位在这里,没被动 点一下 → 弹出确认(显示将要写入的 provider/model 和思考强度)→ 确认后开始,按钮旁实时显示 已完成/总数,跑完给出结果统计。 为什么是插件而不是改官方 DSH 的模型选择是会话级状态(每个会话各存一份 modelSelection)。官方的「默认模型」(dsh-agent-default-model)只作用于新建会话,/model 弹窗只改 当前会话——所以「一次改所有会话」官方没有这个能力。 本插件不修改任何官方插件、不改会话日志、不碰投影缓存,只调用官方公开 API sessionController.selectModel()(GUI 的 /model 弹窗调的就是它)逐个会话写入。 因此: - 官方插件一行不改,本插件卸载后一切回到原样; - 官方升级把接口改了,最坏结果是本插件报错,其它功能照常; - 会话选择本身始终是官方语义,不产生任何私有格式。
展开完整文档(README 剩余 1 节)
dsh-apply-model-all

一键把当前会话正在用的模型写进所有会话。

它长什么样

输入框那一行的控件区,官方「模型位」的旁边多一个小按钮:

[⇉ 应用到所有会话] [ deepseek-v4.1-flash ▾ ] ← 官方模型位在这里,没被动

点一下 → 弹出确认(显示将要写入的 provider/model 和思考强度)→ 确认后开始,按钮旁实时显示 已完成/总数,跑完给出结果统计。

为什么是插件而不是改官方

DSH 的模型选择是会话级状态(每个会话各存一份 modelSelection)。官方的「默认模型」(dsh-agent-default-model)只作用于新建会话,/model 弹窗只改 当前会话——所以「一次改所有会话」官方没有这个能力。

本插件不修改任何官方插件、不改会话日志、不碰投影缓存,只调用官方公开 API
sessionController.selectModel()(GUI 的 /model 弹窗调的就是它)逐个会话写入。
因此:

- 官方插件一行不改,本插件卸载后一切回到原样;
- 官方升级把接口改了,最坏结果是本插件报错,其它功能照常;
- 会话选择本身始终是官方语义,不产生任何私有格式。

架构

| 半边 | 文件 | 职责 |
| 宿主 | lib/index.js | 注册两条 HTTP 路由;用 sessionController.list() 列出全部会话、selectModel() 逐个写入(并发 8)。长任务跑在宿主,关掉页面不中断。 |
| 浏览器 | lib/client.js | 往 slot conversation.input.right 注一个按钮;读 useProjection('modelSelection') 拿当前会话的模型;发起点按后每秒轮询进度。 |

两条路由:

POST /apply-model-all/start {provider, model, reasoningEffort?} → {runId}
GET /apply-model-all/status → {run: {...}}

先读后写(去重)

selectModel 会解锁并恢复每个目标会话,是本次操作里最贵的一步,而且它没有
「已经是了就别写」的短路。所以本插件先读后写:list() 的条目自带每个会话当前的
modelSelection,一致的会话直接跳过。同一时刻只允许一次运行(重复发起返回 409 并带上正在跑的那次进度)。

去重只比 provider/model,不比思考强度(实测结论,重要)

list() 里每个会话的 modelSelection 只带 provider/model,强度一律为空
(实测所有主会话都是 effort=none)——因为 reasoningEffort 属于设置层、不是会话级的模型选择字段。

一开始按三项比对(含强度),结果是每次都把所有会话重写一遍:目标带 effort=high,会话存的是空,两者永不相等 → 去重完全失效,重复点击依然要等约 50 秒。改成只比 provider/model 后,同样的点击 0.4 秒完成、零写入。

已知边界

- 子代理会话(origin: "subagent" 或带 parentSessionId)跟随父会话路由,官方不允许单独设置。它们整个不在本次操作范围内:既不写入,也不进失败/跳过明细,只在计数里留一个 subagentCount。
- 正在被别的写句柄占用的会话返回 already owned by an active write handle。
跨进程调用会撞上(比如另一个 profile 的进程去写桌面端开着的会话);在桌面端自己点按钮不会,因为锁的持有者就是同一个宿主。
- 按钮读的是当前会话的选择;当前会话没选模型时按钮置灰。
- 失败明细在 /status 里只回前 50 条,并按原因归并计数(failedByReason)。

安装

dsh plugin --profile <你的 profile> add dsh-apply-model-all

装完必须重启(bundle 的 patch 行不热加载;客户端 bundle 也需要重新扫描)。

本地开发时用 link: 而不是 file: —— file: 会拷一份快照,pnpm 之后一律回 Already up to date,改了源码不生效。link: 建 junction 指向源码目录,改完重启即生效。

实测数字

范围

| 结果 | 说明 |
| 可独立选择的会话 | 按钮真正作用的范围 |
| 子代理会话 | origin: "subagent" / 有 parentSessionId,整个不参与 |

子代理会话跟随父会话路由,官方不允许单独设置(报 owned by subagent routing),所以本插件按设计排除它们;父会话改了,它们自然跟着变。

耗时

| 场景 | 耗时 | 行为 |
| 目标模型已一致 | 0.4 s | 全部跳过,零写入 |
| 目标模型需变更 | ~6.5 s | 真的逐会话写入 |

跨进程实测时,写入会全部报 already owned by an active write handle —— 因为那些会话被另一个运行的实例持有写句柄。在应用内点这个按钮不会:锁的持有者就是同一个宿主。

许可

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

一键把当前会话的模型应用到所有会话

回到顶部