「上下文」是 OpenClaw 為一次執行傳送給模型的所有內容。它受模型的 上下文視窗(詞元限制)約束。 初學者心智模型:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- 系統提示詞(由 OpenClaw 建立):規則、工具、Skills 清單、時間/執行階段,以及注入的工作區檔案。
- 對話歷史:你在此工作階段中的訊息 + 助理的訊息。
- 工具呼叫/結果 + 附件:命令輸出、檔案讀取、圖片/音訊等。
快速開始(檢查上下文)
/status→ 快速查看「我的視窗有多滿?」+ 工作階段設定。/context list→ 已注入的內容 + 粗略大小(每個檔案 + 總計)。/context detail→ 更深入的細分:每個檔案、每個工具結構描述大小、每個 Skill 項目大小,以及系統提示詞大小。/usage tokens→ 在一般回覆後附加每則回覆的使用量頁尾。/compact→ 將較舊的歷史摘要為精簡項目,以釋放視窗空間。
範例輸出
數值會依模型、供應商、工具政策,以及工作區中的內容而異。/context list
/context detail
哪些內容會計入上下文視窗
模型接收到的所有內容都會計入,包括:- 系統提示詞(所有區段)。
- 對話歷史。
- 工具呼叫 + 工具結果。
- 附件/逐字稿(圖片/音訊/檔案)。
- Compaction 摘要與修剪成品。
- 供應商「包裝器」或隱藏標頭(不可見,但仍會計入)。
OpenClaw 如何建立系統提示詞
系統提示詞由 OpenClaw 擁有,並在每次執行時重新建立。它包括:- 工具清單 + 簡短描述。
- Skills 清單(僅中繼資料;見下方)。
- 工作區位置。
- 時間(UTC + 若已設定則包含轉換後的使用者時間)。
- 執行階段中繼資料(主機/作業系統/模型/思考)。
- 在 專案上下文 下方注入的工作區啟動檔案。
注入的工作區檔案(專案上下文)
預設情況下,OpenClaw 會注入一組固定的工作區檔案(若存在):AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(僅首次執行)
agents.defaults.bootstrapMaxChars(預設 12000 字元)截斷。OpenClaw 也會使用 agents.defaults.bootstrapTotalMaxChars(預設 60000 字元)對跨檔案的啟動注入總量強制設定上限。/context 會顯示 原始與已注入 大小,以及是否發生截斷。
發生截斷時,執行階段可以在專案上下文下方注入提示詞內警告區塊。使用 agents.defaults.bootstrapPromptTruncationWarning 設定此行為(off、once、always;預設 once)。
Skills:已注入與隨需載入
系統提示詞包含精簡的 Skills 清單(名稱 + 描述 + 位置)。此清單有實際開銷。 Skill 指示預設 不會 包含在內。模型應該 只在需要時read 該 Skill 的 SKILL.md。
工具:有兩種成本
工具會以兩種方式影響上下文:- 系統提示詞中的 工具清單文字(你看到的「工具」)。
- 工具結構描述(JSON)。這些會傳送給模型,讓它可以呼叫工具。即使你不會看到它們作為純文字,它們仍會計入上下文。
/context detail 會細分最大的工具結構描述,讓你看到主要占用來源。
命令、指令與「內嵌捷徑」
斜線命令由 Gateway 處理。有幾種不同行為:- 獨立命令:只有
/...的訊息會作為命令執行。 - 指令:
/think、/verbose、/trace、/reasoning、/elevated、/model、/queue會在模型看到訊息之前被移除。- 僅含指令的訊息會保存工作階段設定。
- 一般訊息中的內嵌指令會作為每則訊息的提示。
- 內嵌捷徑(僅限允許清單中的傳送者):一般訊息內的某些
/...詞元可以立即執行(範例:「hey /status」),並會在模型看到剩餘文字之前被移除。
工作階段、Compaction 與修剪(哪些內容會持久保存)
哪些內容會跨訊息持久保存,取決於機制:- 一般歷史 會持久保存在工作階段逐字稿中,直到依政策被壓縮/修剪。
- Compaction 會將摘要持久保存到逐字稿中,並保留最近的訊息不變。
- 修剪 會從 記憶體內 提示詞中移除舊工具結果,以釋放上下文視窗空間,但不會重寫工作階段逐字稿 — 完整歷史仍可在磁碟上檢查。
legacy 上下文引擎進行組裝與
Compaction。如果你安裝提供 kind: "context-engine" 的 Plugin,並
使用 plugins.slots.contextEngine 選取它,OpenClaw 會改為將上下文
組裝、/compact,以及相關子代理上下文生命週期鉤子委派給該
引擎。ownsCompaction: false 不會自動退回到 legacy
引擎;作用中的引擎仍必須正確實作 compact()。請參閱
上下文引擎,了解完整的
可插拔介面、生命週期鉤子與設定。
/context 實際報告的內容
/context 會在可用時優先使用最新的 執行建立 系統提示詞報告:
System prompt (run)= 從上一次嵌入式(可使用工具)執行擷取,並持久保存在工作階段儲存區。System prompt (estimate)= 在沒有執行報告時即時計算(或透過不產生報告的 CLI 後端執行時)。
相關
- 上下文引擎 — 透過 plugins 自訂上下文注入
- Compaction — 摘要長對話
- 系統提示詞 — 系統提示詞的建構方式
- 代理迴圈 — 完整代理執行週期