本文档解释 OpenClaw 如何管理"上下文"——模型在一次运行中接收的所有内容,受模型 Token 限制的约束。
上下文结构
系统组合三个主要元素:
- OpenClaw 的系统提示词:规则、工具、技能、工作区文件
- 对话历史:之前的消息交互
- 工具结果/附件:工具调用的输出
注意
"上下文"与"记忆"不同——上下文仅存在于模型的当前窗口内。
检查命令
使用以下命令查看上下文使用情况:
# 快速上下文窗口评估
/status
# 显示注入的文件和大致 Token 大小
/context list
# 按文件和工具提供详细分解
/context detail
# 在响应中附加 Token 消耗详情
/usage tokens
什么消耗上下文
以下所有内容都计入窗口:
- 系统提示词
- 对话历史
- 工具调用和结果
- 附件
- 提供商包装器
系统提示词在每次运行时重建,包括工具描述、技能元数据、工作区位置和时间戳信息。
工作区文件注入
OpenClaw 自动注入最多七个引导文件:
- AGENTS.md
- SOUL.md
- TOOLS.md
- 等其他配置文件...
每个文件的默认字符限制为 20,000 字符。技能指令按需加载,而不是默认加载。
工具和技能管理
工具产生两种成本:
- 提示词中的文本描述
- JSON 架构(两者都计入)
技能在系统提示词中显示为紧凑的列表条目,只有在需要时才通过 read 命令检索完整指令。
会话持久化
不同机制的持久化方式不同:
- 正常历史:保留在记录文件中直到压缩
- 压缩:创建摘要并保留最近的消息
- 裁剪:从内存中的提示词删除旧的工具结果,但不重写记录文件
提示
更多上下文管理的详细信息请参考 官方英文文档。