概述

“上下文”是 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 开销:

  1. 系统提示中的工具列表文本
  2. 工具 JSON Schema(发给模型,不可见但计入 token)

持久化机制:

  • 普通历史:保留在 Session 记录中,直到被压缩/裁剪
  • 压缩(Compaction):将旧历史摘要化,保留近期消息
  • 裁剪(Pruning):从内存中删除旧工具结果,不修改磁盘记录

配置/使用

诊断命令:

  • /status — 窗口使用率快览
  • /context list — 注入内容 + 大小(含截断状态)
  • /context detail — 详细分解(工具 Schema、Skills 大小)
  • /context map — 可视化 treemap
  • /compact — 手动触发压缩

相关页面