ljsysfurryACE/dsh-compaction
AgentFrame compaction backend for DeepSeek Harness: semantic+physical KV compression (35.6x)
Listed
0
Memory
Bundle verified
What it does
Compaction backend replacing LLM summarization with a deterministic semantic extractor (keeps code/paths/commands, drops chatter) plus 28.4x KV-compression accounting.
Best for
- Long conversations where code, paths, commands, and other high-information lines should survive compaction.
- Teams that want deterministic extraction instead of an additional LLM summarization call.
- Harness deployments that need automatic or manual compaction through the existing compaction lifecycle.
Not ideal for
- Conversations where low-signal-looking prose, tone, or narrative nuance must be preserved.
- Workflows that prefer an LLM-written coherent summary over selected high-information lines.
- Deployments expecting the reported KV compression figure to modify the model runtime; physical compression is represented as accounting.
README
dsh-compaction-agentframe
AgentFrame 压缩后端插件 —— 把 DeepSeek Harness 的默认 LLM 摘要压缩替换为 语义 + 物理双轨压缩(28.4x KV 压缩思路)。
为什么替换默认压缩
默认 compaction-basic 用 LLM 摘要(有损总结旧对话),每次压缩都要一次
LLM 调用,且摘要可能丢细节。
AgentFrame 的思路:
- 语义轨:MemoryDirector 判断哪些 token 值得保留(去闲聊、留关键)
- 物理轨:吸收式 MLA + INT4 量化(270KB→7.6KB/token,28.4x)
- 效果:保留关键信息 + 大幅省 token + 不额外调用 LLM
使用
在 profile 的 cordis.patch.yml 中把 compaction-basic 替换为:
- id: compaction-agentframe
name: '@deepseek-ai/dsh-compaction-agentframe'
config:
semantic: true
retainRatio: 0.2
physical: true
配置
| 字段 | 默认 | 说明 |
|---|---|---|
semantic |
true | 语义压缩(保留高信息行) |
retainRatio |
0.2 | 压缩后保留比例 |
physical |
true | 物理压缩记账(bytes/token) |
bytesPerToken |
7776 | INT4 压缩后每 token 字节 |
auto |
true | 自动压缩 |
实现
继承 CompactionEngine(compaction seam),实现三个抽象方法:
-
compactIfNeeded— 自动压力触发 -
compactNow— 手动 /compact 命令 -
compactRegion— 指定范围压缩
保持 dsh 的 surface/事件/持久化契约(compaction/start → replace → compaction/end), 只替换”如何压缩”。
License
GPL-3.0 © Cloud LTE Studio / AgentFrame
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:ljsysfurryACE/dsh-compaction in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.