Technology Encyclopedia Home >玩转OpenClaw | 如何配置多个相互独立的 Agent?

玩转OpenClaw | 如何配置多个相互独立的 Agent?

从 OpenClaw 爆火至今已经过去一月有余,我们看到有非常多的 AI 探险家们在不断探索各种 OpenClaw 的场景和玩法。随着你越来越了解 OpenClaw,渐渐会遇到一个问题:单个 Agent 处理多类任务会带来非常严重的记忆负担,由此会极大程度拉高 Token 消耗,后期往往一个问题可以干掉数十万 Token……

就像一个真正的公司或组织内的成员一样,大家各自处理不同类型的任务,分工明确、职能分化,这几乎是任何一个系统在复杂度达到一定程度后的必由之路。

OpenClaw 同样支持我们完成类似的事情:你可以创建多个相互隔离的 Agent,分别具有不同的人格、技能、记忆、工作空间等,而你要做的,就是定义它们,然后借助它们实现一个“AI 军团”。

首次使用提示: 如果你还没有部署自己的 OpenClaw,建议先从 Tencent Cloud OpenClaw 开始,一键即可在几秒内完成部署
完成实例启动后,再回到这篇教程,继续探索更多进阶玩法。

原理解释与方案说明

在 OpenClaw 内实现多 Agent 的核心机制是:

  • Agent 是隔离的“脑”:拥有独立 workspace(记忆、技能等均在 workspace 中)、独立 sessions。
  • 路由到哪个 Agent:由配置里的 bindings 决定(最具体规则优先)。
  • 每个 Agent 用哪个模型:可在 agents.list[].model 单独配置;运行时会优先用该 Agent 的 model 覆盖默认值(代码路径:resolveDefaultModelForAgent)。

基于上述原理,本文采用的方案是:

  • 默认主 Agent 继续处理全部私聊;
  • 每个群绑定到不同的群组 Agent;
  • 每个 Agent 的记忆、技能、模型均可完全隔离。

当然,你也可以把这部分原理和方案复制给你的 OpenClaw,尝试直接对话让它协助完成配置。不过,在笔者实践的过程中发现,如果只是简单让 OpenClaw 自己完成整个配置流程,很容易因为模型表现差异踩坑。

本文将引导你通过命令行操作,基于飞书群组配置一个与主 Agent 完全隔离的独立 Agent。该 Agent 可以拥有独立的workspace,能够做到上下文、记忆、模型等等完全隔离。

前置条件

在开始配置前,请先确认:

步骤一:创建飞书群组并获取 ID

首先,我们需要创建一个飞书群组并获取其会话ID。

创建飞书群组

  1. 打开飞书客户端,点击 + 按钮。
  2. 选择 创建群组

飞书创建群组入口

  1. 按提示输入名称并添加成员(也可以暂时不添加群成员),完成群组创建。

飞书创建群组并设置名称

获取会话 ID

获取飞书会话 ID(即会话 ID)非常简单,直接在群组设置中复制即可:

  1. 打开群组,点击群组右上角的 ... 按钮。
  2. 选择 设置

飞书群组设置入口

  1. 拉到设置页面最底端,找到群组信息。
  2. 点击 复制 按钮,复制会话 ID。

复制飞书会话 ID

会话 ID 格式类似:oc_5b6799cff4a754c15e5ff3025becc648

**⚠️ 注意:**复制到的会话 ID需要妥善保存,后续配置步骤会用到。建议将会话 ID 保存在本地文本文件中,方便后续使用。

步骤二:登录服务器

获取到会话 ID 后,你需要在腾讯云 Lighthouse 控制台登录到服务器命令行。

  1. 登录腾讯云 Lighthouse 控制台,找到你的 OpenClaw 实例。
  2. 点击实例卡片上的 登录 按钮。
  3. 等待 OrcaTerm 终端窗口打开,跟随页面指引完成登录。

Lighthouse 登录实例与 OrcaTerm 终端示意

步骤三:备份配置文件

在对配置文件进行修改前,强烈建议你先备份原始配置文件,以便在出现问题时可以快速恢复。

执行以下命令备份 OpenClaw 配置文件:

cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup.$(date +%Y%m%d_%H%M%S)

执行完成后,使用以下命令确认备份文件已创建:

ls -la ~/.openclaw/openclaw.json*

查看 OpenClaw 配置备份文件

**⚠️ 注意:**如果在后续配置过程中 OpenClaw 启动失败或行为异常,可以使用以下命令恢复原始配置:
cp ~/.openclaw/openclaw.json.backup.YYYYMMDD_HHMMSS ~/.openclaw/openclaw.json
openclaw gateway restart
请将命令中的 YYYYMMDD_HHMMSS 替换为你实际备份文件名中的时间戳。

步骤四:配置新增 Agent

使用 openclaw agents add 命令添加新的 Agent,你需要把 workspace 路径新 Agent 的名称(ID) 替换为自己想要设置的内容:

openclaw agents add --workspace 工作空间路径 新Agent的名称(ID)

**ℹ️ 说明:**命令参数说明:

--workspace:指定独立的数据空间路径,建议格式为 /root/.openclaw/workspace-feishu-团队名

新Agent的名称(ID):推荐格式为 feishu-团队名-用途

--model:如果需要使用自定义模型,可以添加此参数并填写模型 ID,否则将使用默认模型

这里以创建一个用于写文档的 Agent 为例,命名为 feishu-writer,对应的 workspace 设置为 /root/.openclaw/workspace-feishu-writer

因此需要执行:

openclaw agents add --workspace /root/.openclaw/workspace-feishu-writer feishu-writer

执行上述命令后,如果看到类似如下的输出,说明已成功创建:

Agent: feishu-writer
Workspace: ~/.openclaw/workspace-feishu-writer

openclaw agents add 创建 Agent 输出示例

你也可以运行如下命令验证 Agent 是否添加成功:

openclaw agents list

openclaw agents list 验证 Agent 创建成功

步骤五:配置飞书群组绑定

接下来,配置飞书群组与新 Agent 的绑定关系。

如果你的配置中已存在其他 bindings(如 Telegram 群组绑定),建议先导出当前配置:

openclaw config get bindings > /tmp/bindings-backup.json

然后,使用以下命令添加飞书群组绑定。请将命令中的 oc_5b6799cff4a754c15e5ff3025becc648 替换为你实际获取的会话 ID:

openclaw config set --json bindings '[
  {
    "agentId": "feishu-writer",
    "match": {
      "channel": "feishu",
      "peer": {
        "kind": "group",
        "id": "oc_5b6799cff4a754c15e5ff3025becc648"
      }
    }
  }
]'

配置 bindings 绑定飞书群组与 Agent

❌ 警告:

openclaw config set --json bindings '[...]'整体替换当前的 bindings 配置。也就是说,如果你在命令中只写了一个飞书绑定,原来已经配置好的 QQ、Telegram 等其他绑定都会被覆盖掉。

如果你当前已经有其他绑定:

  1. 先运行 openclaw config get bindings 把现有的绑定复制出来;

  2. 在原有数组的基础上,追加一条飞书群组绑定;

  3. 再用 config set --json bindings '[ 原有绑定..., 新的飞书绑定 ]' 的形式整体写回去。

步骤六:配置飞书群组允许列表

使用以下命令配置飞书群组的允许访问策略:

openclaw config set channels.feishu.groupPolicy allowlist

然后,设置允许访问的群组列表。请将命令中的会话 ID 替换为你实际获取的 ID:

openclaw config set --json channels.feishu.groupAllowFrom '["oc_5b6799cff4a754c15e5ff3025becc648"]'

**✅ 配置说明:**使用 allowlist 策略可以确保只有配置在 groupAllowFrom 中的群组才能访问 OpenClaw,这是一个安全措施。

配置 groupPolicy 和 groupAllowFrom 示例

步骤七:重启 Gateway

重启 Gateway 以加载新配置:

openclaw gateway restart

等待重启完成后,使用以下命令确认 Gateway 状态:

openclaw gateway status

**✅ 成功:**如果 Gateway 状态显示为 running,说明配置文件格式正确且加载成功。

步骤八:添加机器人到群组

现在,将飞书机器人添加到群组中,以便群成员可以直接在群组中使用 AI 助手。

  1. 打开飞书群组,在右上角的更多中找到并点击 设置 按钮,并选择 群机器人

飞书群组设置群机器人入口

  1. 选择你的机器人,添加到群组中。

**⚠️ 注意:**此处添加的机器人和前文与你私聊的是同一个。

在飞书群组中选择机器人

确认将机器人添加到群聊

  1. 确认机器人添加成功后,在群组中会看到机器人入群通知。

飞书群聊机器人入群通知

机器人添加成功后,你可以发送一条测试消息,确认机器人能够正常响应。

**⚠️ 注意:**默认情况下,在群组内和机器人互动需要 @ 它。

在飞书群聊中 @ 机器人进行测试对话

步骤九:测试验证 Agent 隔离效果

配置完成后,我们需要验证 Agent 之间的隔离是否生效。

测试 1:群组消息使用独立 Agent

  1. 在新创建的飞书群组中,向机器人提问:你所在的工作空间路径是什么?
  2. 验证机器人是否返回了新 Agent 的 workspace 路径:/root/.openclaw/workspace-feishu-writer

群聊内查询独立 Agent 的 workspace 路径

测试 2:主 Agent 与独立 Agent 隔离

  1. 与机器人进行 1 对 1 私聊(不通过群组)。
  2. 提问:你所在的工作空间路径是什么?
  3. 验证主 Agent 是否返回了默认的 workspace 路径:/root/.openclaw/workspace

私聊中查询主 Agent 的 workspace 路径

测试 3:数据隔离验证

  1. 在群组中让机器人记住某个信息,例如:记住:我们团队的代号是"北极星"

在群聊中写入团队代号记忆

  1. 在私聊中询问机器人:你记得我们团队的代号是什么吗?
  2. 验证主 Agent 是否无法获取群组中的信息。

私聊中验证主 Agent 是否无法访问群聊记忆

**✅ 成功:**如果主 Agent 回答“我不知道”或类似的回复,说明独立 Agent 和主 Agent 的数据完全隔离,配置成功。

故障排查

问题 1:Gateway 启动失败

如果 Gateway 启动失败,首先检查配置文件格式是否正确:

cat ~/.openclaw/openclaw.json | python3 -m json.tool

如果返回 JSON 解析错误,根据错误提示修正配置文件。

如果配置文件格式正确但 Gateway 仍无法启动,可以恢复备份配置:

cp ~/.openclaw/openclaw.json.backup.YYYYMMDD_HHMMSS ~/.openclaw/openclaw.json
openclaw gateway restart

问题 2:群组中机器人无响应

检查 Gateway 日志,查看是否有错误信息:

openclaw logs --follow

常见原因:

  • 会话 ID 未正确配置到 bindings 中;
  • 会话 ID 未添加到 groupAllowFrom 中;
  • 机器人未正确添加到群组中。

问题 3:Agent 未起到隔离作用

检查 bindings 配置是否正确:

openclaw agents list --bindings

确认:

  • agentId 是否与 openclaw agents list 中看到的 Agent ID 匹配;
  • peer.id 是否为正确的会话 ID。

问题 4:配置命令执行失败

如果在执行 openclaw config set --json 命令时遇到 JSON 格式错误,请确保:

  1. JSON 格式正确,注意引号和逗号的使用;
  2. 字符串必须使用双引号;
  3. 数组的最后一个元素后不要有逗号。

**📝 备注说明:**如果不确定 JSON 格式是否正确,可以使用在线 JSON 校验工具进行验证,或临时使用 openclaw config set 命令仅设置单个字段进行测试。

进阶操作

完成上述配置后,你可以探索为飞书群组配置更多功能:

  • 为独立 Agent 配置自定义模型,提供不同的 AI 能力;
  • 为不同团队创建多个独立 Agent,每个团队拥有专属的 AI 助手;
  • 配置 Agent 的技能和权限,提供更精准的服务。

为 Agent 配置自定义模型

如果需要为独立 Agent 使用特定的模型,可以在创建 Agent 时指定:

openclaw agents add --workspace /root/.openclaw/workspace-feishu-writer --model kitcoding-openai/z-ai/glm4.7 feishu-writer

为多个群组配置不同 Agent

如果需要为多个飞书群组分别配置独立 Agent,可以重复上述步骤:

  1. 为每个群组创建独立 Agent;
  2. bindings 中添加多个群组绑定;
  3. groupAllowFrom 中添加多个会话 ID。

配置示例:

openclaw config set --json bindings '[
  {
    "agentId": "feishu-writer",
    "match": {
      "channel": "feishu",
      "peer": {
        "kind": "group",
        "id": "oc_e4dfb35658c81ce5100add124c3592a8"
      }
    }
  },
  {
    "agentId": "feishu-operations",
    "match": {
      "channel": "feishu",
      "peer": {
        "kind": "group",
        "id": "oc_9f23c45769d92df621Bee02350c4603d"
      }
    }
  }
]'

openclaw config set --json channels.feishu.groupAllowFrom '[
  "oc_e4dfb35658c81ce5100add124c3592a8",
  "oc_9f23c45769d92df621Bee02350c4603d"
]'

常见问题

Q:能否为一个群组配置多个 Agent?
A:目前 OpenClaw 不支持为一个群组配置多个 Agent。每个群组只能绑定一个 Agent,但你可以为多个不同的群组配置不同的 Agent。

Q:独立 Agent 是否继承主 Agent 的配置?
A:独立 Agent 不继承主 Agent 的配置,它们拥有完全独立的 workspace、记忆和状态。但它们可以继承 agents.defaults 中的默认模型和默认 workspace 路径配置。

Q:能否将已配置的 Agent 切换到另一个群组?
A:可以。只需修改 bindings 配置中的 peer.id 为新的会话 ID,同时更新 groupAllowFrom 并重启 Gateway 即可。需要注意的是,原群组中的数据不会自动迁移到新群组。

Q:使用命令行配置会不会比手动编辑配置文件更复杂?
A:对于初学者来说,使用 openclaw agents addopenclaw config set 命令比直接用 nano 等编辑器手动修改配置文件更简单也更安全。这些命令会自动处理配置文件的格式,减少出错的可能性。

Q:如果我想删除已配置的 Agent 怎么办?
A:使用以下命令删除 Agent:

openclaw agents delete feishu-writer

此命令会删除 Agent 的配置以及相关的 workspace 和 state 数据。


🚀 开发者社区与支持

1️⃣ OpenClaw 开发者交流社区

Discord 解锁更多进阶玩法

点击一键加入社群
注:加入后可获取最新插件模板与部署方案

2️⃣ 专属服务支持

加入 Whatsapp / 企业微信享受专属技术支持

渠道 扫描/点击进入
Whatsapp 频道
企业微信

更多详情请访问官方落地页: Tencent Cloud OpenClaw