Token 使用和费用

OpenClaw 跟踪的是 token,不是字符。Token 是模型专属的,但大多数 OpenAI 风格模型的英文文本平均约 4 字符一个 token。

系统提示如何构建

OpenClaw 在每次运行时组装自己的系统提示,包括:工具列表 + 简短描述、技能列表、自更新指令、工作空间 + 引导文件、时间(UTC + 用户时区)、回复标签 + 心跳行为、运行时元数据。

大文件被 agents.defaults.bootstrapMaxChars(默认 20000)截断,总引导注入被 agents.defaults.bootstrapTotalMaxChars(默认 150000)限制。

上下文窗口中计入什么

模型接收的所有内容都计入上下文限制:系统提示、对话历史、工具调用和结果、附件/记录、压缩摘要、提供商包装。

对于图片,OpenClaw 在提供商调用前缩小记录/工具图片载荷。使用 agents.defaults.imageMaxDimensionPx(默认 1200)调优。

如何查看当前 token 用量

  • /status — 带 emoji 的状态卡片,包含预估费用(仅 API key)
  • /usage off|tokens|full — 每条回复附加用量脚注(按会话持久化)
  • /usage cost — 从 OpenClaw 会话日志显示本地费用摘要

费用估算

费用从模型定价配置估算:models.providers.<provider>.models[].cost。这些是 USD/1M tokeninputoutputcacheReadcacheWrite。缺少定价时只显示 token。OAuth token 从不显示美元费用。

缓存 TTL 和修剪影响

提供商 prompt 缓存只在缓存 TTL 窗口内有效。OpenClaw 可选运行 cache-ttl 修剪。心跳可以保持缓存温暖

在多 agent 设置中,可以保持一个共享的模型配置,用 agents.list[].params.cacheRetention 按 agent 调优缓存行为。

完整的逐项指南见 Prompt 缓存

示例:用心跳保持 1h 缓存温暖

agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long"
    heartbeat:
      every: "55m"

示例:启用 Anthropic 1M 上下文 beta header

agents:
  defaults:
    models:
      "anthropic/claude-opus-4-6":
        params:
          context1m: true

要求:凭据必须有长上下文使用资格。OAuth/订阅 token(sk-ant-oat-*)认证时跳过此 beta header。

减少 token 压力的技巧

  • /compact 总结长会话
  • 在工作流中裁剪大的工具输出
  • 降低 agents.defaults.imageMaxDimensionPx
  • 保持技能描述简短
  • 对冗长的探索性工作用小模型