chunsi-w/dsh-ctxopt-compaction ↗★ 9
dsh-ctxopt-compaction
Bounded context compaction, session-scoped summary reuse, explicit memory controls, and diagnostic-preserving tool pruning for DeepSeek Harness. 适合需要压缩长对话上下文、复用会话摘要并控制附加记忆内容的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:chunsi-w/dsh-ctxopt-compaction压缩、缓存与记忆配置
以下为引擎 config 的可调字段。前五项是针对 32K 窗口的示例,其他数值为本插件默认值;实际窗口大小仍由宿主模型配置决定。
thresholdRatio: 0.4
headroomTokens: 512
retainTokens: 1400
maxTokens: 1536
compactionRetries: 1
budgets:
minRegionTokens: 512
minSavingsTokens: 96
checkpointReserveTokens: 128
maxCheckpointTokens: 2048
maxExtrasTokens: 384
cache:
enabled: true
maxEntries: 16
maxBytes: 262144
ttlMs: 300000
failureTtlMs: 30000
memoryBlock: true
reminders: true
memory:
maxItems: 8
maxTodos: 4
maxItemChars: 160
allowedKeys: []
anchorValidation: true
degenerateGate: true
degenerateRetries: 0
economics:
enabled: false
宿主 patch 会替换目标条目的整个 config,不会递归合并;调整时应保留仍需使用的其他配置。
| 参数 | 含义与边界 |
|---|---|
thresholdRatio / headroomTokens | 控制宿主触发压缩的位置和窗口余量,不是输入的硬截断上限。 |
retainTokens | 近期完整消息的最低保留预算;大消息和工具配对可能使实际保留量更高。 |
maxTokens | 摘要模型输出上限;摘要调用仍会消耗模型用量。 |
maxCheckpointTokens | 用于计算摘要预算,需扣除 checkpointReserveTokens;最终 checkpoint 由宿主计量。 |
maxExtrasTokens | 显式记忆、待办和诊断补齐共享的估算 token 预算。 |
cache.maxEntries / maxBytes | 每个引擎实例的缓存条数和键/序列化载荷字节上限。不是进程 RSS,也不是供应商 KV 缓存大小。 |
cache.ttlMs | 摘要缓存有效期;访问、写入或读取统计时清理过期条目,没有后台清理定时器。 |
cache.failureTtlMs | 确定性拒绝结果的短期缓存;模型网络错误和取消不写入该缓存。 |
memory.allowedKeys | 允许保存的键名白名单;空数组表示不限制键名。 |
需要较小占用时,可设缓存 4 条 / 65536 字节、记忆 4 条、待办 2 条、maxExtrasTokens: 192。预算不足时按整条舍弃,不保证所有条目都进入摘要。
- 关闭摘要缓存:
cache.enabled: false。 - 关闭全部附加记忆及诊断补齐:
memoryBlock: false、reminders: false、anchorValidation: false。 - 重启或卸载引擎会清空进程内缓存。程序接口
clearCache()也可清空,cacheStats()可读取计数;它们不是聊天命令或页面按钮。