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

推理强度滑块 2768651338/dsh-effort-slider

DeepSeek Harnessv0.5.1
276865133813 天前有提交已提供中文文档扫描:未发现敏感能力

仿 Claude Code 推理等级滑块 支持第三方模型 DSH 插件

44.2/100
综合分
20
GitHub 星标
720
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @txc2768651338/dsh-effort-slider
npm 源 · @txc2768651338/dsh-effort-slider 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@txc2768651338/dsh-effort-slider @ 0.5.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 02:19:01

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-group@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-llm@deepseek-ai/dsh-settings@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

3 张 · 点击查看大图

功能亮点

  • 推理等级滑块
  • 支持第三方模型

仿 Claude Code 推理等级滑块 DSH 插件

v0.5.22026-11-01
· 更新内容 · 适配 DSH 0.2.1-rc.5,并验证 DSH 0.2.1-rc.4。 · 修复 npm 0.5.1 客户端产物仍使用旧包名注册,导致重复工厂注册、界面启动失败并反复重载的问题。 · 修复鼠标拖动过程中,模型目录刷新中途禁用滑块、最终档位停在中间值的问题;合并中间档位请求,并在保存前重新核对当前模型。 · 打包前强制重新构建,校验实际发布的客户端工厂 ID,防止旧产物再次进入发布包。 · 安装与升级 本项目的 npm 包名为 @txc2768651338/dsh-effort-slider。 dsh plugin --profile web add @txc2768651338/dsh-effort-slider@0.5.2 DSH Desktop / NEXT 用户请通过应用内插件管理安装或升级。也可以下载本 Release 附带的 .tgz,在应用内安装。 如果同时安装了另一个维护者提供的无 scope 包 dsh-effort-slider,请在插件管理中停用它,保留本项目启用,然后完整重启 DSH。两者共享滑块入口和样式标签,不能同时控制同一菜单;另一个包的安装文件可以保留。 · 验证范围 已在真实 DSH rc.4 / rc.5 与 Edge 中验证:鼠标和键盘 OFF/MAX、档位保存、刷新恢复、外部点击与 Esc 关闭、窄屏布局、模型选择保持以及方言热更新。已通过 DSH NEXT 官方插件管理入口安装,并确认本项目客户端实际接管桌面滑块。 类型检查、包身份校验、跨目录构建一致性检查和供给逻辑检查通过。CI 覆盖 rc.4 单包及 rc.5 同机安装两个包的场景;同机安装验证不代表两套客户端同时接管界面。 未发送真实模型生成请求,未验证提供商生成、计费或真实桌面亮暗主题切换。 随附安装包 SHA-256 058c8959a23de841a4f5fad05363e680c3e52640817c2a39e93f5f86cebab25a
v0.5.12026-10-20
适配 DSH 0.2.1-rc.2,修复新版环境中的启动与配置热更新问题。 · 统一 bundle patch、npm 包名与客户端模块注册名,修复干净 profile 中客户端无法启动。 · 配置使用 volatile 字段;供给任务在当前 HMR 事务之后通过设置队列写入,并携带修订号,防止覆盖并发编辑。 · 处理模型选择的 RemoteResult 失败,修复嵌套模型名着色、菜单焦点与会话切换后的旧面板。 · 保留跨目录构建一致性修复,稳定 CSS 类名和 source map。 · 新增真实 DSH 程序与 Edge/Chromium 浏览器验收,并纳入 CI。 验证:类型检查、供给纯逻辑、包名一致性、跨目录逐字节构建对比,以及真实 DSH 中的启动、档位保存、刷新恢复、焦点、窄屏布局和方言热更新。 验收覆盖配置、模型目录和会话选择;未发送模型生成请求。热更新桥接依赖已检测的 DSH 0.2.1 HMR 内部事务上下文,后续升级支持版本时由真实程序测试复核。 安装本次 GitHub 版本: dsh plugin --profile web add github:2768651338/dsh-effort-slider#v0.5.1 也可下载附件中的 npm 格式安装包后,通过 dsh plugin --profile web add ./txc2768651338-dsh-effort-slider-0.5.1.tgz 安装。
v0.5.02026-10-02
评估修复批次(依据 docs/system-evaluation.md)——可靠性、面板交互、诊断和 CI。合并了原计划分三次发布的内容(v0.4.1 / v0.4.2 / v0.5.0)。 · 亮点 可靠性 · 面板把加载中、加载失败、不支持拆成三种状态,并加了重试按钮(原来三种情况都只显示一句误导性的「不支持」) · 滑块写入失败时,面板头部会短暂显示红色状态,不再静默失败(滑块位置保留,你重新拖动即可) · 能检测到用户配置的并发编辑:改动前重新读取条目,冲突的轮次延后处理 · 每条主机预配失败路径现在都会记一条警告;始终无法识别的 Effort 行会生成一次性诊断 面板交互 · 滚动或缩放时重新锚定;按 Esc、点击外部、锚点卸载时关闭;点击 Effort 行可切换面板 · 刻度点和标签对齐真实吸附点(首尾两级原来偏了约 10px) · 滑块带 aria-label / aria-valuetext,方便读屏软件 · 界面文案双语(中/英,跟随 ) 诊断 · 新增 debugReport 选项(默认关闭):按路由、按模型输出预配详情(方言 / 写入字段 / 跳过原因),不再只给一行计数 · 可选的只读 llm/stream 透传会把每个请求记成 [debug] request route=… model=… effort=… · 面板头部的 ? 帮助提示指向 enabled / dialect / debugReport 工程 · GitHub Actions CI:类型检查 + 测试 + 构建 + 陈旧产物检查(git diff --exit-code lib/);修复了构建不确定性的根因(lightningcss cssModules 导出键顺序) · WebGL 火焰在不可见时不再以 60 fps 空转;清理了死代码和多余的 console.log npm 包改名为 @txc2768651338/dsh-effort-slider——旧的未加作用域名称 dsh-effort-slider 已停用。 · 安全 静态深度扫描(Mimosa,针对本批次):0 项发现;0 条依赖公告命中(扫描 scan-2026-10-02T05-53-44.064Z-397598dce3ff,已封存)。 · 升级 dsh plugin --profile web add @txc2768651338/dsh-effort-slider · 或 dsh plugin --profile web add github:2768651338/dsh-effort-slider#main 然后重启 DeepSeek Harness,并在网页里按一次 Ctrl+F5。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-effort-slider 给 DeepSeek Harness 用的 Claude Code 风格推理强度滑块 —— 在模型菜单里点 Effort,拖动无级调节,松手吸附,带 WebGL 火焰拖尾;任何第三方模型/服务商都能获得真正可用的思考强度控制。 English · · Español · 日本語 · Deutsch · Русский · Português · 한국어 点 Effort 这一行(官方模型菜单的第二行),不再弹出内置的档位列表,而是弹出 Effort 滑块面板 —— OFF/MAX 刻度、Low/Medium/High/Ultracode 状态实时显示;面板关闭后,强度值仍以颜色标注在菜单行和模型席位触发按钮上。 功能 · 兼容性 · 安装 / 卸载 · 快速开始 · 配置 · 权限与数据 · 工作原理 · 故障排查 · 开发 演示截图(菜单行着色 / 模型席位触发按钮 / Effort 面板 —— 强度档位用颜色区分): | 菜单行 | 模型席位触发按钮 | Effort 面板 | 🔧 v0.5.1 — 兼容 DSH 0.2.1-rc.2:易变设置支持实时更新,provisioning 带修订校验,RemoteResult 失败已解决,模型标签槽位支持嵌套,菜单焦点/失焦已集成,不可用模型与 Session 变更得到安全处理。
展开完整文档(README 剩余 1 节)
dsh-effort-slider

给 DeepSeek Harness 用的 Claude Code 风格推理强度滑块 —— 在模型菜单里点 Effort,拖动无级调节,松手吸附,带 WebGL 火焰拖尾;任何第三方模型/服务商都能获得真正可用的思考强度控制。

English · · Español · 日本語 · Deutsch · Русский · Português · 한국어

点 Effort 这一行(官方模型菜单的第二行),不再弹出内置的档位列表,而是弹出 Effort 滑块面板 —— OFF/MAX 刻度、Low/Medium/High/Ultracode 状态实时显示;面板关闭后,强度值仍以颜色标注在菜单行和模型席位触发按钮上。

功能 · 兼容性 · 安装 / 卸载 · 快速开始 · 配置 · 权限与数据 · 工作原理 · 故障排查 · 开发

演示截图(菜单行着色 / 模型席位触发按钮 / Effort 面板 —— 强度档位用颜色区分):

| 菜单行 | 模型席位触发按钮 | Effort 面板 |

🔧 v0.5.1 — 兼容 DSH 0.2.1-rc.2:易变设置支持实时更新,provisioning 带修订校验,RemoteResult 失败已解决,模型标签槽位支持嵌套,菜单焦点/失焦已集成,不可用模型与 Session 变更得到安全处理。bundle 补丁与客户端注册现在使用同一个带作用域的包名。实时 provisioning 会把设置写入排到当前 HMR 事务之外;CSS 名称与 source map 在不同 checkout 路径下保持稳定。包含真实 DSH 浏览器验证。

🆕 v0.5.0 — 评估修复批次。可靠性:面板把加载中 / 加载失败 / 不支持拆成三种状态,并带重试按钮;滑块写入失败会显示短暂的红色状态,不再静默失败;provisioning 期间发生的用户配置编辑会被检测到(mutate 之前重新读取条目,冲突的轮次延后);host 侧每条 provisioning 失败路径现在都会记一条警告,无法识别的 Effort 行会输出一次性诊断。面板 UX:滚动/缩放时重新锚定,按 Esc / 点击外部 / 锚点卸载时关闭,点击 Effort 行可切换;刻度点与标签对齐真实吸附点;滑块带 aria-label / aria-valuetext;UI 文案双语(zh/en,跟随 )。新增 debugReport 选项:按路由/按模型输出 provisioning 详情,外加可选的只读 llm/stream 追踪器,按请求记录 route/model/effort;面板标题栏的 ? 帮助提示指向 enabled / dialect / debugReport。另外:GitHub Actions CI(typecheck + tests + build + 陈旧产物检查),WebGL 火焰在不可见时不再以 60 fps 燃烧,npm 包改名为 @txc2768651338/dsh-effort-slider(旧的未加作用域名称 dsh-effort-slider 已停用)。

🆕 v0.4.0 — 移植到 DSH 0.2.0:DSH 用 SettingsForms 替换了设置服务(设置现在是 profile 条目配置;installSection / settings.get / settings/updated 已移除)。host 侧现在定位 pi-ai profile 条目(llm-pi-ai),通过 settings.describe() 读取,通过 settings.mutate() 写入,并监听 settings/document-updated。client 侧从 retainedBy.mainView 推导当前会话(SessionListState.current 已移除)。插件选项(enabled / defaultDialect / routes)放在插件的条目配置里,可在 DSH 设置页编辑。不再支持 DSH ≤ 0.1.5(那边请用 v0.3.0)。

🆕 v0.3.0 — 移植到 DSH 0.1.5:client 的 Context 现在来自 @deepseek-ai/cordis,按会话的状态通过 ctx.modelDirectories 读写,设置分区通过 settings.installSection() 安装;adapter-metadata 包装层已移除(见 Universal effort provisioning)。不再支持 DSH ≤ 0.1.1。
🔧 v0.2.5 — 修复通用配置在显式 models 数组上静默失败的问题(dsh-settings 的路径操作无法遍历数组节点,现在改为整体替换数组)。

🔧 v0.2.4 — 修复 pi-ai 设置区段注册较晚时通用配置始终不生效的问题(现在会重试,直到该区段就绪)。

🆕 v0.2.3 — 模型席位触发按钮上的 effort 名称也会着色,菜单关闭后颜色保留。

🔧 v0.2.2 — 修复整个菜单重新挂载时菜单行着色失效的问题(全量扫描限流重绘,颜色从 effort 文本推断)。

🆕 v0.2.1 — 模型菜单 Effort 行上的 effort 值在面板关闭后保留其等级颜色。

✨ v0.2.0 — 任意自定义第三方模型/服务商都能获得可用的思考强度控制(热生效)。

🎛️ v0.1.0 — 首个版本:拦截官方 Effort 菜单,显示 Claude Code 风格的 Effort 滑块面板。

各版本完整说明:Releases

功能

| 功能 | 说明 |
| 🎚️ 无级拖动 | 0–100 连续拖动,实时写入 reasoningEffort(16 ms 节流,拖动时不会堆积请求) |
| 🎯 松手吸附 | 松手 / 失焦 / 键盘操作结束时吸附到最近等级,并写入一次确认 |
| 🔥 WebGL 火焰拖尾 | 三遍着色器(点燃 → 模糊 → 合成);火头跟随滑块,带弹簧阻尼 |
| 🏁 OFF/MAX 刻度 | 首尾等级始终显示 OFF / MAX;中间等级显示 API 返回的名称 |
| 🎨 等级状态 | 面板标题显示 effort 名称,按等级着色/发光;菜单行和模型席位触发按钮在关闭后保持同色(v0.2.3) |
| 🌐 通用强度 | 没有 reasoning 元数据的第三方模型自动获得通用 5 级刻度;pi-ai 模型会补上线路级字典,热生效(v0.2.0) |

只写入 reasoningEffort,不改动模型选择。没有多档推理的模型会显示「当前模型不提供多档推理等级」。

通用强度配置(v0.2.0,v0.3.0 简化)

任意自定义第三方模型/服务商都能获得真正在线路上生效的思考强度控制:

- 线路级配置(宿主,pi-ai):对缺少 reasoningEfforts 的 llm-pi-ai 模型,补上字典和 compat 线路方言(热生效,无需重启);pi-ai 会把等级翻译成真实的线路字段(reasoning_effort / thinking / OpenRouter reasoning.effort 等),同时把同一份声明作为模型的 reasoning 目录元数据对外公布——正因如此,手工声明的模型才会出现官方 Effort 行;
- 客户端兜底刻度:如果目录没有返回推理元数据,面板仍会以通用 5 级刻度打开;已有的用户声明(reasoningEfforts: false 或自定义字典)始终会被尊重,绝不会被覆盖。

为什么不再有适配器包装层。 到 v0.2.5 为止,宿主侧还会包装每个适配器的 resolveModel,向没有声明 reasoning 元数据的模型注入 universalReasoning。DSH 0.1.5 把 llm.adapters 变成了私有字段,没有公开访问器,这条路走不通了——而且也没必要:reasoningEfforts 是唯一同时供给请求报文和模型目录的声明。只有路由声明了 api: openai-completions 时才会写入模型级 compat,因为 pi-ai 会拒绝模型协议读不了的开关。

自定义端点支持的报文方言(设置 effort-slider.defaultDialect 或 routes.<route>)。方言只在 api: openai-completions 路由上转换级别——原生协议用 pi-ai 内置映射,所以方言设置在那里对报文没有影响:

| 方言 | 报文效果 |
| effort(默认) | OpenAI 风格 reasoning_effort: low/medium/high/max |
| deepseek | thinking:{type} 开关 + reasoning_effort |
| openrouter | reasoning: { effort }(OpenRouter 归一化) |
| together / zai | reasoning.enabled / thinking:{type} + 可选 effort |
| qwen | enable_thinking 开关 |
| string-thinking / ant-ling | thinking / reasoning.effort 字符串 |

兼容性

| 项目 | 值 |
| DSH 版本 | 0.2.1-rc.2(npm latest dist-tag;本次构建验证所用的版本),Windows 上的 web 配置档 |
| 不兼容 | DSH ≤ 0.1.5 —— v0.4.0 面向 0.2.0 引入的 SettingsForms 设置服务(DSH 0.1.5 请用 v0.3.0;v0.2.5 及更早版本还会导入 @deepseek-ai/dsh-client-runtime,该包在 0.1.1-rc.2 之后已移除) |
| 安装机制 | dsh plugin --profile web add(bundle 补丁 + 双半) |
| 依赖 | ctx.sessions(@deepseek-ai/dsh-api-session-controller)和 ctx.modelDirectories(@deepseek-ai/dsh-client-ui-model-selection);宿主:ctx.llm、ctx.settings(SettingsForms) |
| 客户端模块请求 | 除平台基线(react、react-dom/client、react/jsx-runtime)外无其他请求——所有 DSH 导入都是仅类型导入,会被擦除 |

安装 / 卸载

Install from npm (the package listed on deepseek1024.com)
dsh plugin --profile web add @txc2768651338/dsh-effort-slider

Or install from GitHub (the committed lib/ artifacts need no local build)
dsh plugin --profile web add github:2768651338/dsh-effort-slider#main

Or build locally and install from a checkout
pnpm install && pnpm build
dsh plugin --profile web add file:./dsh-effort-slider

安装后,重启 DeepSeek Harness,并在网页里按一次 Ctrl+F5。
lib/ 产物已提交,所以从 GitHub 安装无需本地构建。

从锁定旧版 DSH 的版本升级过来? 删除任何 - id: ui-effort-slider / disabled: true 从 ~/.dsh/profiles/web/cordis.patch.yml 里删掉对应行,否则新构建仍处于关闭状态。

| 操作 | 命令 |
| 升级 | dsh plugin --profile web update @txc2768651338/dsh-effort-slider(或重新执行 add),然后重启 DSH |
| 卸载 | dsh plugin --profile web remove @txc2768651338/dsh-effort-slider,然后从 cordis.patch.yml 里删掉对应行(如果有) |

快速开始

1. 安装插件,重启 DSH,按 Ctrl+F5。
2. 打开输入框上方的模型菜单 → 点击 Effort → 出现 Effort 滑块面板。
3. 拖动选择档位,松手后自动吸附。面板关闭后,菜单行上的 effort 值仍保留对应颜色。
4. 自定义模型没有思考强度时,面板会以通用的 5 档刻度打开;pi-ai 模型由宿主侧打补丁改写其 wire 字典(热生效)。

DevTools Console 里出现 [effort-slider] intercept row: ... 一行,说明拦截已生效。

配置

| 项 | 说明 |
| 插件选项 | 插件的配置档条目配置(enabled / defaultDialect / routes / debugReport);DSH 0.2.1 通过 SettingsForms 把这些暴露为易变字段。改动无需重新挂载插件即可生效。如果你的 DSH UI 没有生成插件表单,请直接编辑配置档补丁 |
| 默认值 | enabled: true、defaultDialect: effort、debugReport: false |
| 环境变量 | 自身不读取任何环境变量;沿用 DSH 的 DSH_HOME 解析规则 |
| 敏感项 | 无 —— 不读取、不存储任何密钥、token 或凭据 |

effort-slider:
enabled: true # provisioning master switch
defaultDialect: effort # global default wire dialect
routes:
my-gateway: deepseek # per-route override
debugReport: false # per-run provisioning report (route/model/dialect/write-or-skip) + per-request effort trace (llm/stream) in the host log

权限与数据

| 范围 | 涉及内容 |
| 文件(读) | 无 —— 不读写任何用户文件(设置走 DSH 的设置服务) |
| 网络 | 自身不发起网络请求 —— 面板读写 Model Controller 的浏览器内目录;由此产生的 session.selectModel 调用复用 DSH 现有连接 |
| 凭据 | 从不读取 |
| 用户数据 | 不读取(无法访问对话内容、消息、提示词;只通过共享模型目录读取当前会话的 provider/model/reasoningEffort) |

工作原理

| 部分 | 文件 | 作用 |
| 宿主 | lib/index.js | 通用思考强度配置:定位 pi-ai 配置档条目(llm-pi-ai),用 settings.describe() 读取,再通过 settings.mutate 修补 wire 方言(buildProvisionOps,幂等,尊重用户声明);监听 llm/adapters-updated / settings/document-updated。开启 debugReport: true 后,每次配置运行会输出按路由/按模型的报告(写入了哪些字段,或跳过原因,以及 wire 方言不适用的说明),取代原来的一行计数;每次模型调用都会以 [debug] request route=… model=… effort=… 的形式,经只读的 llm/stream 透传记录下来 |
| 浏览器 | lib/client.js | 捕获模型菜单中 Effort 行的点击 → 显示 Effort 面板;读取 ctx.modelDirectories.directoryFor(sessionId),通过 directory.select({ reasoningEffort }) 写入;MutationObserver 让菜单行层级颜色在面板关闭后仍然保留 |

浏览器部分遵循官方外部插件约定:经典脚本 + window.__ModuleLoader__.load 工厂; react / react-dom/client / react/jsx-runtime 是平台外部依赖; effort.module.css 由 lightningcss 做哈希并内联,工厂运行时以 注入。

故障排查

| 现象 | 修复 |
| 模型菜单里没有 Effort 行 | 模型没有声明推理元数据,且宿主配置未生效 —— 确认 DSH 已重启,并检查插件设置页上的 enabled(即配置档条目配置);设置 debugReport: true,在宿主日志里查看按模型的配置报告 |
| 面板提示「当前模型不支持思考强度调节」 | 通用回退未生效 —— 升级到 v0.2.0+ 并重启 |
| 插件完全没加载(该行显示 disabled: true) | 早先的构建在 ~/.dsh/profiles/web/cordis.patch.yml 中被关掉了;删掉那一行再重启 |
| 拖动没有效果 | 检查目标端点的 wire 方言是否匹配(见方言表 —— 方言只在 api: openai-completions 路由上做转换),或为该路由设置 defaultDialect。开启 debugReport: true 后,宿主日志覆盖整条链路,你可以逐项验证:按模型的报告会写明到底写了什么(或跳过了什么、为什么),并标出方言不适用的路由;[debug] request route=… model=… effort=… 行则证明每次调用携带的是哪一级。剩下只有 pi-ai 内部的 wire 转换,任何插件都观察不到。面板上的 ? 按钮会重复这份清单 |
| 与其他皮肤插件冲突 | 如果装了另一个拦截 Effort 行的皮肤(例如 dsh-ui-web 的 aurora 皮肤),关掉它的拦截,避免出现两个面板 |
| 重启后版本号还是旧的 | file: 安装是快照副本 —— 改用 github: 规格,或在重启前重新执行 add |
| 日志在哪里? | 宿主错误:DSH 启动日志(开启 debugReport: true 后,provisioning 详情和逐请求 effort 追踪会以 effort-slider: [debug] 行记录);客户端错误:浏览器 DevTools(F12)Console(前缀 [effort-slider]) |

项目结构

src/
index.ts host half: pi-ai wire provisioning via the SettingsForms seam
effort-core.ts pure logic: dialect → wire mapping, provisioning patches (unit-tested)
client/
index.ts browser half: intercept the Effort row + panel anchor + menu-row coloring
css-modules.d.ts
effort/
directory.ts structural face of ctx.modelDirectories / ctx.sessions (type-only, no DSH runtime import)
EffortPanel.tsx Effort panel (levels / ticks / slider / glow)
useWebglFire.ts WebGL2 three-pass fire loop (spring follow + idle sleep)
shaders.ts vertex / ignite / blur / composite shaders
effortColors.ts level → color mapping (panel and menu row share it)
effort.module.css panel styles (inlined via lightningcss)
cordis.patch.yml bundle patch (inserts the ui-effort-slider row)
lib/ built artifacts (client.js ships with sourcemap)
test/ host.spec.mjs unit tests + host-apply.spec.mjs + client.smoke.mjs

开发

pnpm install
pnpm build # tsdown → lib/index.js (host half) + lib/client.js (browser half)
pnpm typecheck # tsc --noEmit (green against @deepseek-ai/* 0.2.1-rc.2)
pnpm test # package identity, reproducible builds, and pure provisioning logic
pnpm exec playwright install chromium # once, when Chromium is not installed (Windows uses Edge)
pnpm test:live # install this package into the published DSH app and operate its real browser UI

test/ 分层,从最省时的开始:

| 文件 | 范围 |
| package-config.spec.mjs | 用 YAML 库解析实际的 bundle YAML,检查其分发包身份 |
| build-determinism.mjs | 在两个工作区目录中构建未改动的源码,逐字节比较三个产物 |
| host.spec.mjs | 纯逻辑:dialect → wire 映射、provisioning 补丁生成、幂等性 |
| live-profile.spec.mjs | 启动已发布的 DSH 0.2.1-rc.2,用其命令行安装本包,并在 Edge/Chromium 中操作真实 UI:限定范围的客户端启动、设置持久化、键盘/焦点行为、重新加载、窄视口,以及实时 dialect 更新 |

CI 会运行两条测试命令。实时验证把运行时、配置档、截图和报告存放在被忽略的 output/ 下;它检查配置、模型目录和 Session 选择,不发送模型生成请求。历史 fixture 测试不纳入发布检查。
热更新桥接在把任务入队之前,会先对 DSH 0.2.1 内部的 HMR 事务上下文做特性检测。设置写入仍然走带修订检查的公开 API 及其独占队列。实时测试锁定 DSH 0.2.1-rc.2,这样在更新受支持版本时,一旦该内部上下文发生变化就能被发现。

参与贡献。 Fork → 修改 → pnpm build → 运行 pnpm test → 向 main 提 PR。小修小补(文档、测试)无需事先讨论,直接提就行;报问题时请附上 DSH 版本和完整报错信息。

许可证与安全

许可证:BSD-3-Clause — 见 LICENSE。
UI 实现参考了社区项目 dsh-ui-web 的 aurora 皮肤(BSD-3-Clause);完整的上游声明与许可证文本在 THIRD_PARTY_NOTICES.md。

安全:本插件不读取任何凭据,也不向网络发送任何内容(只与本地 DSH 通信)。如需私下报告安全问题,请使用 GitHub Security 标签页的 Report a vulnerability —— 不要在公开 issue 里写漏洞细节。

Star 历史

BSD-3-Clause © 2768651338
预览分享卡片长什么样 ↓2768651338/dsh-effort-slider
分享 · DeepSeek Harness Hub
2768651338/dsh-effort-slider

仿 Claude Code 推理等级滑块 支持第三方模型 DSH 插件

回到顶部