Skip to content

上下文窗口与压缩

每个模型都有一个上下文窗口(它能看到的最大 token 数)。长时间运行的对话会累积消息和工具结果;一旦窗口紧张,OpenClaw 会压缩旧历史记录以保持在限制内。

什么是压缩

压缩将旧对话总结为一个紧凑的摘要条目,并保持最近的消息完整。摘要存储在会话历史中,因此未来的请求使用:

  • 压缩摘要
  • 压缩点之后的最近消息

压缩会持久化到会话的 JSONL 历史中。

配置

有关 agents.defaults.compaction 设置,请参阅压缩配置和模式

自动压缩(默认开启)

当会话接近或超过模型的上下文窗口时,OpenClaw 会触发自动压缩,并可能使用压缩后的上下文重试原始请求。

您会看到:

  • 详细模式下的 🧹 Auto-compaction complete
  • /status 显示 🧹 Compactions: <count>

在压缩之前,OpenClaw 可以运行一个静默内存刷新回合,将持久化笔记存储到磁盘。有关详细信息和配置,请参阅内存

手动压缩

使用 /compact(可选地带上说明)强制执行压缩:

/compact Focus on decisions and open questions

上下文窗口来源

上下文窗口是特定于模型的。OpenClaw 使用配置的提供商目录中的模型定义来确定限制。

压缩与修剪

  • 压缩:总结并持久化到 JSONL。
  • 会话修剪:仅修剪旧工具结果,内存中,按请求进行。

有关修剪详细信息,请参阅 /concepts/session-pruning

提示

  • 当会话感觉陈旧或上下文臃肿时,使用 /compact
  • 大型工具输出已经被截断;修剪可以进一步减少工具结果的累积。
  • 如果您需要重新开始,/new/reset 会启动一个新的会话 ID。