Technical reference
權杖用量與費用
OpenClaw 追蹤的是 token,而非字元。Token 因模型而異,但對英文文字而言,大多數 OpenAI 風格的模型平均每個 token 約為 4 個字元。
系統提示詞的建構方式
OpenClaw 會在每次執行時組裝自己的系統提示詞,其中包括:
- 工具清單與簡短說明
- Skills 清單(僅含中繼資料;指示會依需求透過
read載入)。原生 Codex 輪次會取得精簡的 Skills 區塊,作為僅限該輪次的協作 開發者指示;其他執行框架則會在一般提示詞介面中取得該區塊。 其大小受skills.limits.maxSkillsPromptChars限制,並可透過agents.list[].skillsLimits.maxSkillsPromptChars針對個別代理程式選擇性覆寫。 - 自我更新指示
- 工作區與啟動檔案(
AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、新建時的BOOTSTRAP.md,以及 存在時的MEMORY.md)。大型注入檔案會依agents.defaults.bootstrapMaxChars截斷(預設:20000);啟動內容 注入總量則受agents.defaults.bootstrapTotalMaxChars限制(預設:60000)。- 當該工作區可使用記憶工具時,原生 Codex 輪次不會貼入原始
MEMORY.md;改為在僅限該輪次的協作開發者指示中取得一小段記憶指引, 並依需求使用記憶工具。若工具已停用、無法使用記憶搜尋,或 目前工作區與代理程式記憶工作區不同,MEMORY.md會回退至一般受限的輪次情境路徑。 - 根目錄中的小寫
memory.md永遠不會被注入。它是openclaw doctor --fix的舊版修復輸入,該命令會將其遷移至MEMORY.md。 memory/*.md每日檔案不屬於一般啟動提示詞的一部分; 在一般輪次中仍會依需求透過記憶工具取得。重設/啟動 模型執行可在第一個輪次前置加入一次性的啟動情境區塊,其中包含近期 每日記憶,並由agents.defaults.startupContext控制。單純的聊天/new與/reset只會回覆確認,不會叫用模型。- 壓縮後的
AGENTS.md摘錄是獨立內容,必須明確選擇啟用agents.defaults.compaction.postCompactionSections。
- 當該工作區可使用記憶工具時,原生 Codex 輪次不會貼入原始
- 時間(UTC 與使用者時區)
- 回覆標籤與心跳偵測行為
- 執行階段中繼資料(主機/作業系統/模型/思考模式)
完整細節請參閱系統提示詞。
記錄憑證或驗證程式碼片段時,請使用 密鑰預留位置慣例,以避免 僅變更文件時觸發密鑰掃描器的誤判。
情境視窗中包含哪些內容
模型接收到的所有內容都會計入情境限制:
- 系統提示詞(上述所有區段)
- 對話歷程(使用者與助理訊息)
- 工具呼叫與工具結果
- 附件/逐字稿(圖片、音訊、檔案)
- 壓縮摘要與修剪產物
- 供應商包裝層或安全標頭(雖不可見,但仍會計入)
高度依賴執行階段的介面在 agents.defaults.contextLimits 下有各自明確的上限
(可於 agents.list[].contextLimits 下針對個別代理程式覆寫):
| 鍵 | 用途 |
|---|---|
memoryGetMaxChars |
memory_get 截斷前最多可傳回的字元數。 |
memoryGetDefaultLines |
請求省略 lines 時,memory_get 預設使用的行數視窗。 |
toolResultMaxChars |
單一即時工具結果的進階上限(最高 1000000 個字元)。 |
postCompactionMaxChars |
壓縮後重新整理時,從 AGENTS.md 保留的最大字元數。 |
這些是受限的執行階段摘錄與執行階段擁有的注入區塊, 與啟動限制、啟動情境限制及 Skills 提示詞限制相互獨立。
toolResultMaxChars 預設未設定,因此 OpenClaw 會依有效的模型情境視窗推導即時
工具結果上限:低於 100K token 時為 16000 個字元,達 100K 以上時為
32000 個字元,達 200K 以上時為 64000 個字元。
即使設定了更大的明確上限,執行階段情境占比防護仍會將單一工具結果限制在
情境視窗的 30%。
對於圖片,OpenClaw 會在呼叫供應商前,縮小逐字稿/工具圖片承載內容。
可透過 agents.defaults.imageMaxDimensionPx 調整(預設:1200):
- 較低的值可減少視覺 token 用量與承載內容大小。
- 較高的值可為大量使用 OCR/UI 的螢幕擷取畫面保留更多視覺細節。
若要查看實際細分資料(每個注入檔案、工具、Skills 與系統
提示詞大小),請使用 /context list 或 /context detail。另請參閱
情境。
如何查看目前的 token 用量
在聊天中:
/status-> 顯示包含豐富表情符號的狀態卡,其中列出工作階段模型、情境用量、 上次回覆的輸入/輸出 token,以及為目前模型設定本機定價時的預估成本。/usage off|tokens|full-> 在每則回覆附加單次回覆用量頁尾。 此設定會在個別工作階段中持續保留(儲存為responseUsage)。/usage reset(別名:inherit、clear、default)會清除 工作階段覆寫,使其重新繼承已設定的預設值。/usage tokens顯示該輪次的 token/快取詳細資料。/usage full顯示精簡的模型/情境/成本詳細資料;僅當 OpenClaw 具有用量中繼資料以及目前模型的本機定價時,才會顯示預估成本。 自訂messages.usageTemplate版面配置可包含 token/快取欄位。
/usage cost-> 顯示來自 OpenClaw 工作階段日誌的本機成本摘要。
其他介面:
- 終端介面/網頁終端介面: 支援
/status與/usage。 - 命令列介面:
openclaw status --usage與openclaw channels list會顯示 正規化的供應商配額視窗(X% left,而非單次回覆成本)。 目前支援用量視窗的供應商包括:Claude (Anthropic)、ClawRouter、Copilot (GitHub)、DeepSeek、Gemini (Google Gemini CLI)、MiniMax、OpenAI、Xiaomi、 Xiaomi Token Plan 與 z.ai。
用量介面會在顯示前,先將常見的供應商原生欄位別名正規化。對於 OpenAI
系列的 Responses 流量,這包括 input_tokens/output_tokens 與
prompt_tokens/completion_tokens,因此傳輸方式特有的欄位名稱不會改變
/status、/usage 或工作階段摘要。Gemini CLI 用量也會正規化:預設的
stream-json 剖析器會讀取助理的 message 事件,而 stats.cached 會對應至
cacheRead;當命令列介面省略明確的 stats.input 欄位時,則使用
stats.input_tokens - stats.cached。舊版 JSON 覆寫仍會從 response
讀取回覆文字。
對於原生 OpenAI 系列的 Responses 流量,WebSocket/SSE 用量別名會以相同方式
正規化;當 total_tokens 遺漏或為 0 時,總量會回退為正規化後的輸入與輸出
之和。
當目前工作階段快照資料不足時,/status 與 session_status
可從最近的逐字稿用量日誌還原 token/快取計數器與目前作用中的執行階段模型標籤。
現有非零的即時值仍優先於逐字稿回退值;當已儲存的總量遺漏或較小時,
以提示詞為導向且較大的逐字稿總量可取得優先權。
供應商配額視窗的用量驗證會優先取自供應商專屬掛鉤; 若供應商沒有掛鉤(或掛鉤無法解析出 token),OpenClaw 會回退至 驗證設定檔、環境變數或設定中相符的 OAuth/API 金鑰憑證。
助理逐字稿項目會保存相同的正規化用量結構;當目前模型已設定定價且供應商
傳回用量中繼資料時,也會包含 usage.cost。如此一來,即使即時
執行階段狀態已消失,/usage cost 與以逐字稿為依據的工作階段狀態仍有穩定的
資料來源。
OpenClaw 會將供應商用量計算與目前情境快照分開處理。供應商的 usage.total
可能包含已快取的輸入、輸出,以及多次工具迴圈模型呼叫,因此適合用於成本與
遙測,但可能高估即時情境視窗。情境顯示與診斷會使用最新的提示詞快照
(promptTokens;若沒有提示詞快照,則使用最後一次模型呼叫)作為
context.used。
成本估算(顯示時)
成本是依據您的模型定價設定估算:
models.providers.<provider>.models[].cost這些是 input、output、cacheRead 與 cacheWrite 的
每 100 萬 token 美元價格。若缺少定價,/usage full 會省略成本;
若您需要在每則回覆中查看 token/快取詳細資料,請使用
/usage tokens 或自訂 messages.usageTemplate。成本顯示不限於 API 金鑰
驗證:若 aws-sdk 等非 API 金鑰供應商的已設定模型項目包含本機定價,且
供應商傳回用量中繼資料,也可以顯示預估成本。
當附屬服務與頻道到達閘道就緒路徑後,OpenClaw 會針對尚未具備本機定價的
已設定模型參照,啟動選用的背景定價啟動程序。該程序會擷取遠端 OpenRouter 與
LiteLLM 定價目錄。在離線或受限網路中,可設定 models.pricing.enabled: false
以略過這些目錄擷取;明確的 models.providers.*.models[].cost 項目仍會用於
本機成本估算。
快取 TTL 與修剪的影響
供應商提示詞快取僅適用於快取 TTL 視窗內。OpenClaw 可選擇執行 快取 TTL 修剪:快取 TTL 到期後修剪工作階段,接著重設快取視窗, 讓後續請求重複使用新快取的情境,而非重新快取完整歷程。 當工作階段閒置時間超過 TTL 時,這可降低快取寫入成本。
心跳偵測可在閒置期間讓快取保持暖機。若您的模型快取 TTL 為 1h,
將心跳偵測間隔設為略低於該值(例如 55m),可避免重新快取完整提示詞,
進而降低快取寫入成本。
在多代理程式設定中,您可以共用一份模型設定,並透過
agents.list[].params.cacheRetention 針對每個代理程式調整快取行為。
如需逐項設定的完整指南,請參閱提示詞快取。
對於 Anthropic API 定價,快取讀取明顯比輸入 token 便宜,而快取寫入則以 較高倍率計費。如需最新費率與 TTL 倍率,請參閱 Anthropic 的提示詞快取定價: 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" # 讓長效快取為深度工作階段保持暖機 - id: "alerts" params: cacheRetention: "none" # 避免為突發通知寫入快取agents.list[].params 會合併至所選模型的 params 之上,因此您可以
僅覆寫 cacheRetention,並原樣繼承其他模型預設值。
Anthropic 100 萬 token 情境
OpenClaw 會為支援正式版的 Claude 4.x 模型(例如 Opus 4.8、Opus 4.7、Opus
4.6 與 Sonnet 4.6)配置 Anthropic 的 100 萬 token 情境視窗。這些模型不需要
設定 params.context1m: true。
agents: defaults: models: "anthropic/claude-opus-4-6": alias: opus舊版設定可以保留 context1m: true,但 OpenClaw 不再因這項設定傳送
Anthropic 已停用的 context-1m-2025-08-07 Beta 標頭,也不會將不支援的
舊版 Claude 模型擴展至 100 萬 token。
要求:憑證必須符合長上下文使用資格。否則, Anthropic 會針對該請求回傳供應商端的速率限制錯誤。
如果您使用 OAuth/訂閱權杖(sk-ant-oat-*)驗證 Anthropic,
OpenClaw 會保留 OAuth 所需的 Anthropic beta 標頭,同時移除舊版設定中
可能仍存在但已停用的 context-1m-* beta。
降低權杖壓力的訣竅
- 使用
/compact摘要長時間的工作階段。 - 在工作流程中精簡大型工具輸出。
- 對於大量使用螢幕截圖的工作階段,請降低
agents.defaults.imageMaxDimensionPx。 - 保持 Skills 說明簡短(Skills 清單會注入提示詞中)。
- 對於冗長的探索性工作,優先使用較小的模型。
如需確切的 Skills 清單額外負擔計算公式,請參閱 Skills。