Back to home@taod8205-spec

model-switcher-dsh

DeepSeek Harness 模型与推理强度一键切换插件,支持胶囊滑杆、档位吸附和极高态视觉。

Stars
0
Language
JavaScript
Created
Aug 28, 2026
Updated
Aug 28, 2026

Introduction

dsh-model-switcher

一键式模型 + 推理强度切换器,为 DeepSeek Harness 网页端设计。在输入框工具行(发送按钮左侧)的模型位上放置一个胶囊触发器:点开是玻璃态卡片,内含可拖动的强度滑杆;拖到最高档时整组切换为紫色「极高态」视觉。

由社区编写,非 DeepSeek 官方插件。

特性

  • 单入口:注册进 conversation.input.model 座位(系统自带模型选择器的位置),不占用其它区域
  • 胶囊触发器:模型 · 强度,展开时箭头翻转;极高态下显示 ⚡ 模型 · 极高/Max(扁平 SVG 闪电、紫色加粗强度名)
  • 玻璃态卡片:半透明 + backdrop-filter 模糊,随主题明暗自适应
  • 滑杆:粗胶囊轨道(#339CFF 蓝激活区 / #3D3D3D 灰未激活区),白色正圆滑块;拖动逐节点顿挫,松手弹性吸附
  • 极高态(MAX):强度到最高档时,卡片加深、轨道变蓝紫渐变、滑杆内出现星点粒子、胶囊边框恒定紫色;离开最高档即恢复普通样式
  • 数据通道:直接使用 Harness 的 session.models / session.selectModel wire(与系统自带选择器同一条路),无宿主(Host)依赖、无私有 RPC
  • 切换后菜单不自动收起,可连续调整;「高级 ›」页按提供方分组选择模型;⚡ 恢复默认强度

目录

├── src/
│   ├── client.js        # 标准 client 模块源码(核心实现,含全部样式与交互)
│   └── index.js         # 包入口桩
├── docs/
│   └── quick-start-dynamic.md   # 快速体验:作为动态插件在会话内粘贴激活
├── package.json         # 包声明 + dsh.client 声明
└── LICENSE / .gitignore

安装(标准方式)

前置:DeepSeek Harness 运行时(本包面向 0.1.1-rc.1 的接口:session.models / session.selectModel wire、conversation.input.model 槽位;后续版本接口如有变化需要适配)。

  1. 将本包放入 Harness 的 client 包目录(monorepo 的 packages/… 下),执行构建:

    pnpm install
    pnpm --filter dsh-model-switcher bundle   # 由 src/client.js 产出 lib/client.js
    
  2. 包内的 dsh.client 声明会被 client 模块扫描器识别并编入 Web 启动图;插件激活后自动占据 conversation.input.model 座位。

  3. 依赖的 peer 包(与声明一致):@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/cordisreact@18

快速体验(无需构建)

不想走 monorepo 构建的话,可以把它作为动态插件在当前会话里粘贴激活(每次重启后需重新激活,适合试用):

打开一个 DSH 会话 → 让 agent 执行:
  1) cordis_define 创建插件(idPrefix: mswit,代码见 docs/quick-start-dynamic.md)
  2) cordis_run 激活(Client 部分需在界面批准)
之后输入框工具行出现胶囊按钮即成功。

完整代码与步骤见 docs/quick-start-dynamic.md

使用

  • 点击胶囊 → 弹出滑杆卡片;拖动白色圆钮在强度档位间滑动(逐档顿挫),松手生效
  • 拖到最右档 → 进入紫色极高态;点菜单外部或箭头关闭
  • 「高级 ›」→ 按提供方分组的模型列表,点选即切换并回到滑杆页继续调强度
  • ⚡ → 恢复当前模型默认推理强度

许可证

MIT。不隶属于 DeepSeek;使用时请遵守你所在部署的运行时许可与条款。