auto-compact
会话级自动上下文压缩插件:回合中每步前 + 回合结束检测上下文用量,超过会话阈值自动 compact,摘要注入上下文后自然继续(DeepSeek Harness / DSH)
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JohnathonYe/auto-compact说明文档
阅读完整 README ↗auto-compact
会话级自动上下文压缩插件(DeepSeek Harness / DSH)
在输入区右侧显示一个阈值圆环:当前会话上下文用量实时显示,拖动滑杆设置该会话的压缩阈值(1%–90%,默认 50%)。每当用量超过阈值,插件自动触发上下文压缩(compact)——回合中每走一步之前检查一次,回合结束时再检查一次——压缩摘要注入上下文后会话自然继续,全程无需手动干预,也不发送任何「继续」消息。
特性
- 🔴 会话级阈值:每个会话独立设置,互不影响(按
sessionId持久化) - 📊 实时用量:与自带 ContextMeter 同源(
useProjection("contextPressure")),面板打开即实时刷新,无需轮询 - 🎚️ 1%–90% 细腻调节:步进 1%,适合精细控制(未设置时默认 50%)
- 🤖 全自动:回合中每步前 + 回合结束自动检测 → 超阈值自动 compact → 摘要注入后自然继续
- 🛡️ 零崩溃风险:所有检查都在
agent/pre-step(waterfall 中间件)与agent/turn-stopping(串行事件)里做,全程 try/catch,绝不抛出 - 💾 持久化:阈值存于
settings.yaml的auto-compact命名空间,重启不丢 - 🧊 与内置安全网并存:DSH 自带的
compaction-basic(默认 80% 压力阈值)保留为兜底,互不干扰
安装
前置:已装好 DSH(dsh web 能正常运行),Node.js ≥ 20、pnpm ≥ 10。
一键安装(推荐,复制粘贴即可)
macOS / Linux(Windows 装 Git Bash 或 WSL 也可):
curl -fsSL https://raw.githubusercontent.com/JohnathonYe/auto-compact/main/scripts/install.sh | bash
脚本自动完成全部步骤:安装 npm 依赖 → 注册官方挂载(dsh.profile.bundles)→ 清理旧版残留的挂载行。你只需要:
- 跑上面这一条命令
- 重启 DSH(装完后脚本会提示命令;也可以加上
--restart让它自动重启:curl ... | bash -s --restart) - 强刷浏览器(macOS
Cmd+Shift+R/ Windows·LinuxCtrl+Shift+R),输入区右侧出现阈值圆环 ✅
脚本内部已自动处理:
dsh命令通常不在全局 PATH(DSH 一般经 npx 安装,直接敲dsh会报 command not found),脚本会自动改用 npx 调用,无需用户手动处理。
或者用
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add auto-compact
装完同样需要重启 DSH + 强刷浏览器。
更新 / 卸载
- 更新:重跑一键安装命令(或手动命令),装完重启 DSH + 强刷浏览器
- 卸载:
npx -y --package @deepseek-ai/dsh dsh plugin --profile web remove auto-compact,卸载后重启生效;若曾手动在cordis.patch.yml写过挂载行,一并删除,避免双挂载(两个 Host 半、两个圆环)
使用
- 点击输入区右侧的圆环,打开面板
- 面板显示当前会话的实时上下文用量(百分比)
- 拖动滑杆设置阈值(1%–90%,会话级独立;,仅当前会话生效,不影响其他会话)