工作區(必要)
每個代理都會使用單一工作區目錄(agents.defaults.workspace,或每個代理的
agents.list[].workspace)作為工具與情境的唯一工作目錄(cwd)。
建議:使用 openclaw setup 在缺少 ~/.openclaw/openclaw.json 時建立它,並初始化工作區檔案。
完整工作區版面配置與備份指南:代理工作區
如果已啟用 agents.defaults.sandbox,非主要工作階段可以使用
agents.defaults.sandbox.workspaceRoot 下的每工作階段工作區覆寫此設定(請參閱
閘道設定)。
啟動檔案(已注入)
在工作區內,OpenClaw 會預期這些可由使用者編輯的檔案:| 檔案 | 用途 |
|---|---|
AGENTS.md | 操作指示 +「記憶」 |
SOUL.md | 人格、邊界、語氣 |
TOOLS.md | 使用者維護的工具備註與慣例 |
IDENTITY.md | 代理名稱/風格/emoji |
USER.md | 使用者個人資料 + 偏好的稱呼 |
HEARTBEAT.md | 心跳偵測專屬指示 |
BOOTSTRAP.md | 一次性的首次執行儀式(完成後刪除) |
MEMORY.md | 根長期記憶檔案(若存在) |
MEMORY.md 只有在工作區根目錄存在時才會注入。
空白檔案會略過。大型檔案會以標記修剪和截斷,讓提示保持精簡(閱讀檔案以取得完整內容)。缺少的檔案(MEMORY.md 除外)則會注入單一「缺少檔案」標記行;openclaw setup 會為它建立安全的預設範本。
BOOTSTRAP.md 只會為全新的工作區建立(沒有其他啟動檔案存在)。當它待處理時,OpenClaw 會將它保留在專案情境中,並加入初始儀式的系統提示啟動指引,而不是將它複製到使用者訊息中。如果你在完成儀式後刪除它,後續重新啟動時不會重新建立。
工作區被觀察到之後,OpenClaw 也會為工作區路徑保留一個狀態目錄證明標記。如果最近證明過的工作區消失或被清除,啟動會拒絕靜默重新植入 BOOTSTRAP.md;請還原工作區,或使用完整的 onboard 重設,讓工作區與標記一起清除。
若要完全停用啟動檔案建立(適用於預先植入的工作區),請設定:
內建工具
核心工具(read/exec/edit/write 及相關系統工具)一律可用, 但受工具政策約束。apply_patch 對 OpenAI 模型預設開啟,並由
tools.exec.applyPatch(enabled、workspaceOnly、allowModels)控管。TOOLS.md 不會控制哪些工具存在;它是
關於你希望工具如何使用的指引。
Skills
OpenClaw 會從以下位置載入 Skills(優先順序由高到低):- 工作區:
<workspace>/skills - 專案代理 Skills:
<workspace>/.agents/skills - 個人代理 Skills:
~/.agents/skills - 受管理/本機:
~/.openclaw/skills - 隨附(隨安裝提供)
- 額外 Skills 資料夾:
skills.load.extraDirs
<workspace>/skills/personal/foo/SKILL.md;該 Skill 仍會以其
扁平 frontmatter 名稱公開,例如 foo。
Skills 可以由設定/env 控管(請參閱閘道設定中的 skills)。
執行階段邊界
嵌入式代理執行階段由 OpenClaw 擁有:模型探索、工具接線、 提示組裝、工作階段管理與通道傳遞共享一個整合式 執行階段介面。工作階段
工作階段逐字稿會以 JSONL 儲存在:~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
串流時導引
預設情況下,執行中途抵達的傳入提示會被導引到目前執行中。 導引會在目前助理回合完成執行其 工具呼叫之後傳遞,在下一次 LLM 呼叫之前,且不再略過 目前助理訊息中剩餘的工具呼叫。/queue steer 是預設的作用中執行行為。/queue followup 和
/queue collect 會讓訊息等待稍後的回合,而不是導引。
/queue interrupt 則會中止作用中的執行。請參閱佇列
與導引佇列,了解佇列與邊界行為。
區塊串流會在完成的助理區塊一完成時就送出;它
預設關閉(agents.defaults.blockStreamingDefault: "off")。
透過 agents.defaults.blockStreamingBreak 調整邊界(text_end 與 message_end;預設為 text_end)。
使用 agents.defaults.blockStreamingChunk 控制軟性區塊分塊(預設為
800-1200 個字元;優先使用段落中斷,其次是換行;句子最後)。
使用 agents.defaults.blockStreamingCoalesce 合併串流區塊,以減少
單行洗版(傳送前依閒置時間合併)。非 Telegram 通道需要
明確設定 *.blockStreaming: true 才能啟用區塊回覆。
詳細工具摘要會在工具開始時發出(沒有 debounce);Control UI
會在可用時透過代理事件串流工具輸出。
更多詳細資訊:串流 + 分塊。
模型參照
設定中的模型參照(例如agents.defaults.model 與 agents.defaults.models)會透過在第一個 / 分割來解析。
- 設定模型時使用
provider/model。 - 如果模型 ID 本身包含
/(OpenRouter 風格),請包含 provider 前綴(範例:openrouter/moonshotai/kimi-k2)。 - 如果省略 provider,OpenClaw 會先嘗試別名,接著為該精確模型 id 嘗試唯一的 已設定 provider 相符項,然後才退回 已設定的預設 provider。如果該 provider 不再公開 已設定的預設模型,OpenClaw 會退回到第一個已設定的 provider/model,而不是顯示過時的已移除 provider 預設值。
設定(最小)
至少請設定:agents.defaults.workspacechannels.whatsapp.allowFrom(強烈建議)