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

压缩阈值调节 SunlitCrack/dsh-compaction-threshold

DeepSeek Harness
SunlitCrack16 天前有提交已提供中文文档扫描:含敏感能力

在设置卡里调整会话自动压缩的触发点与保留比例

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

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

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

状态速览

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

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

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 写入本地文件
    lib/index.js:109
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    lib/index.js:111
    appendFileSync(file, line, 'utf8')
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DSH 插件:在插件设置卡里调会话自动压缩的触发阈值与保留比例,保存即时写进 agent preset 隔离的压缩引擎

README

由 DeepSeek 最新模型翻译生成
dsh-compaction-threshold 在 插件 → dsh-compaction-threshold 的配置卡里调 DSH 的会话压缩阈值,保存后即时生效,不需要重启。 | 设置项 | 默认 | 范围 | 说明 | | 触发阈值 | 80% | 17–90 | 自动压缩在已路由模型上下文窗口的百分之多少处触发 | | 保留近期对话 | 16% | 1–89 | 压缩时逐字保留的最近对话比例,必须小于触发阈值 | | 自动压缩 | 开 | — | 关闭后不再自动压缩,手动 /compact 仍可用 | 例:窗口 1,000,000 的模型,触发阈值 80% → 800,000 tokens 处压缩,逐字保留 160,000 tokens。
展开完整文档(README 剩余 1 节)
dsh-compaction-threshold

在 插件 → dsh-compaction-threshold 的配置卡里调 DSH 的会话压缩阈值,保存后即时生效,不需要重启。

| 设置项 | 默认 | 范围 | 说明 |
| 触发阈值 | 80% | 17–90 | 自动压缩在已路由模型上下文窗口的百分之多少处触发 |
| 保留近期对话 | 16% | 1–89 | 压缩时逐字保留的最近对话比例,必须小于触发阈值 |
| 自动压缩 | 开 | — | 关闭后不再自动压缩,手动 /compact 仍可用 |

例:窗口 1,000,000 的模型,触发阈值 80% → 800,000 tokens 处压缩,逐字保留 160,000 tokens。

为什么不能只改 profile 配置

DSH 内核本来就带压缩(@deepseek-ai/dsh-compaction-basic,默认 thresholdRatio = 0.8 / retainRatio = 0.16),但在 web / desktop 装配下改不到:

- 组合里进程级那一行 compaction-basic 是被禁用的;
- 每个 agent preset 在自己的隔离 realm 里各挂一个 BasicCompactionEngine (presets/cordis/agent.cordis.yml 的 compaction 组,isolate: { compaction: true });
- 往 ~/.dsh/profiles/<name>/cordis.patch.yml 写同 id 行不落到会话实际用的那个引擎。

实现要点(内核 0.1.5-rc.2 实测)

1. 取得引擎:ctx.get('agentPresets').serviceFor(agent, 'compaction') → 返回该会话所在 preset 隔离 realm 内的 BasicCompactionEngine。
2. 改值的正确姿势是「替换整个 config 对象」,不能原位赋值:
- Object.isFrozen(engine.config) === true,而 config 属性本身 writable: true;
- 原位赋值在 ESM 严格模式下抛 TypeError: Cannot assign to read only property 'thresholdRatio',被 try/catch 吞掉就等于静默什么都没做(这点极易踩坑);
- 引擎每次决策都重新读 this.config,所以整体替换即热更新。实测替换后 45 秒回读仍是新值。
3. 枚举存活会话用 ctx.get('agents').list():
sessionPersistence.list() 的条目形状是 { header, revision, sizeBytes },
会话 id 在 entry.header.id 里、顶层没有 id;照顶层取会永远扫到 0 个会话。
4. 两条落地路径:
- 保存设置时立即扫描存活会话写入(实测 1.5 秒内引擎即为新值);
- 每个 step 边界 ctx.on('agent/pre-step', …, { prepend: true }) 再兜底同步一次。

不改压缩算法、不碰会话日志:摘要生成、消息替换、checkpoint、持久化、溢出恢复全部仍是官方 compaction-basic 负责。设置值持久化在设置存储(命名空间 dsh-compaction-threshold),进程重启后由 step 边界重新应用。

安装(本机 DSH Desktop)

Desktop 独占 profile 装配,dsh plugin add 在本机不可用。走本地热装配:

npm pack # → dsh-compaction-threshold-0.1.0.tgz
解包到 D:\dsh-plugins\dsh-compaction-threshold
dev_install_package(dir, profile='desktop')

本插件宿主半边只 import @deepseek-ai/schemastery(0.2.0 起 @deepseek-ai/dsh-settings 的 installSettingsSection / settingsNamespace 已删除,导入它们会让宿主起不来)。
link 安装的插件目录没有自己的 node_modules,因此目录内建立一个指回内核同一份的 junction(不是拷贝,避免版本偏移):

node_modules/@deepseek-ai/schemastery → <app>/dsh/node_modules/@deepseek-ai/schemastery

(<app> = 官方 Harness 安装目录,例如 D:\DeepSeek Harness\resources\app。
注意不要指向社区 Desktop 或其它副本:目标一旦被卸载/移动,悬空链接会让插件 failed to import、宿主启动报错。)

装完硬刷新页面(Ctrl+Shift+R),在 插件 → dsh-compaction-threshold 的配置卡里即可看到本行(0.2.0 起第三方插件的配置卡在插件页,不在「设置 → 通用」)。

⚠️ 改本插件的代码后需要重启 DSH Desktop 才生效:本机 super-injector 的 dev_reload_package 拿不到 loader.internal,只会"重新装配"旧模块;且 dev_install_package 见到已存在的 loader entry 会跳过 create。重启后由 profile 的 bundles 列表正常装配。

验证

宿主日志(%APPDATA%\DSH Desktop\logs\host\dsh-<日期>.log)里会有:

[dsh-compaction-threshold] audit-><写入路径> {"event":"applied","thresholdRatio":0.62,…}

同时会往下列第一个可写目录追加一行 JSONL 审计(dsh-compaction-threshold.jsonl): $DSH_HOME → ~/.dsh → 本插件目录。

限制

- 只调阈值类策略;压缩范围选择、摘要质量、按模型覆盖(modelPolicies)、摘要模型选择不在本插件范围内。
- 只支持百分比;按绝对 Token 设阈值需要知道每个模型窗口,未做。
- 若别处设过 retainTokens,本插件会清掉它(与 retainRatio 互斥)。
- 某个 preset 若没有压缩组(不压缩的 preset),serviceFor 拿不到引擎,本插件对它无效。

许可

MIT。
预览分享卡片长什么样 ↓SunlitCrack/dsh-compaction-threshold
分享 · DeepSeek Harness Hub
SunlitCrack/dsh-compaction-threshold

在设置卡里调整会话自动压缩的触发点与保留比例

回到顶部