Token 使用量和成本
OpenClaw 跟踪的是 token,而不是字符。Token 因模型而异,但对于英文文本,大多数 OpenAI 风格的模型平均每个 token 约为 4 个字符。系统提示词是如何构建的
OpenClaw 会在每次运行时组装自己的系统提示词。它包括:- 工具列表 + 简短描述
- 技能列表(仅元数据;指令通过
read按需加载) - 自我更新指令
- 工作区 + 引导文件 (
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md,BOOTSTRAP.md在新建时,加上MEMORY.md如果存在或memory.md作为小写备选)。大文件会被agents.defaults.bootstrapMaxChars截断(默认:20000),并且总的引导注入量受agents.defaults.bootstrapTotalMaxChars限制(默认:150000)。memory/*.md文件通过内存工具按需加载,不会自动注入。 - 时间(UTC + 用户时区)
- 回复标签 + 心跳行为
- 运行时元数据(主机/操作系统/模型/思考)
什么会计入上下文窗口
模型接收到的所有内容都会计入上下文限制:- 系统提示词(上面列出的所有部分)
- 对话历史记录(用户 + 助手消息)
- 工具调用和工具结果
- 附件/转录(图像、音频、文件)
- 压缩摘要和修剪产物
- 提供商包装器或安全标头(不可见,但仍会被计算)
agents.defaults.imageMaxDimensionPx(默认:1200)来调整此设置:
- 较低的值通常会减少视觉 token 的使用量和负载大小。
- 较高的值会为 OCR/UI 密集的屏幕截图保留更多视觉细节。
/context list 或 /context detail。请参阅 上下文。
如何查看当前的 token 使用情况
在聊天中使用这些命令:/status→ 包含会话模型、上下文使用情况、 上次响应输入/输出令牌数以及预估成本(仅限 API 密钥)的 emoji 丰富的状态卡片。/usage off|tokens|full→ 在每条回复后附加每次响应的使用情况页脚。- 按会话持久化(存储为
responseUsage)。 - OAuth 认证隐藏成本(仅显示令牌数)。
- 按会话持久化(存储为
/usage cost→ 显示来自 OpenClaw 会话日志的本地成本摘要。
- TUI/Web TUI: 支持
/status+/usage。 - CLI:
openclaw status --usage和openclaw channels list显示 提供商配额窗口(而非每次响应的成本)。
成本估算(显示时)
成本是根据您的模型定价配置估算的:input、output、cacheRead 和
cacheWrite 的 每 100 万令牌美元价格。如果缺少定价,OpenClaw 仅显示令牌数。OAuth 令牌
从不显示美元成本。
缓存 TTL 和修剪影响
提供商提示词缓存仅在缓存 TTL 窗口内适用。OpenClaw 可以 选择运行 cache-ttl 修剪:它在缓存 TTL 过期后修剪会话, 然后重置缓存窗口,以便后续请求可以重用新缓存的上下文, 而不是重新缓存完整历史记录。这可以在会话空闲超过 TTL 时降低 缓存写入成本。 在 Gateway(网关) configuration 中进行配置,并在 Session pruning 中查看行为详细信息。 Heartbeat 可以在空闲间隙中保持缓存温暖。如果您的模型缓存 TTL 为1h,将心跳间隔设置为略低于该值(例如 55m)可以避免
重新缓存完整提示词,从而减少缓存写入成本。
在多代理设置中,您可以保持一个共享的模型配置,并使用 agents.list[].params.cacheRetention 针对每个代理调整缓存行为。
有关详细的逐项调节指南,请参阅 Prompt Caching。
对于 Anthropic API 定价,缓存读取比输入token便宜得多,而缓存写入则以更高的倍率计费。请参阅 Anthropic 的提示缓存定价以获取最新费率和TTL倍率:
https://docs.anthropic.com/docs/build-with-claude/prompt-caching
示例:使用心跳保持 1 小时缓存温热
示例:使用按代理缓存策略处理混合流量
agents.list[].params 会合并到所选模型的 params 之上,因此您可以仅覆盖 cacheRetention 并继承其他模型默认值而无需更改。
示例:启用 Anthropic 1M 上下文 beta 标头
Anthropic 的 1M 上下文窗口目前处于 beta 封锁状态。在支持的 Opus 或 Sonnet 模型上启用context1m 时,OpenClaw 可以注入所需的 anthropic-beta 值。
context-1m-2025-08-07 beta 标头。
这仅在该模型条目上设置了 context1m: true 时适用。
要求:凭证必须符合长上下文使用条件(API 密钥计费,或已启用额外使用的订阅)。否则,Anthropic 将响应 HTTP 429: rate_limit_error: Extra usage is required for long context requests。
如果您使用 Anthropic/订阅令牌(sk-ant-oat-*)对 OAuth 进行身份验证,OpenClaw 将跳过 context-1m-* beta 标头,因为 Anthropic 目前拒绝该组合并返回 HTTP 401。
减少 token 压力的技巧
- 使用
/compact来总结长会话。 - 修剪工作流中大型工具的输出。
- 对于包含大量截图的会话,请降低
agents.defaults.imageMaxDimensionPx。 - 保持技能描述简短(技能列表会注入到提示中)。
- 对于冗长、探索性的工作,首选较小的模型。
本页面源自 openclaw/openclaw,由 BeaversLab 翻译,遵循 MIT 协议 发布。