openclaw/docs/zh-CN/concepts/agent.md

116 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
read_when:
- 更改智能体运行时、工作区引导或会话行为时
summary: 智能体运行时(嵌入式 pi-mono、工作区契约和会话引导
title: 智能体运行时
x-i18n:
generated_at: "2026-02-03T10:04:53Z"
model: claude-opus-4-5
provider: pi
source_hash: 04b4e0bc6345d2afd9a93186e5d7a02a393ec97da2244e531703cb6a1c182325
source_path: concepts/agent.md
workflow: 15
---
# 智能体运行时 🤖
OpenClaw 运行一个源自 **pi-mono** 的嵌入式智能体运行时。
## 工作区(必需)
OpenClaw 使用单一智能体工作区目录(`agents.defaults.workspace`)作为智能体**唯一**的工作目录(`cwd`),用于工具和上下文。
建议:使用 `openclaw setup` 在缺失时创建 `~/.openclaw/openclaw.json` 并初始化工作区文件。
完整工作区布局 + 备份指南:[智能体工作区](/concepts/agent-workspace)
如果启用了 `agents.defaults.sandbox`,非主会话可以在 `agents.defaults.sandbox.workspaceRoot` 下使用按会话隔离的工作区覆盖此设置(参见 [Gateway 网关配置](/gateway/configuration))。
## 引导文件(注入)
`agents.defaults.workspace`OpenClaw 期望以下用户可编辑的文件:
- `AGENTS.md` — 操作指令 + "记忆"
- `SOUL.md` — 人设、边界、语气
- `TOOLS.md` — 用户维护的工具说明(例如 `imsg`、`sag`、约定)
- `BOOTSTRAP.md` — 一次性首次运行仪式(完成后删除)
- `IDENTITY.md` — 智能体名称/风格/表情
- `USER.md` — 用户档案 + 偏好称呼
在新会话的第一轮OpenClaw 将这些文件的内容直接注入智能体上下文。
空文件会被跳过。大文件会被修剪和截断并添加标记,以保持提示词精简(阅读文件获取完整内容)。
如果文件缺失OpenClaw 会注入一行"文件缺失"标记(`openclaw setup` 将创建安全的默认模板)。
`BOOTSTRAP.md` 仅在**全新工作区**(没有其他引导文件存在)时创建。如果你在完成仪式后删除它,后续重启不应重新创建。
要完全禁用引导文件创建(用于预置工作区),请设置:
```json5
{ agent: { skipBootstrap: true } }
```
## 内置工具
核心工具read/exec/edit/write 及相关系统工具)始终可用,受工具策略约束。`apply_patch` 是可选的,由 `tools.exec.applyPatch` 控制。`TOOLS.md` **不**控制哪些工具存在;它是关于*你*希望如何使用它们的指导。
## Skills
OpenClaw 从三个位置加载 Skills名称冲突时工作区优先
- 内置(随安装包提供)
- 托管/本地:`~/.openclaw/skills`
- 工作区:`<workspace>/skills`
Skills 可通过配置/环境变量控制(参见 [Gateway 网关配置](/gateway/configuration) 中的 `skills`)。
## pi-mono 集成
OpenClaw 复用 pi-mono 代码库的部分内容(模型/工具),但**会话管理、设备发现和工具连接由 OpenClaw 负责**。
- 无 pi-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` 时,入站消息会保留到当前轮次结束,然后使用排队的载荷开始新的智能体轮次。参见 [队列](/concepts/queue) 了解模式 + 防抖/上限行为。
分块流式传输在助手块完成后立即发送;默认为**关闭**`agents.defaults.blockStreamingDefault: "off"`)。
通过 `agents.defaults.blockStreamingBreak` 调整边界(`text_end` 与 `message_end`;默认为 text_end
使用 `agents.defaults.blockStreamingChunk` 控制软块分块(默认 8001200 字符;优先段落分隔,其次换行;最后是句子)。
使用 `agents.defaults.blockStreamingCoalesce` 合并流式块以减少单行刷屏(发送前基于空闲的合并)。非 Telegram 渠道需要显式设置 `*.blockStreaming: true` 以启用分块回复。
工具启动时发出详细工具摘要无防抖Control UI 在可用时通过智能体事件流式传输工具输出。
更多详情:[流式传输 + 分块](/concepts/streaming)。
## 模型引用
配置中的模型引用(例如 `agents.defaults.model``agents.defaults.models`)通过在**第一个** `/` 处分割来解析。
- 配置模型时使用 `provider/model`
- 如果模型 ID 本身包含 `/`OpenRouter 风格),请包含提供商前缀(例如:`openrouter/moonshotai/kimi-k2`)。
- 如果省略提供商OpenClaw 将输入视为别名或**默认提供商**的模型(仅在模型 ID 中没有 `/` 时有效)。
## 配置(最小)
至少需要设置:
- `agents.defaults.workspace`
- `channels.whatsapp.allowFrom`(强烈建议)
---
_下一篇[群聊](/channels/group-messages)_ 🦞