把服务商公布的推理等级一键补进模型目录
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add DC1024/dsh-effort-sync该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ads
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
- 发起网络请求lib/client.js:40
const resp = await fetch('/dsh-effort-sync/sync', { - 发起网络请求lib/sync.js:132
const resp = await fetch(url, { - 发起网络请求rehearsal.mjs:197
const live = await fetch(`http://127.0.0.1:${port}/dsh-effort-sync/sync`, { - 发起网络请求rehearsal.mjs:208
const refused = await fetch(`http://127.0.0.1:${port}/dsh-effort-sync/sync`, { method: 'GET' })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH 插件:从服务商在 /v1/models 上公布的信息同步模型目录的推理等级(reasoningEfforts),提供 sync_reasoning_levels 工具,并在模型设置页加一键按钮。
README
由 DeepSeek 最新模型翻译生成dsh-effort-sync
把 DSH 模型目录里的推理等级与服务商实际声明的能力对齐。
宣传页:https://dc1024.github.io/dsh-effort-sync/(源码在 docs/)
两个入口,共用同一段逻辑:
- 设置界面 → 模型 页尾部的「同步推理等级」按钮 —— 点一下就把服务商公布的等级补齐(本文档新增)。
- 工具 sync_reasoning_levels —— 给智能体用,默认 dry-run。
为什么需要它
DSH 自己做不到这件事,原因是契约缺一个槽位:
- 发现契约没有推理字段:LlmDiscoveredModel = { id, name?, contextWindow?, maxTokens?, inputModalities? } —— 所以即使服务商在 /v1/models 里报了能力,DSH 也搬不进来。
- 推理能力只有一条入口:LlmResolvedModelInfo.reasoning,而它来自适配器自报或目录声明(reasoningEfforts)。
- 结果:像 magpie 这样已经提供 supported_reasoning_levels 的网关,在界面上加完模型后,模型选择器里依然没有思考强度可选。
本插件读上游、写目录,补上这一段。
展开完整文档(README 剩余 1 节)
dsh-effort-sync
把 DSH 模型目录里的推理等级与服务商实际声明的能力对齐。
宣传页:https://dc1024.github.io/dsh-effort-sync/(源码在 docs/)
两个入口,共用同一段逻辑:
- 设置界面 → 模型 页尾部的「同步推理等级」按钮 —— 点一下就把服务商公布的等级补齐(本文档新增)。
- 工具 sync_reasoning_levels —— 给智能体用,默认 dry-run。
为什么需要它
DSH 自己做不到这件事,原因是契约缺一个槽位:
- 发现契约没有推理字段:LlmDiscoveredModel = { id, name?, contextWindow?, maxTokens?, inputModalities? } —— 所以即使服务商在 /v1/models 里报了能力,DSH 也搬不进来。
- 推理能力只有一条入口:LlmResolvedModelInfo.reasoning,而它来自适配器自报或目录声明(reasoningEfforts)。
- 结果:像 magpie 这样已经提供 supported_reasoning_levels 的网关,在界面上加完模型后,模型选择器里依然没有思考强度可选。
本插件读上游、写目录,补上这一段。写回走的是 configEditor —— 和设置界面同一条正规路径。
界面按钮
座位是官方声明的加性扩展点 settings.models.footer(由 @deepseek-ai/dsh-client-ui-settings-models 声明),不覆盖任何自带 UI。按钮的工作流:
1. 读取每个往 providers 里声明的服务商(含手写 patch 层里的);
2. 用 credentials.resolve(apiKeyEnv) 取密钥,请求 <baseURL>/models;
3. 把两边都有、而目录里还缺的等级写回 reasoningEfforts;
4. 在按钮下方直接列出写了哪些模型、从什么变到什么、以及哪些值被跳过。
一个服务商读不通只会被单独报告,不会挡住其它服务商的写入。
客户端插件(dsh.client)需要重启 DSH 才会挂载;host 半边的改动是热加载的。配置写入本身即时生效。
工具用法
用 sync_reasoning_levels 看看会改什么 # dryRun 默认 true,只报告差异用 sync_reasoning_levels 应用(dryRun=false) # 真正写回配置
参数:
| 参数 | 默认 | 说明 |
| provider | 全部 | 要同步的 provider key(如 magpie);不传则同步所有声明的服务商 |
| dryRun | true | 只报告差异,不写(界面按钮相反:点击即写) |
| noneMapsToOff | false | 是否把上游的 none 档映射成 DSH 的 off(按上游而异,默认不猜) |
| only | 全部 | 只同步指定的模型 id |
| replace | false | 用上游列表替换声明(默认是加性合并;替换有掉档风险,见下) |
安全设计
1. 默认不写:工具 dryRun 默认 true;界面按钮是显式点击,写完把差异回报给你。
2. 只写 DSH 认识的等级:词表固定 off / minimal / low / medium / high / xhigh / max;上游多出来的值(如 none)只报告、不猜。
3. 保留既有 wire 拼写:已存在的映射(如 max: ultra)不会被覆盖 —— 与设置界面同一规则。
4. 不动上游没广告的模型:查不到的模型原样跳过,并在报告里说明。
5. 加性优先:中转网关公布的档位常是上游能力的保守子集(实测 magpie 对某模型只报 low/high/max,而上游六档全收),所以默认只增不减;replace 需显式开启。
6. 不碰凭据:只经 credentials.resolve(apiKeyEnv) 取值,不落盘、不打印。
7. 不整块改写服务商:只写 models 这一项,并且是从有效配置(含下层)+ 本层已有内容重建的,不会把下层手写的 apiKeyEnv/baseURL 变成空值,也不会丢模型。
两个已知边界
- reasoning: false 不代劳:若上游对某模型标 reasoning: false,插件不会替你写 reasoningEfforts: false (那会让选择器消失,属于行为变更)。它只在报告里提示你手工决定。
- none 档不猜:见 noneMapsToOff。
自测
node rehearsal.mjs 用假 ctx + 假上游跑全流程(真实 HTTP 走的是本插件自己的路由),断言覆盖:
- dry-run 只算差异、零写入;
- 应用后写入的模型表结构与拼写(保留 max: ultra、新档用同一性拼写、不动无关模型);
- 幂等(第二次点击无改动、无冗余写入);
- 单个服务商读不通 / 缺密钥 / 无模型 / 未知 provider / 非 POST 请求的错误路径。
宣传页另有一条渲染自检(防止首屏空白与横向溢出这两类老坑):
node tools/verify-site-chrome.mjs # 无头 Chromium 直接经 CDP 驱动,输出截图与量测
它用 DevTools 协议量 scrollWidth / 元素可见性 / 溢出元素,桌面与移动各出一张全页截图,报告写在 .verify/。
安装
pnpm pack # 产出 dsh-effort-sync-<version>.tgz
然后在 DSH:设置 → 插件 → 安装 tarball(或 plugin_manager install_bundle <tarball>),重启 DSH。
升级务必 bump 版本号:DSH 按 generation 路径缓存已加载的 ESM。
改动记录
| 版本 | 内容 |
| 0.2.0 | 加界面按钮(client 半 + settings.models.footer)、POST /dsh-effort-sync/sync、逐供应商报告与容错、replace 选项、离线 rehearsal 与 tools/pack.mjs |
| 0.1.2 | 加性合并(只增不减)、多供应商同步、tools/ 探针 |
| 0.1.1 | 保留既有 wire 拼写、跳过未知等级 |
| 0.1.0 | 首个版本:sync_reasoning_levels 工具,默认 dry-run |
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
DC1024/dsh-effort-sync
把服务商公布的推理等级一键补进模型目录
相关插件 · 营销 / 广告
复古广告弹窗Nagi-ovo/dsh-ads
把 DSH 变成 2005 年门户网站|Parody ads, fake games, and popups for…
★ 679已汉化DSH
67.4
精酿竖版宣传片Finderchangchang/brewreel
精酿 BrewReel:让 DeepSeek 这类便宜模型也能做出好看的竖版宣传片。写一份产品简报,AI…
★ 166已汉化DSH
62.6
工作区分组树KannaKuron/dsh-better-workspace
给 DeepSeek Harness DSH 的侧边栏「工作区」列表装上一套两层文件夹系统——磁盘层按目录路径嵌套官方…
★ 31已汉化DSH
48.1
跨窗提醒Aisland-SJL/dsh-reminder
🔔 DeepSeek Harness 跨窗口完成与审批通知——弹窗提醒把你拉回 DSH,Codex/WorkBuddy 风格。
★ 18已汉化DSH
40.4
推理档位自动选择justhalfbit/dsh-plugin-jev-effort-selector
让 Jev System One 模型替你决定每条消息该用多深的推理。
★ 7已汉化DeepSeek 客户端
37.1
模型价格看板vitas/dsh-model-pricing
在选择模型之前比较 LLM API 价格——并在使用之后查看你实际支付了多少。 这是一个
★ 2已汉化DeepSeek 客户端
36.5
这是你的仓库?认领条目