跳转到主要内容

上下文窗口与压缩

每个模型都有一个上下文窗口(可见的最大 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。