本文档介绍 OpenClaw 的代理运行时架构和 CLI 管理命令。
代理运行时概述
OpenClaw 运行一个基于 pi-mono 的单一嵌入式代理运行时。系统需要一个工作区目录(agents.defaults.workspace)作为代理执行所有工具和上下文操作的专属工作目录。
工作区与引导文件
代理工作区包含用户可编辑的配置文件,这些文件在首次会话回合时注入:
| 文件 | 说明 |
|---|---|
AGENTS.md | 操作指令和记忆 |
SOUL.md | 人格、边界和沟通语调 |
TOOLS.md | 用户维护的工具文档 |
BOOTSTRAP.md | 一次性初始化(完成后删除) |
IDENTITY.md | 代理名称和身份详情 |
USER.md | 用户档案信息 |
提示
可以通过
{ agent: { skipBootstrap: true } } 禁用引导文件的创建。工具与技能系统
核心工具(read/exec/edit/write)始终可用,apply_patch 由 tools.exec.applyPatch 控制。技能从三个位置加载,工作区级别优先级最高:
- 捆绑/预装技能
- 托管的本地技能(
~/.openclaw/skills) - 工作区特定技能
会话管理
会话记录以 JSONL 格式存储在:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
系统不会参考旧版 Pi/Tau 设置。
流式处理与配置
队列模式包括:
- steer - 在运行过程中注入消息
- followup - 后续跟进模式
- collect - 保持直到回合完成
块流式处理默认关闭,但支持通过以下设置自定义:
blockStreamingDefaultblockStreamingBreakblockStreamingChunk
模型引用使用 provider/model 格式,在第一个斜杠处解析。
CLI 代理管理命令
openclaw agents 命令用于管理隔离的代理工作区,包括身份验证和路由功能。
可用命令
# 列出所有已配置的代理
openclaw agents list
# 创建新代理并指定工作区路径
openclaw agents add <workspace-path>
# 配置代理身份属性
openclaw agents set-identity <agent-id>
# 删除代理配置
openclaw agents delete <agent-id>
身份配置
代理可以通过位于工作区根目录的 IDENTITY.md 文件进行自定义。set-identity 命令管理以下可配置属性:
| 属性 | 说明 |
|---|---|
name | 代理显示名称 |
theme | 视觉主题名称 |
emoji | 单字符表示 |
avatar | 图片引用(工作区相对路径、URL 或 data URI) |
配置结构
代理身份设置存储在配置的 agents.list[].identity 下,包含名称、主题、表情符号和头像路径。头像路径相对于工作区根目录解析。
// openclaw.json 配置示例
{
"agents": {
"defaults": {
"workspace": "~/my-agent-workspace"
},
"list": [
{
"id": "my-agent",
"workspace": "~/my-agent-workspace",
"identity": {
"name": "我的助手",
"theme": "dark",
"emoji": "A",
"avatar": "./avatar.png"
}
}
]
}
}
注意
此功能与多代理路由和工作区管理概念相关联。确保在配置多个代理时正确设置各自的工作区路径。