codecamp

OpenClaw 上下文窗口 + 压缩:OpenClaw 如何将会话保持在模型限制内

上下文窗口与压缩

每个模型都有一个上下文窗口(可见的最大 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。
OpenClaw 记忆的工作原理(工作空间文件 + 自动记忆刷新)
OpenClaw 多智能体路由:隔离的智能体、渠道账户和绑定
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

OpenClaw 消息渠道

OpenClaw 工具

OpenClaw 模型

OpenClaw 平台

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }