DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Apply Model All — DeepSeek Harness 插件(DSH Plugin)
← Plugins
A

dsh-apply-model-all

Apply Model All

一键将当前会话的模型应用到所有会话:编写器模型选择器旁的紧凑控件,可将当前活动的提供商/模型写入每个能够设置模型的会话的会话级模型选择。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:SYXliuliuliu/dsh-apply-model-all#83225c34a1418794c5ed28072cf668a1ce89ff03
README兼容性版本

兼容性与来源证明

Apply Model All 以 dsh-apply-model-all 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/4

版本

0.1.0stable
2026/10/4

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/6
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编程套餐配额,并实时记录令牌使用情况;侧边栏 Settings 行上方显示紧凑的价格概览卡片Client Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilities为自定义 pi-ai 提供商声明每个模型的能力(图像输入和推理力度),可直接在 Models 设置卡片中编辑;写入官方 llm-pi-ai 设置命名空间,不更改 DSH 源代码。Codex Subscriptiondsh-codex-subscription通过 OAuth 在 DeepSeek Harness 中使用 ChatGPT 和 Codex 订阅,支持配额管理、安全重置、网页搜索、图像和快速模式

README

dsh-apply-model-all

Apply the model you are using right now to every session — one click, instead of opening each session and picking it again.

DeepSeek Harness stores model choice per session. The official default-model setting only covers sessions that have not chosen one yet, and /model only changes the session you are currently in. So there is no built-in way to move a whole session history onto one model at once. This plugin adds that control.

What it adds

A compact control next to the composer's model picker. The shipped picker is left completely untouched:

[⇉ Apply to all sessions]  [ deepseek-v4.1-flash ▾ ]
                            ^ the shipped picker, unmodified

Click it, confirm the target model, and it writes that choice into every session that can hold its own. A live count is shown while it runs.

How it works

It does not patch an official bundle, rewrite session logs, or edit projection caches. It calls the same public host API the built-in /model dialog calls:

sessionController.list({})                       → every session, with its current model
sessionController.selectModel({ sessionId, … })  → set one session's model

Because the write path is the official one, session state stays in the official format, uninstalling changes nothing, and a future Harness that renames these methods costs you this plugin only — never the rest of the app.

The batch runs on the host, not in the browser, so closing the tab does not interrupt it. The client half only starts the run and polls its progress.

Read before writing (deduplication)

selectModel resolves and resumes each target session, which is by far the most expensive part of the operation, and it has no "already correct, skip" short-circuit. So the plugin reads every session's current model from list() first and skips the ones that already match — a repeat click on an already-unified history finishes immediately instead of redoing all the work.

Comparisons use provider and model only, never reasoning effort. That is deliberate: reasoning effort belongs to the settings layer and is not part of a session's stored model selection, so sessions report it as empty. Comparing it made the dedupe never match, which silently turned every repeat click back into a full rewrite.

Scope and limits

CaseBehaviour
Sessions that can hold their own modelUpdated — this is what the control acts on
Subagent sessionsNot touched. They follow their parent session's routing, and the host rejects per-session selection for them (owned by subagent routing). Change the parent and they follow.
A session already on the target modelSkipped, no write
A session locked by another processReported as failed, with the reason

Sessions held by a live write handle in a different process cannot be written from the outside; the usual error is already owned by an active write handle. Clicking the control inside the running app does not hit this, because the lock holder is the same host.

Worth knowing: the underlying call also saves the chosen model as the default in the background, so new sessions will start on it too.

Install

dsh plugin --profile <your-profile> add dsh-apply-model-all

Restart the app afterwards — bundle patch layers and client bundles are both loaded at startup, so neither takes effect while it is already running.

Configuration

None. There are two host routes and no settings surface:

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

Only one run may be active at a time; a second request returns 409 with the in-flight progress. Failures are grouped by reason in the response rather than repeated per session, and failure detail is capped at 50 entries.

Requirements

  • DeepSeek Harness 0.1.0-rc.6 or newer.
  • The web UI (the control lives in a composer slot).

License

MIT