improved-compact
Adaptive replay-safe context compaction provider for DeepSeek Harness
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:muou000/improved-compact说明文档
阅读完整 README ↗配置
基础字段(thresholdRatio、retainRatio/retainTokens、摘要模型、重试和 modelPolicies)与 compaction-basic 保持一致。新增字段如下:
| 字段 | 默认值 | 作用 |
|---|---|---|
softPruneRatio | 0.6 | 进入确定性工具结果裁剪层;必须小于所有硬摘要阈值 |
protectedRecentUserMessages | 1 | 自动压缩时尝试原文保留的最近直接用户消息数 |
maxProtectedTailRatio | 0.5 | 用户消息及其后续尾部可占硬阈值的最大比例;超过后改用摘要锚点 |
validateSummaryStructure | true | 要求八个原生章节存在、唯一且有序 |
repeatSummaryMaxChars | 1800 | 只约束包含旧 checkpoint 的连续摘要;0 关闭 |
toolResult.thresholdChars | 8192 | 工具结果进入裁剪的字符阈值 |
toolResult.headChars / tailChars | 3072 / 1024 | 原文头尾预算 |
toolResult.signalChars | 2048 | 从中段恢复的高信号行预算 |
toolResult.protectedToolNames | approval/goal/todo 工具 | 永不裁剪的工具名列表 |
verbatimAnchors.maxChars / maxAnchors | 4096 / 64 | checkpoint 精确附录预算;任一为 0 时关闭 |
requestBudget.warnAtTokens / blockAtTokens | 0 / 0 | 按估算输入 token 告警或阻断;0 关闭相应绝对阈值 |
requestBudget.warnAtRatio / blockAtRatio | 0.9 / 0 | 按“估算输入 + 输出预留”占窗口比例告警或阻断;0 关闭 |
requestBudget.maxOutputTokens | 0 | 限制显式或 adapter 默认输出预算;0 保持原路由设置 |
requestBudget.logEveryRequest | false | 压力持续期间是否逐请求重复告警;默认每段压力期一次 |
logLifecycle | false | 输出加载/卸载诊断;实际压缩决策仍通过标准 logger 可观察 |
错误配置会在插件加载时失败,例如软阈值与硬阈值重叠、头尾预算放不进工具阈值、重复工具名、重复摘要上限小于固定章节骨架,或请求阻断线低于告警线。
requestBudget 的比例使用当前 session log、标准 token meter 与最新 request/context 计算。比例包含请求的输出预留,因此比只看历史消息更早暴露“输入还能放下,但没有响应空间”的情况。默认告警不改变请求;只有显式设置 blockAtTokens、blockAtRatio 或 maxOutputTokens 才会改变运行行为。输出上限通过 agent/request 写入标准 request/header,可由日志重建。