dsh-auto-compact
开发工具 活跃维护

dsh-auto-compact

songoao25/dsh-auto-compact

Enhanced auto-compaction defaults for DeepSeek Harness agent presets

1
Stars 标星
0
Forks 分支
1
Watchers 关注
2
Open Issues
JavaScript
主要语言
MIT
开源协议
42 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:songoao25/dsh-auto-compact
git clone https://github.com/songoao25/dsh-auto-compact.git
git clone git@github.com:songoao25/dsh-auto-compact.git
README.md main

dsh-auto-compact

English | 中文

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
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