songoao25/dsh-auto-compact

插件Plugin ⭐ 3 MIT 开发工具Developer Tools

Enhanced auto-compaction defaults for DeepSeek Harness agent presets

项目介绍Project Overview

dsh-auto-compact 是 DeepSeek Harness 的自动上下文压缩增强插件,将默认触发阈值从 80% 降至 75%,保留最近 20% 原文,并按模型路由设置 70%/65% 等策略,使长会话更早整理历史、保持响应。适用于大上下文模型或长会话场景。它仅修改 ~/.dsh/.agent-presets/ 下用户安装的预设,不改动只读工厂预设;已自带 compaction-basic 配置的预设会跳过,需手动合并。

dsh-auto-compact is a plugin that enhances DeepSeek Harness auto-compaction. It lowers the default trigger threshold from 80% to 75%, keeps the latest 20% verbatim, and applies per-route policies such as 70% or 65% for large-context models, so long sessions tidy history earlier and stay responsive. Use it for extended sessions with big context windows. It only modifies user-installed presets under ~/.dsh/.agent-presets/, not read-only factory presets, and skips presets that already configure compaction-basic.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:songoao25/dsh-auto-compact

songoao25/dsh-auto-compact 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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

上一个 Prev dsh-deep-diving 下一个 Next EzDSH