lifeodyssey/dsh-compressor

DeepSeek Harness plugin: compress tool output, cut up to 20% of context, without touching the context cache or agent performance.

Bundle verified MIT Rust Unknown
Bundle verified

Listed

1

Tools

Bundle verified

VersionUnknown
LanguageRust
LicenseMIT
View on GitHub

Preview

Preview 1 of 2: lifeodyssey/dsh-compressor
Preview 2 of 2: lifeodyssey/dsh-compressor

What it does

A slim port of Headroom: compresses tool output, cuts up to 20% of context, without affecting the model's context cache or agent performance.

Best for

  • Tool-heavy agent sessions where long logs, JSON, search results, text, or diffs consume substantial context.
  • Workflows that need shorter model-visible tool output while retaining the original output on disk for retrieval.
  • Long sessions that benefit from preserving the already-sent context prefix for cache reuse.

Not ideal for

  • Sessions whose tool outputs are already short, where compression adds little value.
  • Workflows needing code-aware tree-sitter compression or ONNX-based long-prose compression; those crushers are not wired in.
  • Cases where every detail of each tool result must remain immediately visible without using the retrieval tool.

README

English 中文

dsh-compressor

npm CI

A slim port of Headroom. Compresses tool output and cuts up to 20% of context, without affecting the model’s context cache or agent performance.

Install

dsh plugin --profile web add dsh-compressor

How it works

A tool run leaves a long log / JSON / diff. Only a small part of it is useful. This plugin shortens that output before the next turn, keeps the original on disk, leaves the already-sent prefix alone so the cache stays valid, and gives the agent a tool to pull the full context back.

flowchart LR
  A[Tool finishes] --> B{Output long?}
  B -->|no| C[Full text stays]
  B -->|yes| D[Shorten and save original]
  D --> E[Model sees the useful part]

Compressor code comes from Headroom. Wired in today: Log / Smart / Text / Search / Diff. The only crushers not wired in yet:

  • Code-aware (tree-sitter, source code)
  • Kompress (ONNX, long prose)

Develop

cd plugins/dsh-compressor
pnpm install
pnpm test

Contributing

Open PRs on this repo, not on Headroom.

Plugin code is in plugins/dsh-compressor (Node 22+, pnpm):

cd plugins/dsh-compressor
pnpm install
pnpm test
pnpm typecheck

Crushers live in crates/:

cargo test --workspace
make test-parity

One change per PR. Plugin changes need tests; crusher changes need cargo test. Details: CONTRIBUTING.md.

This plugin is MIT. crates/headroom-* remains Apache-2.0.

Frequently Asked QuestionsFAQ

Use the verified command dsh plugin --profile default add github:lifeodyssey/dsh-compressor 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.