概述
“上下文”是 OpenClaw 在一次运行中发送给模型的全部内容,受模型上下文窗口(token 限制)约束。上下文不等于记忆——记忆存储在磁盘上,上下文是当前窗口内的内容。
核心要点
上下文的三个组成部分:
- 系统提示(OpenClaw 构建):规则、工具列表、Skills 列表、时间/运行时信息、注入的工作区文件
- 对话历史:用户消息 + 助手消息
- 工具调用/结果 + 附件:命令输出、文件读取、图片/音频等
系统提示内容:
- 工具列表 + 简短描述
- Skills 列表(仅元数据,不含指令内容)
- 工作区路径、时间(UTC + 用户时区)、运行时元数据
- 注入的工作区引导文件(Project Context)
注入的工作区文件(默认):AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、BOOTSTRAP.md(首次)
截断限制:
- 单文件:
agents.defaults.bootstrapMaxChars(默认 12000 chars) - 总计:
agents.defaults.bootstrapTotalMaxChars(默认 60000 chars)
工具的两种 token 开销:
- 系统提示中的工具列表文本
- 工具 JSON Schema(发给模型,不可见但计入 token)
持久化机制:
- 普通历史:保留在 Session 记录中,直到被压缩/裁剪
- 压缩(Compaction):将旧历史摘要化,保留近期消息
- 裁剪(Pruning):从内存中删除旧工具结果,不修改磁盘记录
配置/使用
诊断命令:
/status— 窗口使用率快览/context list— 注入内容 + 大小(含截断状态)/context detail— 详细分解(工具 Schema、Skills 大小)/context map— 可视化 treemap/compact— 手动触发压缩
相关页面
- context-engine — 可插拔上下文引擎
- agent-workspace — 工作区引导文件
- agent-loop — 上下文在执行循环中的位置
- memory — 记忆与上下文的关系