更优的模型选择器面板+推理条DeepSeek Harness 插件:可拖动连续滑条+星云特效+美化模型选择面板
39.6/100
综合分
16
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Bai-2008/dsh-better-panel该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-better-panel(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 16:33:13
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
- 读取本地文件lib/index.js:35
const read = (name) => readFileSync(fileURLToPath(new URL(name, import.meta.url)), "utf8");
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-better-panel
给 DeepSeek Harness(DSH)用的 Codex 灵感来源的美化版模型选择器(附推理条)。
A beautiful Codex-style reasoning-effort slider and panel for DeepSeek Harness — continuous drag, per-level colors, particle effects that intensify with effort, light/dark aware.
支持最新0107模型!只是不显示
三档效果:Low / High / Max(深色主题,真机截图)
浅色主题同样可读:preview/value-color-light.png。
两张都是真机截图(在 DSH Desktop 里逐档截下来拼接),不是渲染稿。
目录
- 特性
- 安装
- 使用
- 配置
- 兼容性
- 常见问题
- 已知限制
- 开发
- 打包与发布
- 项目结构
- 文档
- 致谢与许可
特性
- 一条连续的滑条,不是几个离散按钮:拖动即改档位,颜色与粒子由位置连续驱动,与模型有几档无关。
- 一档一色(适配多种数量档位):填充层从蓝渐变到紫罗兰,右端是当前位置的颜色;官方那一行的数值文字也跟着变色(Off 档保持官方灰)。
展开完整文档(README 剩余 1 节)
dsh-better-panel
给 DeepSeek Harness(DSH)用的 Codex 灵感来源的美化版模型选择器(附推理条)。
A beautiful Codex-style reasoning-effort slider and panel for DeepSeek Harness — continuous drag, per-level colors, particle effects that intensify with effort, light/dark aware.
支持最新0107模型!只是不显示
三档效果:Low / High / Max(深色主题,真机截图)
浅色主题同样可读:preview/value-color-light.png。
两张都是真机截图(在 DSH Desktop 里逐档截下来拼接),不是渲染稿。
目录
- 特性
- 安装
- 使用
- 配置
- 兼容性
- 常见问题
- 已知限制
- 开发
- 打包与发布
- 项目结构
- 文档
- 致谢与许可
特性
- 一条连续的滑条,不是几个离散按钮:拖动即改档位,颜色与粒子由位置连续驱动,与模型有几档无关。
- 一档一色(适配多种数量档位):填充层从蓝渐变到紫罗兰,右端是当前位置的颜色;官方那一行的数值文字也跟着变色(Off 档保持官方灰)。
- 越往右越"通电":高档位亮起紫色星云与星尘粒子,粒子数与横穿速度随位置变化。
- 接管官方模型席,不并排:输入区只有一颗 模型名 · 档位名 ⌄,点开是自建的两级面板(provider 列表 → 模型列表 + 搜索),点模型不关面板、滑条立刻跟到新模型的档位。
- 换模型默认落在中间档:总档数为偶数时取"中间的下一个"(4 档 → 第 3 档)。
- 深浅主题自适应:面板用官方菜单那套毛玻璃材料(blur(40px) saturate(150%))+ 半透明底 + 阴影;星尘与旋钮是固定浅色(它们永远落在蓝紫填充层上)。
- 失败可读、fail-open:读不到目录、宿主没列 provider、加载失败 —— 面板都会写出原因原文 (含宿主逐 provider 的报错);任何一步认不出就退回"什么都不做",绝不把官方界面改坏。
- 零运行时依赖,离线断言 911 项。
安装
不想 clone:直接下载本仓库 Releases 里打包好的 zip(dsh-better-panel-<version>.zip)。
四种方式,按省事程度排序:
1. 叫DeepSeek Harness想办法安装(推荐)
DSH Desktop → 喂喂喂?帮我装个插件 → 甩个项目网址 or release里的zip包
2. 一键脚本
当你不想打开dsh时:
install.cmd # 装进 desktop profile install.cmd -Profile tui # 装进别的 profile install.cmd -Uninstall # 卸载
install-profile.ps1 做四件事:备份 profile 的 package.json → 加一条 link: 依赖 → 把包名追加进 dsh.profile.bundles → 在 profile 的 node_modules 下建链接(Windows 用 junction),最后校验这三项都成立。已用假 profile 完整跑过安装与卸载,并确认卸载只删链接。
3. 命令行(只有非 desktop profile 能这么装)
dsh plugin --profile tui add link:"<插件的绝对路径>"
dsh plugin --profile tui add github:Bai-2008/dsh-better-panel
desktop 是 Electron 保留 profile,命令行会被直接拒绝:
error: profile "desktop" is managed exclusively by the Electron application
4. pnpm(自己管 profile 依赖)
profile 本身就是 pnpm 工程(~/.dsh/profiles/<名字>/ 下有 pnpm-lock.yaml),所以可以直接用 pnpm 装。
在线安装(从 GitHub 拉,装完就是完整的包,不需要构建):
cd $env:USERPROFILE\.dsh\profiles\desktop # tui 或别的 profile 同理
pnpm add github:Bai-2008/dsh-better-panel
实测 ~8 秒;node_modules/dsh-better-panel 里 lib/client.js、lib/client.picker.js、 cordis.patch.yml 都在(files 白名单保证了这一点),宿主拿到即可加载。
本地目录(已经 clone 过、想边改边看):
bash
pnpm add link:"<插件的绝对路径>"
⚠️ 两种方式 pnpm 都只写 dependencies,不会把它加进 dsh.profile.bundles —— 宿主靠那个数组决定加载哪些 bundle,所以要手工补一行: json
"dsh": { "profile": { "bundles": ["…", "dsh-better-panel"] } }
改完完全退出并重开 DSH Desktop 才生效。想一步到位就用 ①/② —— 它们会自动补 bundles。
升级与卸载
- 升级:面板里重装 / 重新指向新目录,然后完全退出并重开 DSH Desktop。
- 卸载:面板卸载,或 install.cmd -Uninstall;手工建过 junction 的用 cmd /c rmdir <junction>。
⚠️ 不要用 Remove-Item -Recurse,它可能顺着链接把插件目录里的文件删掉。
使用
收起态(输入框右侧,就一颗按钮):
[ DeepSeek-V41-Flash Max ⌄ ]
点开是两级面板:
| 操作 | 结果 |
| 点 provider 行 | 面板横向翻页到该 provider 的模型列表(带搜索框) |
| 点某个模型 | 只切模型、不关面板;滑条立刻跟到新模型,落在中间档(奇数档取正中,偶数档取中间的下一个) |
| 拖滑条 / 点轨道 | 改档位。拖动期间不写宿主,松手或停手 260ms 后落地一次 |
| 点档位名(Max ⌄) | 展开档位弹层:每行 = 档位名 + 原始 API 取值(max) |
| Esc | 逐层退避:弹层 → 二级页 → 关闭面板 |
| 点面板外 / 点按钮 | 关闭面板 |
细节:面板右缘与输入框右缘对齐、底边贴按钮上方 8px;页面滚动或窗口缩放时只重新定位、不关闭(助手流式输出时聊天区会一直自动滚动);助手运行期间宿主会藏起控件行,此时面板保持原位。
配置
插件是编译期配置(没有运行时设置界面),常量都在源码里、改完重新构建 + 重启:
| 常量 | 位置 | 作用 |
| ENABLE_OFFICIAL_MENU_SLIDER | lib/client.js | false(默认)= 自建浮层接管官方席;true = 回到"改造官方菜单那一行"的老路(两套互斥) |
| STARFIELD_DURATION_SPREAD | lib/client.js | 星尘时长浮动,默认 ±8%;设成 0 则所有星完全同速(永不聚集,但没有快慢层次) |
| TRACK_HEIGHT / KNOB_SIZE | lib/client.js | 轨道高与旋钮直径,默认 28px(正圆 = 轨道高) |
| COLOR_TEXT_VIOLET 等色值 | lib/client.js | 档位文字/填充的终点色,改之前先看 ARCHITECTURE.md 里的对比度约束 |
面板材料(模糊、底色、阴影)在 lib/client.picker.src.js 的 GLASS_VARS 里 —— 想更透/更实就改那两个 alpha。
兼容性
| 项 | 说明 |
| DSH | 已在 DSH Desktop 0.2.0-rc.2(Windows) 实机验证;需要客户端提供 slots / sessions / remote / remote.session / modelDirectories 五个服务,以及 conversation.input.model、conversation.input.overlay、conversation.input.right 三个槽 |
| 平台 | Windows 实机验证;安装脚本对其它平台用符号链接代替 junction |
| 主题 | 跟随 DSH 主题(body[data-ds-dark-theme]),令牌缺失时回退到中性灰 + #4d93f8 蓝 |
| 运行时依赖 | 无 |
| Node | >= 22(仅开发/构建需要,插件本身跑在宿主里) |
常见问题
装完没反应?
先完全退出并重开 DSH Desktop(不是关窗口)。还不行 → 设置 → 插件 点开插件详情,那行有没有 error:宿主读 package.json 是直接 JSON.parse,清单有问题(例如 BOM)会让整包被丢弃,界面毫无反应的根因就在那里。
面板说「宿主没有列出任何 provider」?
这句说明宿主的模型目录是空的 —— 不是插件的问题:官方 /model 命令此刻同样是空的。
去 DSH 的设置 → 模型 / 账号看:通常是没有可用 provider,或账号 provider 拿不到令牌(端点与账号登录不匹配时会静默返回空列表)。
面板说「会话目录未就绪,正在重试…」,下面还有一行字?
那行就是宿主的原话(例如 ui-model-selection: session "…" resolved no scope)。它内含是哪个会话 id,把这行发出来即可定位;插件会自己退避重试 + 心跳自愈,通常几秒内恢复。
面板说「还没有会话 —— 发一条消息后就能选模型」?
你正停在"新会话"的空白壳上,输入区此时还没有会话 id。发一条消息、或打开一个已有会话即可。
改了源码 / 换了版本,界面还是旧的?
宿主给客户端 chunk 的 URL 带 ?rev=,而这个 rev 是按 lib/client.js 的 mtime/size 算的,响应头还是 immutable。只改 picker 不会让 rev 变,浏览器会拿一年缓存的旧 chunk。
解法:Ctrl+Shift+R 硬刷新(或重启 DSH),或让时间戳动一下: powershell (Get-Item lib/client.js).LastWriteTime = Get-Date
为什么只有一颗按钮?
官方那颗席按钮和自建按钮都是 conversation.input.model(single 槽)的占用者:插件用 priority: -1 遮蔽官方那颗,所以不会并排出现两颗。代价见「已知限制」。
已知限制
- 需要重启 DSH Desktop 才生效(客户端 bundle 在启动时注入)。
- 官方模型菜单没有入口了:那颗席按钮是官方菜单(模型列表 / 档位列表 / 键盘导航 / aria)的唯一入口,被接管之后就打不开了。切模型仍有两条路 —— 本插件的面板,以及官方的 /model 命令。
想回退成「官方菜单 + 里面长滑条」,把 ENABLE_OFFICIAL_MENU_SLIDER 改成 true。
- 依赖官方语义锚点(aria-haspopup / aria-expanded / aria-controls / role,不依赖哈希 class)。
官方若改成非 menuitem 结构或不再用 data-composer-card,插件静默退回「什么都不做」(fail-open)。
- 模型列表与档位来自宿主目录:目录没列到的模型,面板里也就看不到;徽标的「几档」同样以目录为准(目录还没列到、又不在本地兜底清单里时,宁可不显示徽标)。
- 模型列表的「新 → 旧」是启发式的:宿主目录不带发布日期,顺序由 id / 显示名里的版本号与日期算出;名字里完全看不出新旧的模型一律沉底并保持宿主原顺序。只排自建面板那一屏(官方菜单里的顺序不动)。
- 8 档模型只有末档满能量这条观感与参考实现不同:本插件是连续曲线(8 档 Max = 11/14),见 MODIFICATIONS.md 第七节第 4 条,是有意取舍。
- 老路 A(ENABLE_OFFICIAL_MENU_SLIDER = true)会给官方那一行加高约 20px + 滑条 28px,极小屏幕上可能出现菜单贴边(官方自身的 max-height 与夹取逻辑仍在)。
开发 powershell
npm run build # lib/client.picker.src.js → lib/client.picker.js(幂等;生成物别手改)
npm test # 离线断言套件(911 项;pretest 会自动先 build)
npm run preview # 生成 preview/panel.html(浏览器打开即可拖、切深浅色、切 4/2/6 档)
包本身零依赖,不需要 npm install:上面三条脚本都只是 node xxx.mjs 的包装,直接 node build/pack-picker.mjs / node test/client.test.mjs / node preview/make-preview.mjs 等价。
源码是三层:lib/client.js(手写接线 + DOM 桥)、lib/client.picker.src.js(自建浮层,需构建)、 lib/index.js(宿主侧一行)。改完 picker 记得 npm run build,并注意上面那条 chunk 缓存 rev 的坑。
预览页支持几个给无头截图用的参数(README 里那两张 preview/value-color-.png 就是这么生成的): ?level=<档位 id> 定位到某一档、?dark=1 进深色、?shot=1 只留「模型 + 推理等级 + 滑条」两行。
例:preview/panel.html?shot=1&level=max。
实现细节(两套 UI、接管时序、DOM 锚点、色彩与粒子数学、旋钮几何、稳健性清单、测试台策略)都在 ARCHITECTURE.md。
打包与发布 powershell
npm run pack # 运行时包:dist/dsh-better-panel-<version>.zip
npm run pack:src # 源码包:…-<version>-src.zip
| 包 | 内容 | 用途 |
| 运行时包(5 个文件) | package.json、cordis.patch.yml、lib/index.js、lib/client.js、lib/client.picker.js | 安装 / 升级。零依赖,解开就能装 |
| 源码包(18 个文件) | 上面这些 + lib/client.picker.src.js、build/、test/、preview/、文档与安装脚本 | 读源码 / 自己改 / 自己验证 |
源码包是自足的:解开后 npm run build 可重现同一份 chunk,npm test 直接跑完整套断言。
两个 zip 与 SHA256SUMS.txt 都落在 dist/(已 gitignore),是给 GitHub Releases 用的附件。
想发到 npm 的话:package.json 里现在是 "private": true,需要先删掉这一行。
项目结构
lib/
index.js 宿主侧插件(让本包成为 cordis 树上的一行) client.js 客户端接线 + DOM 桥 + 官方菜单那行的滑条(手写产物) client.picker.src.js 自建浮层源码(滑条面板) client.picker.js 上面那个的构建产物(包内 chunk,别手改) build/pack-picker.mjs 把 picker 源码包成自注册 chunk test/ client.test.mjs 离线断言套件(911 项) harness.mjs 保状态 React 桩 + 假 DOM + 假官方菜单 preview/ make-preview.mjs 生成 preview/panel.html(观感预览页) .png 文档里的效果图 install.cmd profile 安装脚本入口(desktop profile 的兜底) pack-dist.ps1 打发布 zip cordis.patch.yml bundle 补丁层(声明本插件在组合里的一行)
文档
| 文档 | 内容 |
| ARCHITECTURE.md | 怎么实现的:两套 UI、接管时序、DOM 锚点、数据路径、色彩/粒子数学、稳健性清单、测试台 |
| INCIDENTS.md | 真机事故复盘(九条):现场 → 根因 → 修法 → 断言。装不上/界面不对时先翻这份 |
| CHANGELOG.md | 逐版改动流水 |
| MODIFICATIONS.md | 相对上游的主题式改动清单、移植对照与取舍 |
致谢与许可
致谢:这份实现的起点
这个插件的做法起始于 Microqian2th/dsh-codex-effort-slider (1.0.0,MIT)。它贡献了下面这些想法与实现:
- 把滑条塞进官方菜单:官方「推理等级」那一行被加高、允许多出一行放连续滑条。
本插件里保留的那条老路径(ENABLE_OFFICIAL_MENU_SLIDER = true)就是在它基础上做的。
- 连续滑条本身:拖到哪、档位跟到哪;填充从蓝渐变到紫罗兰,高档位亮起星尘粒子,官方那一行的数值文字跟着变色。
- "只读写官方公开面" 的整体思路:走槽位注册、modelDirectories 目录与语义 DOM 锚点,不碰官方的类名与文字;档位写回则是 120ms 节流版本。
本插件在此基础上做了什么
重做观感(球/轨道比例、对比度、圆角 opt-out)、把拖动改成一档一格 + 停顿去抖、补了档位字典与三处只读注记;新增 自建浮层 + 接管官方模型席(两级面板、毛玻璃、中间档默认);配套 911 项离线断言与这套文档。自建浮层的布局参考了 code.html 那份原型稿。
宿主与许可
- 目标宿主:deepseek-ai/deepseek-harness ——本插件只使用它的公开面(槽位、modelDirectories 服务与语义 DOM 锚点)。
- 许可:MIT(见 LICENSE;上面那位作者与本插件的版权行都保留在里面)。
宿主与许可
- 目标宿主:deepseek-ai/deepseek-harness ——本插件只使用它的公开面(槽位、modelDirectories 服务与语义 DOM 锚点)。
- 许可:MIT(见 LICENSE;上游与本仓库的版权行都保留在里面)。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Bai-2008/dsh-better-panel
更优的模型选择器面板+推理条DeepSeek Harness 插件:可拖动连续滑条+星云特效+美化模型选择面板
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,266已汉化DSH
70.7