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

推理等级同步 DC1024/dsh-effort-sync

DeepSeek Harness
DC102416 天前有提交已提供中文文档扫描:未发现敏感能力

把服务商公布的推理等级一键补进模型目录

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
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
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
预览分享卡片长什么样 ↓DC1024/dsh-effort-sync
分享 · DeepSeek Harness Hub
DC1024/dsh-effort-sync

把服务商公布的推理等级一键补进模型目录

这是你的仓库?认领条目

回到顶部