songoao25/dsh-auto-compact
Enhanced auto-compaction defaults for DeepSeek Harness agent presets
Listed
1
Memory
Bundle verified
Preview
What it does
Enhanced auto-compaction defaults for DeepSeek Harness agent presets: apply tuned threshold/retention budgets and per-model policies with one command, idempotent with backups and rollback.
Best for
- Users running long DSH sessions who want context compacted earlier than the standard defaults.
- Teams managing multiple user-installed agent presets and wanting consistent, model-specific compaction policies.
- Operators who value an idempotent installer with per-file backups and rollback.
Not ideal for
- Users relying only on read-only factory presets, which are not modified unless copied into the user preset directory.
- Presets that already configure `compaction-basic`, which the installer skips and requires manual merging.
- Short sessions that rarely approach the model context limit.
README
dsh-auto-compact
| English | 中文 |
Enhanced auto-compaction defaults for DeepSeek Harness.
DeepSeek Harness ships automatic context compaction (dsh-compaction-basic), but the default trigger threshold is 80% of the model’s context window — too late for large-context models. This tool lowers the threshold to 75% and adds per-route policies, so history is tidied up earlier and long sessions stay responsive.
How it works
DeepSeek Harness runs one compaction-basic instance per agent preset (per session). Profile-level patches cannot reach that subtree, so this tool directly injects configuration into the compaction-basic entry of every user-installed preset under ~/.dsh/.agent-presets/.
- Default: trigger at 75% of the context window, keep the most recent 20% verbatim.
- Per-route policies:
- ChatGPT / Codex GPT-5.6 (272K context): trigger at 70%.
- OpenCode Go DeepSeek V4 (1M declared context): trigger at 65%.
- Keeps the existing summarization, retry, and safe-fallback behavior of
dsh-compaction-basic(a failed summary preserves the original history and never silently drops context). - Manual
/compactand tool-result pruning remain available.
Installation
cd dsh-auto-compact
./install.sh
Restart DeepSeek Harness afterward. Roll back with:
./uninstall.sh
Important: Factory Presets
This tool only injects into user-installed presets under ~/.dsh/.agent-presets/. The factory presets (standard, code, cordis, minimal) ship with their own default compaction settings (80% trigger, 16% retain) and are read-only — this tool will not modify them.
If you want enhanced compaction for a factory preset:
- Copy it to your user presets directory:
cp -r /opt/homebrew/lib/node_modules/@deepseek-ai/dsh/presets/<preset-name> ~/.dsh/.agent-presets/ - Run
./install.shagain to inject the enhanced configuration. - Select the copied preset in DSH’s session setup.
What the installer does
- Finds every
agent.cordis.ymlunder~/.dsh/.agent-presets/. - Injects the policy block into the
compaction-basicentry of each preset. - Backs up each modified file as
agent.cordis.yml.bak-auto-compact. - Idempotent: a marker comment prevents double injection.
- Skips presets that already configure
compaction-basicthemselves (merge manually in that case). - Never touches the read-only factory presets in the DSH install directory.
Configuration
All values live in scripts/inject.mjs (the CONFIG_BLOCK). Edit them before running ./install.sh if you want different thresholds. Preview with:
node scripts/inject.mjs --dry-run
| Key | Default | Meaning |
|---|---|---|
thresholdRatio |
0.75 | Trigger compaction when estimated usage reaches this fraction of the model context window |
retainRatio |
0.20 | Keep the most recent fraction of the window verbatim |
modelPolicies |
– | Per provider/model overrides |
Safety
- A failed summarization preserves the original history and logs a warning.
- Automatic recovery never loops indefinitely (bounded retries).
- The tool contains no secrets and no personal paths.
- Installation is fully reversible via
./uninstall.sh.
License
MIT © songoao25
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:songoao25/dsh-auto-compact 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.