OpenClaw 多 Agent 架构与 Telegram 机器人全链路接入指南

折腾了一天,终于完成了+OpenClaw+部署的一个重要里程碑:从单体+Agent+进化到了由多个+Agent+独立工作区和专属+Telegram+机器人组成的“专家团”架构。每个+Agent+代理都可以有自己独立的工作空间,独立的职责和记忆,互不干扰。通过主+Agent+指挥子+Agent+更好的完成工作,还是很好玩的。过程中解决了不少关于权限、安全和模型适配的硬核问题。

以下是本次架构升级的技术复盘与实战总结。

架构转型:从个人到团队

不同于简单的“一个机器人管所有”,多+Agent+采取了物理隔离的绑定策略,让每个+Agent+拥有独立的身份。

独立+Agent+模式:通过+openclaw+agents+add+创建拥有独立身份、工作空间和会话状态的+Agent。

扁平化工作区:采用官方推荐的+~/.openclaw/workspace-<agent-id>+结构,确保文件系统互不干扰,逻辑清晰。

比如我们创建两个+Agent,investor+负责投资分析,blogger+负责写文章,下面介绍这两个+Agent+的绑定和使用:(也可以直接告诉+OpenClaw+增加两个+Agent,并把生成的+token+直接发给它进行添加和)

1.+注册与添加通道

首先通过+@BotFather 分别创建+bots+获取+Token,在+OpenClaw+中,使用以下命令添加:

# 添加多个 Telegram 账户
openclaw channels add --channel telegram --token <TOKEN_1> --account investor_bot
openclaw channels add --channel telegram --token <TOKEN_2> --account blogger_bot

2.+路由绑定+(Routing+Bindings)

通过绑定将特定的+Telegram+账号流量直接导向对应的+Agent+工作区:

# 将机器人账户与 Agent 实例绑定
openclaw agents bind --agent investor --bind telegram:investor_bot
openclaw agents bind --agent blogger --bind telegram:blogger_bot

创建群组:建立工作群

创建群聊

首先创建群聊,将机器人拉进群。需要注意,机器人加群的一两个前提:

  • 开启允许加群权限

    在  @BotFather 聊天窗口发送+/mybots+查看机器人列表,点击+Allow+Groups?+确保是+enable+状态。


  • 关闭群组隐私

    返回设置,点击 Groups+Privacy 确保是 disabled 状态。

  • 注意:必须将机器人上面两项设置完再拉进群,否则需要从群组中踢出并重新加入,该设置才会生效。

    配置+groupPolicy

    在+openclaw.json+中,进行以下调整:

    测试阶段:将+groupPolicy+设为+open,允许处理所有入站消息。

    加固阶段:改为+allowlist,并精准配置+groupAllowFrom

    不过我设置之后机器人就罢工了,如果你也这样,还是把  groupPolicy 设为 open 吧。

    执行命令示例:(也可以直接修改配置文件)

    # 设置允许响应的群组 ID(需先通过 /id 指令获取)
    openclaw config set channels.telegram.accounts.investor_bot.groupAllowFrom '["-100"]'
    # 开启白名单策略
    openclaw config set channels.telegram.accounts.investor_bot.groupPolicy allowlist

     策略分配:为专家选择“最强大脑”

    不同的+Agent+职责对应不同的模型特质。根据模型评测结果重新分配算力,以下可以作为参考:(可以让+OpenClaw+去自动设置)

  • Gemini+3+Flash)+➔+投资分析+&+前端工程:追求极致的工具调用(Tool+Calling)速度和代码推导能力。

  • MiniMax-M2.5+➔+博客写作:利用其在中文语境下卓越的叙事逻辑和长文本润色能力。

  • Qwen+3.5+27B➔+系统运维:取其在+Linux+指令执行上的高稳定性。

下面是一份+openclaw.json+配置部分参考:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "google/gemini-3-flash-preview",
        "fallbacks": [
          "scnet/MiniMax-M2.5",
          "scnet/Qwen3-235B-A22B"
        ]
      },
      "models": {
        "google/gemini-3-flash-preview": {
          "alias": "g3"
        },
        "scnet/Qwen3-235B-A22B": {
          "alias": "Qwen"
        },
        "scnet/MiniMax-M2.5": {
          "alias": "MiniMax"
        }
      }
    },
    "list": [
      {
        "id": "main",
        "model": "g3"
      },
      {
        "id": "investor",
        "name": "investor",
        "workspace": "/home/node/.openclaw/workspace-investor",
        "agentDir": "/home/node/.openclaw/agents/investor",
        "model": "g3"
      },
      {
        "id": "blogger",
        "name": "blogger",
        "workspace": "/home/node/.openclaw/workspace-blogger",
        "agentDir": "/home/node/.openclaw/agents/blogger",
        "model": "scnet/MiniMax-M2.5"
      }
    ]
  },
  "bindings": [
    {
      "type": "route",
      "agentId": "investor",
      "match": {
        "channel": "telegram",
        "accountId": "investor_bot",
        "peer": {
          "kind": "group",
          "id": "-1001234567890"
        }
      }
    },
    {
      "type": "route",
      "agentId": "blogger",
      "match": {
        "channel": "telegram",
        "accountId": "blogger_bot",
        "peer": {
          "kind": "group",
          "id": "-1001234567890"
        }
      }
    }
  ],
  "channels": {
    "telegram": {
      "enabled": true,
      "dmPolicy": "pairing",
      "groupPolicy": "open",
      "groups": {
        "*": {
          "requireMention": true
        }
      },
      "streaming": "partial",
      "accounts": {
        "default": {
          "dmPolicy": "pairing",
          "botToken": "123456789:AAbbccDDee",
          "groupPolicy": "open"
        },
        "investor_bot": {
          "enabled": true,
          "dmPolicy": "pairing",
          "botToken": "123456789:AAbbccDDee",
          "groupPolicy": "open"
        },
        "blogger_bot": {
          "enabled": true,
          "dmPolicy": "pairing",
          "botToken": "123456789:AAbbccDDee",
          "groupPolicy": "open"
        }
      }
    }
  },
  "plugins": {
    "allow": [
      "telegram"
    ]
  }
}

避坑清单与注意事项

1.+Token+唯一性:一个+Bot+Token+只能在一个+OpenClaw+实例中使用,多处登录会导致+WebSocket+频繁断开。

2.+Emoji+标识:在+openclaw+agents+set-identity+中一定要设置+Emoji。当你在群里同时+@+多个机器人时,不同的+Emoji+能帮你快速分辨回复来源。

3.+Identity.md+步调一致:确保+openclaw.json+中的+agentId+与工作区内的+IDENTITY.md+描述一致,避免逻辑错位。

4.+日志监控:如果机器人不回话,第一时间执行+openclaw+channels+logs。如果日志里没有入站信号,那一定是+Telegram+的+Privacy+Mode+或群组权限没开。

未经允许不得转载:前端资源网 - w3h5 » OpenClaw 多 Agent 架构与 Telegram 机器人全链路接入指南

赞 (0)

评论 沙发

Avatar

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)