15.7 AGENTS模板

本文档介绍 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_patchtools.exec.applyPatch 控制。技能从三个位置加载,工作区级别优先级最高:

  • 捆绑/预装技能
  • 托管的本地技能(~/.openclaw/skills
  • 工作区特定技能

会话管理

会话记录以 JSONL 格式存储在:

~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl

系统不会参考旧版 Pi/Tau 设置。

流式处理与配置

队列模式包括:

  • steer - 在运行过程中注入消息
  • followup - 后续跟进模式
  • collect - 保持直到回合完成

块流式处理默认关闭,但支持通过以下设置自定义:

  • blockStreamingDefault
  • blockStreamingBreak
  • blockStreamingChunk

模型引用使用 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"
        }
      }
    ]
  }
}
注意
此功能与多代理路由和工作区管理概念相关联。确保在配置多个代理时正确设置各自的工作区路径。