songoao25/dsh-auto-compact
Enhanced auto-compaction defaults for DeepSeek Harness agent presets
已收录
1
Memory
Bundle 已验证
预览
功能介绍
为 DSH 智能体预设注入增强的自动压缩默认值:一键应用调优的触发阈值/保留比例与分模型策略,幂等执行、自动备份、可回滚。
适合
- 运行长时间 DSH 会话、希望比标准默认值更早压缩上下文的用户。
- 管理多个用户自装智能体预设,并希望统一应用分模型压缩策略的团队。
- 重视幂等安装、逐文件备份和回滚能力的运维人员。
不适合
- 只使用只读内置预设的用户;除非先复制到用户预设目录,否则插件不会修改这些预设。
- 已经自行配置 `compaction-basic` 的预设;安装器会跳过它们,需要手动合并。
- 很少接近模型上下文上限的短会话。
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
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:songoao25/dsh-auto-compact。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。