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

推理强度记忆 cup113/dsh-effort-memory

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

记住每个模型上次用的推理强度,切回时自动恢复

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add cup113/dsh-effort-memory
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · model
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按服务商模型记忆强度
  • 切回会话自动恢复

仅宿主的 DeepSeek Harness(DSH)插件包:按(服务商,模型)记住上次生效的推理强度,会话切回时自动恢复。

README

由 DeepSeek 最新模型翻译生成
dsh-effort-memory 一个树外(out-of-tree)的 DeepSeek Harness (DSH)插件,它会记住每条 (provider, model) 路由上最后一次实际生效的推理强度(reasoning effort),并在会话切换回该模型时将其恢复。 为什么需要它 编辑器(composer)的模型席位(model seat)从持久化的 modelSelection 投影中渲染推理强度。选择一个不同的模型会发送该模型自己的 defaultEffort (dsh-client-ui-model-selection/lib/client.js:427,883),而当调用方省略推理强度时,宿主解析器(host resolver)会实体化适配器的默认值(dsh-llm/lib/index.js:2116-2130)。因此,模型切换总是落到新模型的默认值上,而在被离开的模型上选择的级别在返回时不会被恢复。 本插件通过 GUI 所调用的同一公共命令接口,重新发出恰好一次选择,从而填补这一空白——它自身不追加任何会话事件,不注册任何服务,也不写入任何设置。 行为 1. 记忆键为 (provider, model);值为该路由上最后一次生效的推理强度 id。
展开完整文档(README 剩余 1 节)
dsh-effort-memory

一个树外(out-of-tree)的 DeepSeek Harness
(DSH)插件,它会记住每条 (provider, model) 路由上最后一次实际生效的推理强度(reasoning effort),并在会话切换回该模型时将其恢复。

为什么需要它

编辑器(composer)的模型席位(model seat)从持久化的 modelSelection 投影中渲染推理强度。选择一个不同的模型会发送该模型自己的 defaultEffort (dsh-client-ui-model-selection/lib/client.js:427,883),而当调用方省略推理强度时,宿主解析器(host resolver)会实体化适配器的默认值(dsh-llm/lib/index.js:2116-2130)。因此,模型切换总是落到新模型的默认值上,而在被离开的模型上选择的级别在返回时不会被恢复。

本插件通过 GUI 所调用的同一公共命令接口,重新发出恰好一次选择,从而填补这一空白——它自身不追加任何会话事件,不注册任何服务,也不写入任何设置。

行为

1. 记忆键为 (provider, model);值为该路由上最后一次生效的推理强度 id。
2. 在路由变更 A -> B 时,插件记住 A 的推理强度,然后:
- 如果 B 有已记住的推理强度且 B 当前声明支持它,则通过
ctx.sessionController.selectModel(...) 重新发出一次选择,使
会话的持久化选择变为 { B, 该推理强度 };
- 否则它什么都不做,B 保持自己的默认值。这是有意为之:首次访问一个从未使用过的模型会落到该模型的默认值上。
3. 路由变更在重启后也能被识别:每个会话在切换前的路由会在 session/created —— 附加(attach)时刻,从持久化的 modelSelection 投影中播种(seed),此时该投影仍然只反映已存储的日志。从事件处理器内部读取种子将是徒劳的:stateOf 会在会话的当前游标处实体化,而该游标已经包含了正在被处理的事件,因此种子将始终等于事件本身。
4. 一个未声明任何推理能力的目标模型(解析出的 reasoning 缺失,或设置中 reasoningEfforts: false)不会得到 reasoningEffort,也不会报错。
5. 目标不再声明支持的已记住推理强度(例如被 dsh-custom-reasoning-effort 重写)会静默回退到模型的默认值,不进行重试。
6. 在已选模型上仅推理强度发生变化的情况永远不会被触碰。

设计约束

- 仅宿主(Host)部分。 没有 client.js,没有 slot,没有 React,没有 UI。
- 单一杠杆。 ctx.sessionController.selectModel —— 与 GUI 所调用的同一公共命令接口。插件自身从不追加会话事件,也从不重写内存中的选择状态。
- 能力优先。 在任何重新发出之前都会查询
ctx.llm.resolveModelInfo(provider, model),因为对于目标不声明支持的级别,
selectModel 会抛出 UNSUPPORTED_REASONING_EFFORT。
- 循环安全。 只有路由变更才能触发重新下发,且仅当事件的 effort 与已记住的不同时才会触发,并且重新下发保持相同的路由——因此它产生的事件无法作为变更重新进入规则。
- 重放安全。 构造函数种子(重放、分叉、恢复)从不在 session/event 消防水带上发布;保留 seq add link:

直接从 GitHub:

dsh plugin --profile add github:cup113/dsh-effort-memory

dsh plugin 会转发到 profile 目录中的 pnpm,然后协调 dsh.profile.bundles:解析为声明了 dsh.bundle 的包的依赖会自动加入层栈。新的 bundle 行及其 Node ESM 模块都会在启动时加载,因此安装后或编辑 index.js 后重启 dsh。

布局

| 路径 | 作用 |
| index.js | 宿主半部分:事件监听器、服务调用、存储记忆(apply、inject、name) |
| decide.js | 纯规则:路由键、effort 归一化、决策表 |
| cordis.patch.yml | 唯一的 bundle 行(id: effort-memory、name: dsh-effort-memory) |
| test/ | 测试套件:纯层、打包一致性以及一个集成测试 |
| _verify/ | 针对实时 DSH 使用的测试装置:一个动态宿主探针、一个多帧会话日志提取器、一个变更检查 |

只有 files 中列出的根文件才是 bundle;test/ 和 _verify/ 对 Loader 无影响。

测试

node test/all.mjs

二十二个断言:纯决策表、打包一致性(bundle 行 id、包名、存储域名称),以及一个集成测试套件,它针对伪造的 Cordis 上下文驱动真实的 apply() —— 监听器形态、事件顺序、重发循环断路器、重放种子拒绝、重启种子,以及无存储回退。CI 在 Node 20 和 22 上运行相同的入口。

node --test 被有意不使用:它会在子进程中运行每个文件,并使用管道 stdio,而受限沙箱会拒绝这种方式。

_verify/mutation-check.mjs 证明决策断言并非空洞:从 decide.js 中移除 restore 分支后,规范断言会翻转。

已知限制

1. 每次切换的一次设置写入由公共 selectModel 路径本身执行(agentDefaultModel.saveSelection → settings.replace('agent-default-model', …))。此插件不添加任何设置命名空间,也不进行自己的设置写入。
2. 内存按 (provider, model) 全局共享 —— 按规范由每个会话和工作区共享。
3. 该插件会对每个路由发生变化的活跃会话起作用,包括子代理会话。若限制为根会话,则需要额外的 agents 依赖。
4. 没有 sessionProjections 时,就没有附加时种子,因此会话在重启后的第一次切换仅建立基线,不会被恢复;同一进程中的后续每次切换都会被恢复。
5. 过期的已记住级别会保留在域中(无害):如果某个模型的 effort 表之后重新获得该级别,它将被再次恢复。
6. 仅限单进程可见性;domain/changed 不会跨进程。

许可证

MIT © 2026 Jason Li
预览分享卡片长什么样 ↓cup113/dsh-effort-memory
分享 · DeepSeek Harness Hub
cup113/dsh-effort-memory

记住每个模型上次用的推理强度,切回时自动恢复

回到顶部