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

压缩适配器 warter666/dsh-compaction-fit

DeepSeek 客户端
warter66610 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

按真实 token 预算裁剪摘要请求并自动缩小重试

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/warter666/dsh-compaction-fit.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/06·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 10 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 写入本地文件
    index.js:83
    appendFileSync(TRACE_FILE, `${new Date().toISOString()} ${line}\n`)
扫描于 2026/11/6(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 压缩中间件:按真实 token 裁剪提示词,提示词过长时先压缩再重试,并修复 pi-ai 静默溢出误报。

README

由 DeepSeek 最新模型翻译生成
dsh-compaction-fit 让 DSH 的上下文压缩在本地 OpenAI 兼容网关上真正能跑完:摘要前按真实 token 预算裁剪、被上游拒绝时缩小预算重试,并修掉 pi-ai 把「已经完整到达的回答」误判成上下文溢出。 它解决的两个问题 1. 摘要请求超出上游真实限制。 dsh-compaction-basic 把整段被压缩历史塞进摘要请求,既不裁剪也不重试;harness 的 token meter 又按 4 字符/token 估算,中文和 JSON 会被低估 3–4 倍。自建反代(Qoder / WorkBuddy / AutoClaw 等)实际窗口和 adapter 声明值经常对不上,摘要请求就这样被顶回去,整个压缩失败,原始报错浮到用户面前。 2. pi-ai 的静默溢出误判。 当响应以 stop 结束、且 input + cacheRead > contextWindow(adapter 声明的窗口)时,pi-ai 不看内容是否已经到齐,直接伪造一条 pi-ai detected context overflow for model "..."。压缩摘要总是以 stop 结束,于是每一次成功的摘要都被丢弃;普通对话的最终文本回答同样会被毁掉。
展开完整文档(README 剩余 1 节)
dsh-compaction-fit

让 DSH 的上下文压缩在本地 OpenAI 兼容网关上真正能跑完:摘要前按真实 token 预算裁剪、被上游拒绝时缩小预算重试,并修掉 pi-ai 把「已经完整到达的回答」误判成上下文溢出。

它解决的两个问题

1. 摘要请求超出上游真实限制。 dsh-compaction-basic 把整段被压缩历史塞进摘要请求,既不裁剪也不重试;harness 的 token meter 又按 4 字符/token 估算,中文和 JSON 会被低估 3–4 倍。自建反代(Qoder / WorkBuddy / AutoClaw 等)实际窗口和 adapter 声明值经常对不上,摘要请求就这样被顶回去,整个压缩失败,原始报错浮到用户面前。
2. pi-ai 的静默溢出误判。 当响应以 stop 结束、且 input + cacheRead > contextWindow(adapter 声明的窗口)时,pi-ai 不看内容是否已经到齐,直接伪造一条 pi-ai detected context overflow for model "..."。压缩摘要总是以 stop 结束,于是每一次成功的摘要都被丢弃;普通对话的最终文本回答同样会被毁掉。

它做什么

- 摘要前裁剪:用 CJK 感知的估算器衡量 purpose: 'compaction' 请求;超预算时先按字符上限截断超长工具结果、assistant 文本、reasoning 和工具参数,仍不够再按「工具调用 + 结果」整组省略中间历史,插入一条省略说明。system、首组(通常是上一个 checkpoint)和最近若干组始终保留。
- 缩小重试:上游真的拒绝(CONTEXT_WINDOW_EXCEEDED 或 prompt too long 一类错误,且尚未产出任何内容)时,按 shrinkRatio 几何缩小预算重发,最多 maxRetries 次。已经流出的内容不会被撤回重试。
- 纠正伪造溢出:只在上游诊断是 pi-ai 的伪造措辞、没有 status/requestId、且流里已经有内容时,把 finish 改回 stop 并保留回答。真实上游拒绝没有内容、消息也是上游原文,不会被吞掉。

插件只挂在 llm/stream 上,不修改 harness、不修改 app.asar、不改会话日志;被省略的原文仍完整保存在 session log 里。

安装

在市场(Discover)里搜 dsh-compaction-fit 点安装,或:

dsh plugin --profile web add dsh-compaction-fit

package.json 声明了 dsh.bundle.patch,安装时 cordis.patch.yml 会作为 bundle 层自动并入,无需手工编辑 profile 的 patch。装完重启 DSH(市场里的热安装不需要)。

要求:Node ^22.19.0 || >=24.0.0,DSH 0.2.1-rc.2(cordis ~4.0.5)已实测;其他 0.2.x 版本请以 llm/stream 的 chunk 形状为准。

配置

默认值(随包 patch):

| 键 | 默认 | 说明 |
| trim | true | 对 purpose: 'compaction' 请求做预算裁剪 |
| suppressFabricatedOverflow | true | 纠正 pi-ai 伪造的溢出诊断 |
| suppressScope | all | all 覆盖普通请求;compaction 只覆盖摘要 |
| retryOnPromptTooLong | true | 真拒绝时缩小重试 |
| maxRetries | 2 | 最多重试次数 |
| shrinkRatio | 0.5 | 每次重试把预算乘以该系数 |
| contextRatio | 0.9 | 未 pin 时,预算 = 窗口 × 该系数 − 输出预留 − 安全余量 |
| safetyTokens | 8192 | 安全余量 |
| maxOutputReserveTokens | 32768 | 输出预留上限 |
| minBudgetTokens / maxBudgetTokens | 16000 / 1000000 | 预算夹取范围 |
| minRetryBudgetTokens | 4000 | 重试预算下限 |
| keepHeadGroups | 2 | 省略中间段时额外保留的开头组数 |
| budgets | 空 | provider/model → prompt token 预算,显式覆盖声明窗口 |

未 pin 的模型用 max(声明 contextWindow, 本进程观察到的最大成功 prompt) 作为容量,再套上面的公式。观察值来自正常完成的 usage 分片,进程重启后从声明窗口重新开始——所以如果你的网关实际窗口远大于声明值,建议直接 pin:

插件作为 bundle 安装后,在你自己的 cordis.patch.yml 里按 id 追加覆盖层即可(同一 id 的后层配置覆盖前层):

- id: compaction-fit
config:
budgets:
"qoder/deepseek-flash": 650000

pin 的值应来自该网关实际接受过的 prompt 大小;写大了会被真实拒绝,然后自动缩半重试。

行为细节

- 消息按组处理:assistant 的 tool-call 与紧随其后的 tool 结果是一组,不会被拆开;省略说明只插在组边界。
- 超长工具参数替换为合法 JSON 的 {"_compaction_fit_truncated":true,"originalChars":N,"preview":"..."},避免上游校验失败。
- 字符上限分 5 轮逐步收紧(最低工具结果 250 字符、assistant 500 字符);仍不够就继续扩大被省略的中间段。
- 观察日志:%TEMP%\dsh-compaction-fit.trace.log(桌面端 info 日志可能被过滤)。启动时写 apply called;第一次命中 compaction 请求时写 intercepting llm/stream,之后是 trimmed ...、suppressed fabricated overflow ... 或 retrying ... after: ...。
- trace 只记录路由、token 估算和错误摘要,不记录消息内容。

已知限制

- 预算用启发式估算,不是上游 tokenizer 的精确值;safetyTokens 和 contextRatio 就是为此留的余量。
- 中间历史被省略后,本次摘要不会包含那部分细节;原始事件仍在 session log,但不会回到模型上下文。对已经有 checkpoint 覆盖早期内容的会话,这是代价最小的恢复方式。
- 不处理图片 offload(交给 dsh-compaction-image-offload),也不拆分单个不可分单元(超大工具结果的剩余部分)。
- 只对 purpose: 'compaction' 做裁剪与重试;伪造溢出纠正默认覆盖所有请求,因为同一条误判同样会毁掉普通回答。

开发

node --test test/guard.test.mjs

13 个测试覆盖 CJK 估算、组级裁剪与工具配对、伪造溢出纠正、真实溢出后的缩小重试、有内容时不重试,以及 suppressScope: compaction 不拦截普通请求。

许可证

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

按真实 token 预算裁剪摘要请求并自动缩小重试

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部