系統提示
OpenClaw 系統提示的組裝方式,包括結構、提示模式、工作區引導注入、時間處理、技能及文件路徑。
概覽
OpenClaw 為每次 Agent 執行建構專屬的系統提示。此提示由 OpenClaw 擁有,不使用 pi-coding-agent 的預設提示。
提示由 OpenClaw 組裝並注入到每次 Agent 執行中。
結構
提示刻意精簡,使用固定區段:
- Tooling:當前工具清單 + 簡短描述。
- Safety:簡短的安全護欄提醒,避免權力追求行為或繞過監督。
- Skills(可用時):告知模型如何按需載入技能指令。
- OpenClaw Self-Update:如何執行
config.apply和update.run。 - Workspace:工作目錄(
agents.defaults.workspace)。 - Documentation:本地 OpenClaw 文件路徑及何時參考。
- Workspace Files (injected):指示引導檔案已包含在下方。
- Sandbox(啟用時):指示沙箱化執行環境、沙箱路徑,以及是否有提升的 exec 可用。
- Current Date & Time:使用者本地時間、時區和時間格式。
- Reply Tags:支援的供應商的可選回覆標記語法。
- Heartbeats:心跳提示和確認行為。
- Runtime:主機、作業系統、Node、模型、儲存庫根目錄(偵測到時)、思考層級(一行)。
- Reasoning:當前可見性層級 +
/reasoning切換提示。
系統提示中的安全護欄為建議性質。它們引導模型行為但不強制執行策略。使用工具策略、exec 批准、沙箱化和頻道允許清單進行硬性強制執行;操作者可依設計停用這些。
提示模式
OpenClaw 可為子 Agent 產生較小的系統提示。執行環境為每次執行設定 promptMode(非使用者面向的設定):
full(預設):包含上述所有區段。minimal:用於子 Agent;省略 Skills、Memory Recall、OpenClaw Self-Update、Model Aliases、User Identity、Reply Tags、Messaging、Silent Replies 和 Heartbeats。Tooling、Safety、Workspace、Sandbox、Current Date & Time(已知時)、Runtime 和注入的上下文保持可用。none:僅回傳基本身份行。
當 promptMode=minimal 時,額外注入的提示會標記為 Subagent Context 而非 Group Chat Context。
工作區引導注入
引導檔案會被修剪並附加在 Project Context 下,以便模型無需明確讀取即可看到身份和設定檔上下文:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(僅在全新工作區時)MEMORY.md和/或memory.md(存在於工作區時;兩者均可注入)
所有這些檔案在每個回合都會注入到上下文視窗中,這意味著它們會消耗 Token。請保持簡潔 — 尤其是 MEMORY.md,它可能隨時間增長,導致意外的高上下文使用量和更頻繁的壓縮。
注意:
memory/*.md每日檔案不會自動注入。它們透過memory_search和memory_get工具按需存取,因此除非模型明確讀取,否則不會計入上下文視窗。
大型檔案會以標記截斷。每個檔案的最大大小由 agents.defaults.bootstrapMaxChars 控制(預設:20000)。跨檔案的總注入引導內容上限由 agents.defaults.bootstrapTotalMaxChars 設定(預設:150000)。缺失的檔案會注入一個簡短的缺失檔案標記。
子 Agent 工作階段僅注入 AGENTS.md 和 TOOLS.md(其他引導檔案會被過濾以保持子 Agent 上下文精簡)。
內部 Hook 可透過 agent:bootstrap 攔截此步驟,以變更或替換注入的引導檔案(例如將 SOUL.md 替換為替代人設)。
要檢查每個注入檔案的貢獻(原始 vs 注入大小、截斷狀況,加上工具結構描述開銷),使用 /context list 或 /context detail。請參閱 上下文。
時間處理
系統提示在使用者時區已知時包含專用的 Current Date & Time 區段。為保持提示快取穩定性,現在僅包含時區(無動態時鐘或時間格式)。
當 Agent 需要當前時間時使用 session_status;狀態卡包含時間戳記行。
設定方式:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
完整行為詳情請參閱 日期與時間。
技能
當存在合格的技能時,OpenClaw 會注入精簡的可用技能清單(formatSkillsForPrompt),其中包含每個技能的檔案路徑。提示指示模型使用 read 在列出的位置(工作區、受管理或內建)載入 SKILL.md。若沒有合格的技能,Skills 區段會被省略。
<available_skills>
<skill>
<name>...</name>
<description>...</description>
<location>...</location>
</skill>
</available_skills>
這保持基礎提示精簡,同時仍能啟用目標技能的使用。
文件
可用時,系統提示包含 Documentation 區段,指向本地 OpenClaw 文件目錄(儲存庫工作區中的 docs/ 或內建的 npm 套件文件),同時也提及公開鏡像、原始碼儲存庫、社群 Discord 和 ClawHub(https://clawhub.com)用於技能探索。提示指示模型在查詢 OpenClaw 行為、命令、設定或架構時先參考本地文件,並在可能時自行執行 openclaw status(僅在無存取權限時才詢問使用者)。