系統提示詞
OpenClaw 會為每次 Agent 執行建構一份自訂的系統提示詞。這份提示詞歸 OpenClaw 所有,不使用 pi-coding-agent 的預設提示詞。
提示詞由 OpenClaw 組裝後注入到每次 Agent 執行中。
結構
提示詞刻意保持精簡,使用固定的章節:
- Tooling:當前可用的工具清單 + 簡短說明。
- Safety:簡短的護欄提醒,避免追求權力的行為或繞過監督機制。
- Skills(可用時):告知模型如何按需載入技能說明。
- OpenClaw Self-Update:如何執行
config.apply和update.run。 - Workspace:工作目錄(
agents.defaults.workspace)。 - Documentation:OpenClaw 文件的本地路徑(倉庫或 npm 套件),以及何時應參閱。
- 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 時,額外注入的提示詞標籤從 Group Chat Context 改為 Subagent Context。
Workspace 啟動檔案注入
啟動檔案會被裁減後附加在 Project Context 下方,讓模型無需明確讀取就能看到身分和 Profile 上下文:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(僅在全新 Workspace 時)MEMORY.md(存在時),否則以小寫memory.md作為備援
這些檔案每一輪都會注入到上下文視窗中,也就是說它們會消耗 Token。請保持精簡,尤其是 MEMORY.md,它可能隨時間增長,導致意外的高上下文使用量和更頻繁的壓縮。
注意:
memory/*.md每日檔案不會自動注入。它們透過memory_search和memory_get工具按需存取,因此除非模型明確讀取,否則不計入上下文視窗。
大型檔案會被截斷並加上標記。每個檔案的最大大小由 agents.defaults.bootstrapMaxChars 控制(預設:20000)。所有注入的啟動內容總量受 agents.defaults.bootstrapTotalMaxChars 限制(預設:150000)。缺少的檔案會注入一則簡短的缺失標記。截斷發生時,OpenClaw 可在 Project Context 中注入一段警告;透過 agents.defaults.bootstrapPromptTruncationWarning 控制(off、once、always;預設:once)。
子 Agent Session 只注入 AGENTS.md 和 TOOLS.md(其他啟動檔案會被過濾以保持子 Agent 上下文精簡)。
內部 Hook 可透過 agent:bootstrap 攔截此步驟,修改或替換注入的啟動檔案(例如將 SOUL.md 換成替代人格)。
要檢視每個注入檔案的貢獻度(原始 vs 注入大小、截斷情況、加上工具 Schema 開銷),請使用 /context list 或 /context detail。參閱 Context。
時間處理
系統提示詞在使用者時區已知時包含專門的 Current Date & Time 章節。為了維持提示詞快取穩定性,目前只包含時區(不含動態時鐘或時間格式)。
當 Agent 需要取得當前時間時,請使用 session_status;狀態卡片中包含時間戳記行。
相關設定:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
完整行為細節請參閱 Date & Time。
Skills
當有符合條件的 Skill 存在時,OpenClaw 會注入精簡的可用 Skill 清單(formatSkillsForPrompt),包含每個 Skill 的檔案路徑。提示詞指示模型使用 read 載入所列位置(Workspace、受管理或內建)的 SKILL.md。若無符合條件的 Skill,Skills 章節會被省略。
<available_skills>
<skill>
<name>...</name>
<description>...</description>
<location>...</location>
</skill>
</available_skills>
這樣保持基礎提示詞精簡,同時仍能針對性地使用 Skill。
Documentation
可用時,系統提示詞包含 Documentation 章節,指向本地 OpenClaw 文件目錄(倉庫 Workspace 中的 docs/ 或 npm 套件內建文件),同時註明公開鏡像、原始碼倉庫、社群 Discord 和 ClawHub(https://clawhub.com)供 Skill 探索。提示詞指示模型優先查閱本地文件了解 OpenClaw 行為、指令、設定或架構,並在可能時自行執行 openclaw status(只在無法存取時才詢問使用者)。