songoao25/dsh-auto-compact

Enhanced auto-compaction defaults for DeepSeek Harness agent presets

Bundle 已验证 MIT JavaScript v0.2.0
Bundle 已验证

已收录

1

Memory

Bundle 已验证

版本v0.2.0
语言JavaScript
许可证MIT
在 GitHub 查看

预览

第 1 个预览,共 2 个:songoao25/dsh-auto-compact
第 2 个预览,共 2 个:songoao25/dsh-auto-compact

功能介绍

为 DSH 智能体预设注入增强的自动压缩默认值:一键应用调优的触发阈值/保留比例与分模型策略,幂等执行、自动备份、可回滚。

适合

  • 运行长时间 DSH 会话、希望比标准默认值更早压缩上下文的用户。
  • 管理多个用户自装智能体预设,并希望统一应用分模型压缩策略的团队。
  • 重视幂等安装、逐文件备份和回滚能力的运维人员。

不适合

  • 只使用只读内置预设的用户;除非先复制到用户预设目录,否则插件不会修改这些预设。
  • 已经自行配置 `compaction-basic` 的预设;安装器会跳过它们,需要手动合并。
  • 很少接近模型上下文上限的短会话。

README

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

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:songoao25/dsh-auto-compact。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。