ljsysfurryACE/dsh-compaction

AgentFrame compaction backend for DeepSeek Harness: semantic+physical KV compression (35.6x)

Bundle verified Unknown JavaScript Unknown
Bundle verified

Listed

0

Memory

Bundle verified

VersionUnknown
LanguageJavaScript
LicenseUnknown
View on GitHub

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.