让压缩摘要沿用会话思考档位,避免前缀缓存失效重算
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add rezon-aki/dsh-compaction-effort-inherit该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 33 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 压缩沿用会话思考档位
- 避免前缀缓存失效重算
- 零依赖
上下文压缩沿用会话思考档位:DeepSeek 前缀缓存按档位分桶,不修就会在每次压缩时把整个上下文按未缓存价重算一遍。零依赖、不碰官方插件。
README
由 DeepSeek 最新模型翻译生成dsh-compaction-effort-inherit · 压缩不再作废前缀缓存
简体中文 · English
license
format
tests
让上下文压缩的摘要请求沿用会话当前的思考档位——否则它会落到另一个缓存桶里,把整个上下文按未缓存价重算一遍。
为什么有这个项目:官方 compaction-basic 会重放整段对话前缀去调摘要模型,本意就是复用 provider 的 warm prefix cache。但它从会话请求头里只取了 provider / model,把 reasoningEffort 丢掉了;缺失的档位由 LLM 层用适配器默认值补上。DeepSeek 的前缀缓存按思考档位分桶——同前缀、同档位命中,换了档位则 cache_read_input_tokens 归零。于是会话跑在 max 时,每次压缩都要为整段上下文再付一次全价。
展开完整文档(README 剩余 1 节)
dsh-compaction-effort-inherit · 压缩不再作废前缀缓存
简体中文 · English
license
format
tests
让上下文压缩的摘要请求沿用会话当前的思考档位——否则它会落到另一个缓存桶里,把整个上下文按未缓存价重算一遍。
为什么有这个项目:官方 compaction-basic 会重放整段对话前缀去调摘要模型,本意就是复用 provider 的 warm prefix cache。但它从会话请求头里只取了 provider / model,把 reasoningEffort 丢掉了;缺失的档位由 LLM 层用适配器默认值补上。DeepSeek 的前缀缓存按思考档位分桶——同前缀、同档位命中,换了档位则 cache_read_input_tokens 归零。于是会话跑在 max 时,每次压缩都要为整段上下文再付一次全价。
实测:换档位就是全量 miss
同一段全新前缀,只改 output_config.effort,直接打 api.deepseek.com/anthropic(model deepseek-flash):
| 调用 | 档位 | input | cacheRead | 判定 |
| 1 | high(冷启) | 7094 | 0 | MISS |
| 2 | high(同档) | 182 | 6912 | HIT |
| 3 | max(换档) | 7094 | 0 | MISS |
| 4 | max(同档) | 182 | 6912 | HIT |
| 5 | off(thinking disabled) | 7069 | 0 | MISS |
| 6 | off(同档) | 157 | 6912 | HIT |
| 7 | high(切回来) | 182 | 6912 | HIT |
| 8 | high,max_tokens 改 8 倍 | 182 | 6912 | HIT |
两个结论:档位进缓存键(第 3、5 行),max_tokens 不进(第 8 行)。每个档位各自留桶、互不干扰(第 7 行)。
装完什么样
同一个会话、同一段前缀,走真实 DSH 压缩调用路径(ctx.llm.stream + purpose: 'compaction'):
| 状态 | 会话档位 | input | cacheRead | 判定 |
| 装之前 | max | 8030 | 0 | MISS |
| 装之后 | max | 158 | 7552 | HIT |
| 装之后(high 会话) | high | 222 | 7808 | HIT |
| 卸载之后 | max | 7710 | 0 | MISS |
第三行是重点:它读会话自己的档位,不是写死成某一个值。
安装
方式一:DSH 插件面板 —— 侧栏 →「插件」→「添加插件」:
github:rezon-aki/dsh-compaction-effort-inherit
方式二:命令行:
dsh plugin --profile web add github:rezon-aki/dsh-compaction-effort-inherit
装完重启 profile。
卸载:
dsh plugin --profile web remove dsh-compaction-effort-inherit
插件不写文件、不写设置、不加工具、没有客户端资源,卸载即净。
安全边界
- 不碰官方插件:不 patch 它的文件、不包装它的类、不改它的配置。挂点只有一处——llm/stream 事件(dsh-session-title、dsh-session-checkpoint-policy、dsh-llm/invariant 用的是同一个 seam)。
- 只影响压缩调用:非 purpose: 'compaction' 的请求在第一道判断就放行,主对话、子 agent、会话标题全不受影响。
- fail-open:监听体整体 try/catch,任何异常直接放行,插件坏了也不会阻断压缩。
- 零依赖、零构建:手写 ESM,没有运行时依赖,没有构建步骤。
它怎么做到的
ctx.on('llm/stream', (options, next) => {
if (options.purpose !== 'compaction') return next()
try {
const effort = inheritEffort(options, ctx.sessions.get(options.sessionId)?.requestHeader?.())
if (effort !== undefined) options.reasoningEffort = effort
} catch { /* fail open */ }
return next()
}, { global: true })
三个容易踩的点,细节见 docs/DESIGN.md:
1. 必须原地改 options。cordis 的 next 不接受参数,返回 next({ ...options }) 是静默无效的。
2. 档位取自 session.requestHeader(),也就是"上一个真正发出去的请求用了什么档位"——那才是当前热着的缓存桶。这也与 agent-loop 自己的解析规则一致(请求头里带 adapterDefaults.reasoningEffort: true 时双方都忽略它)。
3. 跨路由放行:有人给压缩配了另一个 summarizationProvider/Model 时,继承过来的档位可能不被目标模型支持。
边界
- 只在会话显式档位 ≠ 适配器默认档位时有可观测收益。会话本来就在 high(适配器默认)时,两个请求本就同桶。
- 不改变压缩行为本身:摘要区间、保留策略、maxTokens 都不动(实测 max_tokens 不进缓存键)。
- 不管 session-title:适配器对它强制 off,且它没有可复用的前缀。
- 只验证过 DSH 0.1.7-rc.2 + profile web。
开发
npm test # node --test,7 条判定用例
实测记录(怎么做、数字从哪来)在 docs/ACCEPTANCE.md。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
rezon-aki/dsh-compaction-effort-inherit
让压缩摘要沿用会话思考档位,避免前缀缓存失效重算
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 14,822已汉化DeepSeek 客户端
73
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 718已汉化DSH
71.2
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,261已汉化DSH
70.7
破甲评测WoYun520/dsh-purge
在本机分离宿主拦截与模型拒绝,做受控红队评测
★ 199已汉化DSH
69.7