Token 使用與費用
OpenClaw 追蹤的是 token 而非字元。Token 因模型而異,但大多數 OpenAI 風格的模型對英文文字平均約 4 字元一個 token。
系統 prompt 的建構方式
OpenClaw 在每次執行時組裝自己的系統 prompt,包含:
- 工具清單 + 簡短說明
- 技能清單(僅中繼資料;指示按需以
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 + 使用者時區)
- 回覆標籤 + 心跳行為
- 執行時中繼資料(主機/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)。
- 逐 session 持久(儲存為
/usage cost-> 從 OpenClaw session 日誌顯示本地費用摘要。
其他介面:
- TUI/Web TUI: 支援
/status+/usage。 - CLI:
openclaw status --usage和openclaw channels list顯示供應商配額窗口(非逐回應費用)。
費用估算(何時顯示)
費用從模型定價設定估算:
models.providers.<provider>.models[].cost
為 input、output、cacheRead 和 cacheWrite 的 USD 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 中)。
- 探索性、多話的工作偏好使用較小的模型。
技能清單確切的開銷公式參見 技能。