lifeodyssey
dsh-compressor
DeepSeek Harness plugin: compress tool output, cut up to 20% of context, without touching the context cache or agent performance.
- Stars
- 0
- Language
- Rust
- Created
- Jun 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-compressor
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.