全部插件

DSH / BUNDLE / BUNDLES

dsh-auto-compact

v0.1.0songoao25 / dsh-auto-compact8b6dfc6499

可安装组合包组合包与其他模块社区 · Topic 自动分析

概览

dsh-auto-compact

Enhanced auto-compaction defaults for DeepSeek Harness agent presets

README / ZH

插件文档

记忆压缩插件

English | 中文

DeepSeek Harness 提供增强的自动上下文压缩默认配置。

DeepSeek Harness 已内置自动上下文压缩(dsh-compaction-basic),但默认触发阈值为模型上下文的 80%,对大上下文模型来说偏晚。本工具将默认阈值调低至 75%,并添加按路由策略,让历史更早得到整理,长会话保持流畅。

工作原理

DeepSeek Harness 会为每个 agent 预设(每个会话)运行一个独立的 compaction-basic 实例;profile 层的补丁无法到达该子树。因此本工具直接向 $DSH_HOME/.agent-presets/(默认 ~/.dsh/.agent-presets/)下每个已安装预设的 compaction-basic 条目注入配置。

  • 默认:上下文占用达到 75% 时触发压缩,保留最近 20% 原文。
  • 按路由策略:
    • ChatGPT / Codex GPT-5.6(27.2 万上下文):达到 70% 触发;
    • OpenCode Go DeepSeek V4(声明 100 万上下文):达到 65% 触发。
  • 保留 dsh-compaction-basic 既有的摘要、重试与安全降级行为(摘要失败保留原历史,绝不静默丢失上下文)。
  • 手动 /compact 与工具结果裁剪仍然可用。

安装

dsh plugin --profile <profile-name> add songoao25/dsh-auto-compact

随后重启一次 DeepSeek Harness。Bundle 加载时会运行下文同一套安全注入器:只修改用户安装的预设、每次修改前创建带时间戳的备份、已有自身 compaction-basic 配置的预设会跳过,并且后续启动保持幂等。回滚:

./uninstall.sh

卸载脚本会为每个受影响预设恢复最新备份。请从本仓库的检出目录运行它;仅移除 DSH bundle 不会自动丢弃已保留的预设配置。

重要说明:出厂预设

本工具只注入用户安装的预设(位于 $DSH_HOME/.agent-presets/)。alpha.4 的出厂预设(standardcordisminimalptc)自带默认压缩配置,且为只读——本工具不会修改它们。

如需为出厂预设启用增强压缩:

  1. 将其复制到用户预设目录:
    cp -r "$(npm root -g)/@deepseek-ai/dsh/node_modules/@deepseek-ai/dsh-agent-presets/presets/<预设名>" "$DSH_HOME/.agent-presets/"
    
  2. 再次运行 ./install.sh 注入增强配置。
  3. 在 DSH 会话设置中选择复制后的预设。

安装器做什么

  • 查找 $DSH_HOME/.agent-presets/ 下所有 agent.cordis.yml
  • 向每个预设的 compaction-basic 条目注入策略块。
  • 将每个修改过的文件备份为 agent.cordis.yml.bak-auto-compact
  • 幂等:标记注释防止重复注入。
  • 跳过已自行配置 compaction-basic 的预设(此时请手动合并)。
  • 绝不修改 DSH 安装目录中的只读出厂预设。

配置

所有值位于 config.json,生成的配置块使用 alpha.4 compaction-basic 支持的字段。如需不同阈值,先修改 JSON 再运行 ./install.sh。预览:

node scripts/inject.mjs --dry-run
默认值 含义
thresholdRatio 0.75 估算用量达到模型上下文该比例时触发压缩
retainRatio 0.20 保留最近该比例的窗口原文
modelPolicies provider/model 的单独覆盖

安全说明

  • 摘要失败时保留原历史并记录警告。
  • 自动恢复有次数上限,绝不无限循环重试。
  • 工具不含任何密钥与个人路径。
  • 通过 ./uninstall.sh 可完全还原。

许可证

MIT © songoao25