Token 使用與費用

OpenClaw 追蹤的是 token 而非字元。Token 因模型而異,但大多數 OpenAI 風格的模型對英文文字平均約 4 字元一個 token。

系統 prompt 的建構方式

OpenClaw 在每次執行時組裝自己的系統 prompt,包含:

  • 工具清單 + 簡短說明
  • 技能清單(僅中繼資料;指示按需以 read 載入)
  • 自我更新指示
  • 工作區 + 啟動檔案(AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.md、新建時的 BOOTSTRAP.md,以及存在時的 MEMORY.md 或小寫回退 memory.md)。大型檔案由 agents.defaults.bootstrapMaxChars(預設:20000)截斷,啟動注入總量由 agents.defaults.bootstrapTotalMaxChars(預設:150000)封頂。memory/*.md 檔案透過記憶體工具按需載入,不自動注入。
  • 時間(UTC + 使用者時區)
  • 回覆標籤 + 心跳行為
  • 執行時中繼資料(主機/OS/模型/思考)

完整分解參見 系統 Prompt

上下文視窗中計入的內容

模型接收的所有內容都計入上下文限制:

  • 系統 prompt(上述所有區段)
  • 對話歷史(使用者 + 助理訊息)
  • 工具呼叫和工具結果
  • 附件/轉錄(圖片、音訊、檔案)
  • 壓縮摘要和裁剪產出物
  • 供應商包裝或安全標頭(不可見但仍計入)

對於圖片,OpenClaw 在供應商呼叫前縮小轉錄/工具圖片 payload。使用 agents.defaults.imageMaxDimensionPx(預設:1200)調整:

  • 較低值通常減少視覺 token 使用和 payload 大小。
  • 較高值為 OCR/UI 密集的截圖保留更多視覺細節。

實際的逐檔案、工具、技能和系統 prompt 大小分解,使用 /context list/context detail。參見 上下文

如何查看目前的 token 使用量

在聊天中使用:

  • /status -> 含 session 模型、上下文使用量、最近回應的輸入/輸出 token 和預估費用(僅 API 金鑰)的狀態卡片
  • /usage off|tokens|full -> 在每個回覆後附加逐回應使用量腳注
    • 逐 session 持久(儲存為 responseUsage)。
    • OAuth 驗證隱藏費用(僅顯示 token)。
  • /usage cost -> 從 OpenClaw session 日誌顯示本地費用摘要。

其他介面:

  • TUI/Web TUI: 支援 /status + /usage
  • CLI: openclaw status --usageopenclaw channels list 顯示供應商配額窗口(非逐回應費用)。

費用估算(何時顯示)

費用從模型定價設定估算:

models.providers.<provider>.models[].cost

inputoutputcacheReadcacheWriteUSD per 1M tokens。若缺少定價,OpenClaw 僅顯示 token。OAuth token 永不顯示費用金額。

快取 TTL 和裁剪的影響

供應商 prompt 快取僅在快取 TTL 視窗內適用。OpenClaw 可選用地執行快取 TTL 裁剪:在快取 TTL 過期後裁剪 session,然後重置快取視窗,讓後續請求可重用新快取的上下文而非重新快取完整歷史。這讓 session 閒置超過 TTL 時的快取寫入費用更低。

Gateway 設定 中設定,行為詳情參見 Session 裁剪

心跳可在閒置間隙間保持快取溫暖。若模型快取 TTL 為 1h,將心跳間隔設在略低(如 55m)可避免重新快取完整 prompt,降低快取寫入費用。

在多代理設定中,可保持一個共用模型設定並以 agents.list[].params.cacheRetention 逐代理調校快取行為。

完整的逐旋鈕指南參見 Prompt 快取

Anthropic API 定價中,快取讀取遠比輸入 token 便宜,而快取寫入以較高倍率計費。最新費率和 TTL 倍率參見 Anthropic 的 prompt 快取定價: https://docs.anthropic.com/docs/build-with-claude/prompt-caching

範例:以心跳保持 1h 快取溫暖

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

範例:混合流量搭配逐代理快取策略

agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long" # 大部分代理的預設基線
  list:
    - id: "research"
      default: true
      heartbeat:
        every: "55m" # 為深度 session 保持長快取溫暖
    - id: "alerts"
      params:
        cacheRetention: "none" # 避免通知密集型的快取寫入

agents.list[].params 合併在選定模型的 params 之上,因此可僅覆寫 cacheRetention 並繼承其他模型預設值。

範例:啟用 Anthropic 1M 上下文 beta 標頭

Anthropic 的 1M 上下文視窗目前為 beta 閘門。OpenClaw 可在你對支援的 Opus 或 Sonnet 模型啟用 context1m 時注入所需的 anthropic-beta 值。

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

這對應至 Anthropic 的 context-1m-2025-08-07 beta 標頭。

僅在該模型項目設定 context1m: true 時適用。

要求:憑證必須具備長上下文使用資格(API 金鑰計費,或啟用 Extra Usage 的訂閱)。若否,Anthropic 回應 HTTP 429: rate_limit_error: Extra usage is required for long context requests

若以 OAuth/訂閱 token(sk-ant-oat-*)驗證 Anthropic,OpenClaw 跳過 context-1m-* beta 標頭,因為 Anthropic 目前以 HTTP 401 拒絕該組合。

降低 token 壓力的技巧

  • 使用 /compact 摘要長 session。
  • 在工作流中裁剪大型工具輸出。
  • 為截圖密集的 session 降低 agents.defaults.imageMaxDimensionPx
  • 保持技能描述簡短(技能清單注入至 prompt 中)。
  • 探索性、多話的工作偏好使用較小的模型。

技能清單確切的開銷公式參見 技能