Back to home

songoao25

dsh-auto-compact

Enhanced auto-compaction defaults for DeepSeek Harness agent presets

Stars
1
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 16, 2026

Introduction

dsh-auto-compact

License Release CI Last Commit Stars Dependabot

中文文档

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 /compact and 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:

  1. Copy it to your user presets directory:
    cp -r /opt/homebrew/lib/node_modules/@deepseek-ai/dsh/presets/<preset-name> ~/.dsh/.agent-presets/
    
  2. Run ./install.sh again to inject the enhanced configuration.
  3. Select the copied preset in DSH's session setup.

What the installer does

  • Finds every agent.cordis.yml under ~/.dsh/.agent-presets/.
  • Injects the policy block into the compaction-basic entry 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-basic themselves (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
KeyDefaultMeaning
thresholdRatio0.75Trigger compaction when estimated usage reaches this fraction of the model context window
retainRatio0.20Keep the most recent fraction of the window verbatim
modelPoliciesPer 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