OpenClaw上下文自动压缩配置整理

OpenClaw上下文压缩配置整理

上下文 vs 速度关系

  • <4K tokens:几乎无感知,最快
  • 4K-16K:轻微变慢,日常对话无压力
  • 16K-32K:开始有明显延迟
  • >32K:速度下降明显,成本也更高

解决方案:自动压缩配置

1. 压缩(Compaction)

压缩会将较早的对话总结为紧凑的摘要条目,并保持近期消息不变。

配置参数:

1
2
3
4
5
6
7
8
"compaction": {
"mode": "safeguard",
"reserveTokensFloor": 24000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 6000
}
}

参数说明:

  • mode: default(标准压缩)或 safeguard(为超长历史启用分块摘要)
  • reserveTokensFloor: 最小保留token数(默认20000,确保压缩前有足够空间)
  • memoryFlush: 压缩前自动运行静默回合,将重要内容写入记忆文件
    • softThresholdTokens: 触发记忆刷新的token阈值

2. 会话修剪(Session Pruning)

减少工具结果膨胀,只保留最近的工具调用结果。

配置参数:

1
2
3
4
5
6
"session": {
"pruning": {
"enabled": true,
"maxToolResults": 3
}
}

3. 会话重置(Session Reset)

定期自动开启新会话,避免历史累积过长。

配置参数:

1
2
3
4
5
6
"session": {
"reset": {
"daily": true,
"idleMinutes": 120
}
}

重置规则:

  • daily: true: 每天凌晨4点自动重置会话
  • idleMinutes: 120: 空闲120分钟后自动重置

完整配置文件示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"agents": {
"defaults": {
"compaction": {
"mode": "safeguard",
"reserveTokensFloor": 24000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 6000
}
},
"session": {
"pruning": {
"enabled": true,
"maxToolResults": 3
}
}
}
},
"session": {
"reset": {
"daily": true,
"idleMinutes": 120
}
}
}

配置位置

  • 配置文件:~/.openclaw/openclaw.json
  • 修改后需要重启:openclaw gateway restart

手动管理策略

实用压缩策略

  1. 自动清理:通过上述配置实现
  2. 手动重启:感觉卡顿时,直接开新会话最干净
  3. 摘要模式:让AI自己总结前文,然后替换历史
  4. 分段归档:长话题结束后,主动清理上下文

使用习惯建议

  • 日常闲聊:每10-20条消息建议重启
  • 工作会话:按任务划分,一个任务一个会话
  • 重要内容:先保存到文件(MEMORY.md或笔记),再清理

创建Agent

参考文档

  • OpenClaw 压缩概念文档:/concepts/compaction
  • 会话管理深入了解:/reference/session-management-compaction
  • 配置参考:/gateway/configuration