OpenClaw 中的 Agent

使用不同的Agent,处理不同类别的事。by OpenClaw 2026.7.1

官方文档多 Agent 路由 – OpenClaw

理解持久Agent vs. 子Agent:这两种模式的生命周期和适用场景完全不同,不能混用,这是多Agent配置的基础。

特性持久Agent子Agent (Sub-agent)
核心定义独立存在、有专属配置和记忆空间的“常驻角色”。从主Agent会话中临时派生的“任务型角色”,依赖主Agent的上下文。
生命周期永久运行,除非手动停止。任务完成后自动归档,会话结束不保留。
配置特点需配置独立工作区(workspace)、定义路由(bindings)、分配模型等。无需单独配置,通过sessions_spawn命令动态创建。
适用场景长期分工协作,如群聊里的专人专岗、日常办公助理、自动化工作流。单次临时任务,如复杂任务的拆解执行、一次性调研、专项数据处理。
关键结论群聊协同、长期分工必须用“持久Agent”。临时补充、任务拆解用“子Agent”。两者的配置字段完全不同。

下面我们主要聚焦于如何配置一个“持久Agent”,配置一个持久Agent主要分为三个步骤:创建工作区、定义身份、设置路由。

创建工作区 (Workspace)

每个Agent需要有自己独立的“家”,也就是工作区,用于存放其配置文件和数据。

交互式创建

$ openclaw agents add Life
┌  Add OpenClaw agent
│
◇  Agent id ─────────────────╮
│                            │
│  Normalized id to "life".  │
│                            │
├────────────────────────────╯
│
◇  Workspace directory
│  ~/.openclaw/workspace/life
│
◇  Configure model/auth for this agent now?
│  No
[info]: [ 'client ready' ]
│
◇  Set up a chat channel now?
│  Yes
……
│
◇  Select a channel
│  Finished
Updated config: ~/.openclaw/openclaw.json
  Backup: ~/.openclaw/openclaw.json.bak
Workspace OK: ~/.openclaw/workspace/life
Sessions OK: ~/.openclaw/agents/life/sessions
│
└  Agent "life" ready.

非交互式创建

# 非交互式创建:会使用pwd,作为相对路径的起点。所以使用绝对路径吧。
$ openclaw agents add myLife --workspace ~/.openclaw/workspace/myLife
Normalized agent id to "mylife".
Updated config: ~/.openclaw/openclaw.json
  Backup: ~/.openclaw/openclaw.json.bak
Workspace OK: ~/.openclaw/workspace/myLife
Sessions OK: ~/.openclaw/agents/mylife/sessions
Agent: mylife
Workspace: ~/.openclaw/workspace/myLife
Agent dir: ~/.openclaw/agents/mylife/agent

$ openclaw agents add bzWork --workspace ~/.openclaw/workspace/bzWork --bind Feishu

其他参数
--template <模板名称>
作用:创建时使用官方预置 Agent 模板自动生成 SOUL.md,不用手写初始人设
内置模板:coordinator、coder、translator、researcher、reviewer

--bind <channel [:accountId]>(可重复多次)
作用:绑定消息渠道路由,把指定渠道流量路由到当前 Agent
格式:渠道名:账号ID;省略 accountId 则使用该渠道默认账号

查看与删除

# 查看所有 Agent
$ openclaw agents list [--bindings]
# 删除 Agent
$ openclaw agents delete <agent-id>

会在~/.openclaw/openclaw.json文件中的 agents.list 数组中增加记录 ??

定义Agent身份 (Soul, Guide, Persona)

每个Agent的工作区目录下有几个关键的Markdown文件,它们共同定义了Agent的“灵魂”和“技能”,建议用大模型帮助你生成这些个性化内容。

  • SOUL.md (灵魂):定义Agent的性格、语气、价值观和回应风格。例如,“你是一位严谨的代码审查专家,使用中文,风格简洁,每次回复必须包含代码块”。
  • AGENTS.md (指南):定义Agent的工作流程、决策规范和使用工具的规则。例如,“修改代码前必须先lspwd确认路径,修改后执行npm run test进行验证”。
  • USER.md (用户档案):定义用户的偏好、习惯等信息,帮助Agent更好地了解你。
  • IDENTITY.md / TOOLS.md / BOOTSTRAP.md:分别用于定义身份、工具许可和启动初始化任务等。

设置路由规则 (Bindings):渠道账号与Agent的绑定、查看和解绑

这是让Agent“活”起来的关键步骤。你需要通过bindings配置,告诉Gateway网关哪个消息应该由哪个Agent来处理。配置在~/.openclaw/openclaw.json文件中。

# 用默认别名(简写)
$ openclaw agents bind --agent bzWork --bind feishu
# 用真实完整账号ID
$ openclaw agents bind --agent myLife --bind openclaw-weixin:xxx-im-bot

# 解绑
$ openclaw agents unbind --agent mylife --bind openclaw-weixin:xxx-im-bot

# 查看绑定关系,还有 $ openclaw config get bindings
$ openclaw agents bindings
Routing bindings:
- bzwork <- feishu
- mylife <- openclaw-weixin accountId= xxx-im-bot

$ systemctl --user restart openclaw-gateway

配置效果

  "bindings": [
      {
        "type": "route",
        "agentId": "bzwork",
        "match": {
          "channel": "feishu"
        }
      },
      {
        "type": "route",
        "agentId": "mylife",
        "match": {
          "channel": "openclaw-weixin",
          "accountId": "xxx-im-bot"
        }
      }
  ]

发表回复