OpenClaw 用 context 命令快速了解 AGENTS.md 状态
我们前面文章中聊过 AGENTS.md 这些 bootstrap 文件的上限规则和截断规则。 并且和大家说过几个需要注意的点。
今天和大家聊的话题是,怎么在 OpenClaw 中快速检测我们当前 session 用到的这些 bootstrap 文件有没有发生截断,这个在我们评估模型效果的时候很有用。
一般来说, 如果要保证模型按照我们的预期来运行,这些文件就不应该发生被截断的情况。
我们可以用 /context 这个 slash 命令,快速的知道当前上下文的整体情况,这里面就包括了 bootstrap 文件的用量,是否截断等。
这个命令目前主要有四种模式:
/context list/context detail/context map/context json
提示:slash 命令,比如 /context list 这种,就是它是直接写在 WebUI 聊天窗口里面写提示词消息的地方, 不是 CLI 命令行。
list 子命令
我们最常用的是这个:
/context list
它会输出一个简要报告,结构大概是这样:
🧠 Context breakdownWorkspace: <workspaceDir>Bootstrap max/file: 20,000 charsBootstrap max/total: 60,000 charsSandbox: mode=unknown sandboxed=falseSystem prompt (run): 17,363 chars (~4,341 tok)Injected workspace files:- AGENTS.md: OK | raw 9,782 chars | injected 9,782 chars- SOUL.md: OK | raw 2,126 chars | injected 2,126 chars- TOOLS.md: OK | raw 850 chars | injected 850 chars- MEMORY.md: OK | raw 1,200 chars | injected 0 charsSkills list (system prompt text): 7,245 chars (~1,812 tok)Tool schemas (JSON): 60 chars (~15 tok)Session tokens (cached): 180,451 total / ctx=200,000
这里输出的信息大多属不用解释,大家也能看明白。 只给大家详细说两处。
第一个段落中最后一行, 输出中会看到:
System prompt (run)
或者:
System prompt (estimate)
如果是 run, 表示这份报告来自最近一次真实的模型运行。OpenClaw 在组装 Prompt 时记录了实际使用的 System Prompt、Workspace 文件、Skill 和 Tool 信息,并把报告保存在当前 Session 中。
如果是 estimate ,表示当前没有可用的运行报告,OpenClaw 临时根据现有配置重新估算了一份。大部分情况下也有参考价值,但它不一定和上一次真正发给模型的内容完全一致。
下一个段落这样的内容, 是每个 bootsrap 文件的详细加载和注入提示词的状况:
- AGENTS.md: OK | raw 9,782 chars | injected 9,782 chars
比如上面这个例子中, raw 是文件原始字符数, injected 是注入到 prompt 中的字符串, 状态如果是 OK ,并且 raw 和 injected 字符数相等,就表示本次完整的注入了其中的内容到 prompt 中。
它还会有几种其他状态,跟大家简要的说一下:
MISSING
:OpenClaw 预期存在这个文件,但实际没有找到。 OK
,但 raw有内容、injected为0:文件存在,但正文没有直接注入,例如通过 Memory 工具按需读取。TRUNCATED
:文件过长,发生截断,只有部分内容被注入。
detail 子命令
/context detail
它和 list 命令的主要区别是 skill 和 tool 列表的详细程度。 list 命令只会给出所有 skill 注入到 prompt 的总字符和 token 数, 而 detail 命令会详细列出每一个 skill 分别占用了多少字符和token。
map 子命令
这个子命令会以图形的形式输出当前上下文各种内容的占比,大概是这样:

不过这个命令在默认的 WebUI 界面,可能会显示不出来这个图片。因为 WebUI 的权限拦截。如果不想进行额外设置, 可以用 channel 发消息来显示这个图片。而且这个图片给我感觉画的还比较粗糙, 反而比如前面 list 命令那样看起来直观。至少当前的 OpenClaw 版本给我是这个感觉,看看以后的更新会不会把它做的更好。
最后还有一个 json 子命令:
/context json
这个命令就是把这个信息输出成机器方便读取的 json 格式,不过多介绍了。
总结
/context 这个 slash 命令,可以帮我们快速了解我们当前整体提示词的构成。 也包括 AGENTS.md 这些启动文件是否都成功的注入到提示词中。
如果你最近遇到 Agent 突然忘记规则、Context 快速膨胀,或者安装 Plugin 后 Token 占用变大的问题,可以先从 /context list 开始看。很多原本只能靠猜的问题,到这里基本就有了排查方向。
提醒:文章内容都是基于当时的日期的运行环境,软件版本等,作为思考和学习过程的分享,给大家提供思路。但由于行业技术的更新速度非常快,如果你是距离文章发布比较长的时间看到的,很可能你当前的各种运行环境和文章中提到的会有差异,有些情况下差异还可能很大。所以请大家保持验证信息的习惯,以你当前实际环境的运行结果和官方文档为准。
夜雨聆风