System Prompt
OpenClaw 為每次 agent 執行建構自訂 system prompt。此 prompt 由 OpenClaw 擁有,不使用 pi-coding-agent 的預設 prompt。 Prompt 由 OpenClaw 組裝並注入每次 agent 執行。結構
Prompt 刻意保持緊湊並使用固定章節:- Tooling:當前工具列表 + 簡短描述。
- Safety:短暫的護欄提醒,避免尋求權力的行為或繞過監督。
- Skills(可用時):告知模型如何按需載入技能說明。
- OpenClaw Self-Update:如何執行
config.apply和update.run。 - Workspace:工作目錄(
agents.defaults.workspace)。 - Documentation:OpenClaw 文件的本地路徑(repo 或 npm 套件)以及何時讀取。
- Workspace Files(注入的):指示下方包含 bootstrap 檔案。
- Sandbox(啟用時):指示沙盒執行時、沙盒路徑以及是否可使用提升的 exec。
- Current Date & Time:用戶本地時間、時區和時間格式。
- Reply Tags:支援供應商的選用回覆標籤語法。
- Heartbeats:心跳 prompt 和確認行為。
- Runtime:主機、OS、node、模型、repo 根目錄(偵測到時)、thinking 層級(一行)。
- Reasoning:當前可見性層級 + /reasoning 切換提示。
Prompt 模式
OpenClaw 可以為子 agent 渲染較小的 system prompt。執行時為每次執行設定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 時,額外注入的 prompt 標記為 Subagent
Context 而非 Group Chat Context。
工作區 bootstrap 注入
Bootstrap 檔案被修剪並附加在 Project Context 下,讓模型在不需要明確讀取的情況下看到身份和設定檔上下文:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(僅限全新工作區)MEMORY.md和/或memory.md(工作區中存在時;任一或兩者都可能被注入)
MEMORY.md,它可能隨時間增長並導致意外的高上下文使用量和更頻繁的壓縮。
注意:大型檔案以標記截斷。每個檔案的最大大小由memory/*.md每日檔案不會自動注入。它們 透過memory_search和memory_get工具按需存取,因此 除非模型明確讀取,否則不計入上下文視窗。
agents.defaults.bootstrapMaxChars(預設:20000)控制。所有檔案的總注入 bootstrap 內容以 agents.defaults.bootstrapTotalMaxChars
(預設:150000)為上限。缺失的檔案注入短暫的缺失檔案標記。當發生截斷時,OpenClaw 可在 Project Context 中注入警告區塊;使用 agents.defaults.bootstrapPromptTruncationWarning 控制(off、once、always;
預設:once)。
子 agent 工作階段只注入 AGENTS.md 和 TOOLS.md(其他 bootstrap 檔案被過濾以保持子 agent 上下文小)。
內部 hooks 可透過 agent:bootstrap 攔截此步驟以修改或替換注入的 bootstrap 檔案(例如將 SOUL.md 替換為備用角色設定)。
要檢查每個注入檔案的貢獻量(原始 vs 注入、截斷以及工具 schema 開銷),使用 /context list 或 /context detail。見 Context。
時間處理
System prompt 在用戶時區已知時包含專用的 Current Date & Time 章節。為保持 prompt 快取穩定,現在只包含時區(不含動態時鐘或時間格式)。 需要當前時間時使用session_status;狀態卡包含時間戳行。
設定方式:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
技能
當存在符合條件的技能時,OpenClaw 注入緊湊的可用技能列表 (formatSkillsForPrompt),包含每個技能的檔案路徑。Prompt 指示模型使用 read 載入列出位置(工作區、managed 或捆綁)的 SKILL.md。若沒有符合條件的技能,Skills 章節被省略。
Documentation
可用時,system prompt 包含 Documentation 章節,指向本地 OpenClaw 文件目錄(repo 工作區中的docs/ 或捆綁的 npm 套件文件),並指出公共鏡像、原始碼 repo、社群 Discord 和 ClawHub(https://clawhub.com)以供技能探索。Prompt 指示模型在詢問 OpenClaw 行為、指令、設定或架構時優先參考本地文件,並在可能時自行執行 openclaw status(只在無法存取時才詢問用戶)。