跳到主要内容

会话压缩

English

会话压缩会缩短发送给模型的对话历史,但不会删除已保存的会话记录。长时间Agent会话接近上下文上限时,可以使用此功能。

手动压缩

在Shell提示符中运行下面的命令:

/session compact
/session compact status
/session compact cancel

/session compact作用于当前活跃或已选择的可恢复cosh-core会话。压缩期间仍可使用Shell,但Agent请求会暂停。status显示后台任务状态;cancel不会改变已保存的会话记录或当前模型上下文。

压缩只使用已完成的Agent run,永远不会摘要进行中的run。如果没有完整前缀可压缩、Provider失败,或任务运行期间会话发生变化,cosh会返回可操作的错误,并保留之前的模型上下文。

自动压缩

自动压缩默认启用。模型可见历史达到可用上下文的70%后通常启动,目标是压缩到30%,并原样保留最近两个已完成的Agent run。达到90%时,如果下一次Provider请求需要更多空间,会先执行紧急保护。

这些限制只影响发送给模型的内容,已保存的会话记录仍然完整。降低模型输出上限可以给历史留出更多空间,但也会缩短单次回复的最长长度。

配置

[session.compaction]
enabled = true
auto = true
trigger_ratio = 0.70
emergency_ratio = 0.90
target_ratio = 0.30
preserve_recent_runs = 2

可选覆盖项包括auto_compact_token_limitmodel_context_windowmodel_max_output_tokens。修改前请先阅读配置