智能体运行时
OpenClaw 运行一个基于 p-mono 的嵌入式智能体运行时。
工作区(必需)
OpenClaw 使用单个智能体工作区目录(agents.defaults.workspace)作为智能体的唯一工作目录(cwd),用于工具和上下文。
推荐:使用 openclaw setup 创建 ~/.openclaw/openclaw.json(如果缺失)并初始化工作区文件。
完整工作区布局 + 备份指南:智能体工作区
如果启用了 agents.defaults.sandbox,非主会话可以使用 agents.defaults.sandbox.workspaceRoot 覆盖工作区(参见网关配置)。
引导文件(注入)
在 agents.defaults.workspace 中,OpenClaw 期望以下用户可编辑文件:
AGENTS.md— 操作说明 + "记忆"SOUL.md— 人设、边界、语气TOOLS.md— 用户维护的工具说明(如imsg、sag、约定)BOOTSTRAP.md— 一次性首次运行仪式(完成后删除)IDENTITY.md— 智能体名称/风格/emojiUSER.md— 用户资料 + 首选称呼
在新会话的第一轮中,OpenClaw 直接将这些文件的内容注入智能体上下文。
空白文件会被跳过。大文件会被修剪和截断,以保持提示简洁(阅读文件以获取完整内容)。
如果文件缺失,OpenClaw 注入单行"缺失文件"标记(openclaw setup 将创建安全的默认模板)。
BOOTSTRAP.md 仅在全新工作区(没有其他引导文件存在)时创建。如果在完成仪式后删除它,后续重启时不应重新创建。
要完全禁用引导文件创建(适用于预种子工作区),设置:
{
agent: { skipBootstrap: true }
}内置工具
核心工具(read/exec/edit/write 和相关系统工具)始终可用,受工具策略约束。apply_patch 是可选的,由 tools.exec.applyPatch 门控。TOOLS.md 不控制存在哪些工具;它指导你希望如何使用它们。
技能
OpenClaw 从三个位置加载技能(工作区在名称冲突时获胜):
- 捆绑(随安装一起提供)
- 托管/本地:
~/.openclaw/skills - 工作区:
<workspace>/skills
技能可以通过配置/环境进行门控(参见网关配置 中的 skills)。
p-mono 集成
OpenClaw 重用 p-mono 代码库的组件(模型/工具),但会话管理、发现和工具连接是 OpenClaw 拥有的。
- 没有 p-coding 智能体运行时
- 不咨询
~/.pi/agent或<workspace>/.pi设置
会话
会话记录存储为 JSONL,位置为:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
会话 ID 是稳定的,由 OpenClaw 选择。旧的 Pi/Tau 会话文件夹不会被读取。
流式传输引导
当队列时的模式为 steer 时,入站消息被注入当前运行。队列在每次工具调用后检查;如果存在排队的消息,则跳过当前助手消息的剩余工具调用(使用"Skipped due to queued user message."错误工具结果),然后在下一个助手响应之前注入排队的用户消息。
当队列模式为 followup 或 collect 时,入站消息被保留直到当前回合结束,然后使用排队的负载启动新的智能体回合。参见队列了解模式 + 去抖动/容量行为。
块流式传输在完成的助手块时立即发送;它默认关闭(agents.defaults.blockStreamingDefault: "off")。通过 agents.defaults.blockStreamingBreak(text_end vs message_end;默认为 text_end)调整边界。通过 agents.defaults.blockStreamingChunk(默认为 800-1200 字符;优先段落断点,然后是换行;最后是句子)控制软块分块。通过 agents.defaults.blockStreamingCoalesce 合并流式块以减少单行垃圾(发送前的基于空闲的合并)。非 Telegram 通道需要显式 *.blockStreaming: true 才能启用块回复。详细工具摘要在新工具开始时发出(无去抖动);Control UI 在可用时通过智能体事件流式传输工具输出。更多详情:流式传输 + 分块。
模型引用
配置中的模型引用(例如 agents.defaults.model 和 agents.defaults.models)通过在第一个 / 处分割来解析。
- 配置模型时使用
provider/model。 - 如果模型 ID 本身包含
/(OpenRouter 风格),请包含提供商前缀(例如openrouter/moonshotai/kimi-k2)。 - 如果省略提供商,OpenClaw 将输入视为别名或默认提供商的模型(仅当模型 ID 中没有
/时才有效)。
配置(最小)
至少设置:
agents.defaults.workspacechannels.whatsapp.allowFrom(强烈推荐)
Next: Group Chats 🦞