OpenClaw 多 Agent 实战教程
基于阿里云服务器 + 阿里云百炼(DashScope)Coding Plan,从零搭建 OpenClaw 多 Agent 协作系统,并通过飞书机器人实现每个 Agent 的独立频道通知。
基于阿里云服务器 + 阿里云百炼(DashScope)Coding Plan,从零搭建 OpenClaw 多 Agent 协作系统,并通过飞书机器人实现每个 Agent 的独立频道通知。
目录
- 什么是 OpenClaw
- 阿里云服务器准备
- 安装 OpenClaw
- 配置阿里云百炼(DashScope)Coding Plan 模型
- 配置 OpenClaw 基础
- 配置多 Agent(多角色)
- 飞书机器人创建与配置
- 为每个 Agent 配置飞书机器人
- 通过 AgentToAgent 工具绑定 Channel 并运行多 Agent 协作
- 验证与测试
- 常见问题排查
1. 什么是 OpenClaw
OpenClaw 是一个运行在你自己设备上的个人 AI 助手。它的核心是一个 Gateway(控制平面),负责:
- 连接各种消息渠道(飞书、微信、Telegram、Discord、Slack 等)
- 托管多个隔离的 AI Agent(每个 Agent 有独立的工作空间、身份、会话记录)
- 通过
bindings(绑定规则)将不同渠道/用户/群组的消息路由到不同 Agent
飞书消息 ──────────────────────────────────────────┐
▼
┌─────────────────────────────┐
│ OpenClaw Gateway │
│ (运行在阿里云服务器上) │
│ ws://127.0.0.1:18789 │
└────────────┬────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
Agent: main Agent: coder Agent: ops
(主助手) (代码专家) (运维专家)
Agent to Agent(sessions_* 工具):
sessions_list— 列出当前活跃的所有 Agent 会话sessions_send— 向另一个 Agent 发送消息,实现跨 Agent 协作sessions_spawn— 派生一个子 Agent 执行特定任务sessions_history— 查看某个 Agent 的对话历史
2. 阿里云服务器准备
2.1 推荐配置
| 配置项 | 推荐值 |
|---|---|
| 操作系统 | Alibaba Cloud Linux 3 / Ubuntu 22.04 LTS |
| 规格 | 2 vCPU / 4 GB 内存(最低 1 vCPU / 2 GB) |
| 硬盘 | 20 GB SSD |
| 网络 | 公网 IP(飞书 WebSocket 需要出站网络) |
2.2 安全组配置
在阿里云控制台 → ECS → 安全组,添加以下入站规则(按需开放):
| 端口 | 协议 | 用途 |
|---|---|---|
| 22 | TCP | SSH 管理 |
| 18789 | TCP | OpenClaw Gateway(仅内网访问,不建议公网开放) |
安全建议:Gateway 默认绑定到
127.0.0.1(loopback),不暴露公网。如需远程访问,使用 SSH 隧道。
2.3 连接服务器
ssh root@<your-aliyun-server-ip>
2.4 基础环境准备
# 更新系统
apt update && apt upgrade -y # Ubuntu
# 或
yum update -y # Alibaba Cloud Linux / CentOS
# 安装基础工具
apt install -y curl git vim tmux # Ubuntu
# 或
yum install -y curl git vim tmux # Alibaba Cloud Linux
3. 安装 OpenClaw
3.1 安装 Node.js 22+
OpenClaw 要求 Node.js >= 22。
# 方式一:使用 nvm(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
nvm alias default 22
# 验证版本
node --version # 应显示 v22.x.x
npm --version
# 方式二:NodeSource 官方仓库(Ubuntu)
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
3.2 安装 OpenClaw
# 全局安装最新版
npm install -g openclaw@latest
# 或使用 pnpm(更快)
npm install -g pnpm
pnpm add -g openclaw@latest
# 验证安装
openclaw --version
3.3 启动加速(小内存服务器优化)
# 写入 ~/.bashrc,加速 Node 模块加载
grep -q 'NODE_COMPILE_CACHE' ~/.bashrc || cat >> ~/.bashrc <<'EOF'
export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
mkdir -p /var/tmp/openclaw-compile-cache
export OPENCLAW_NO_RESPAWN=1
EOF
source ~/.bashrc
4. 配置阿里云百炼(DashScope)Coding Plan 模型
4.1 获取阿里云百炼 API Key
- 登录 阿里云百炼控制台
- 进入 API-KEY 管理 → 创建 API Key
- 复制 API Key(格式:
sk-xxxxxxxxxxxxxxxx)
阿里云百炼提供 Coding Plan(代码专项模型),支持通义千问系列及 DeepSeek 等模型,使用 OpenAI 兼容接口。
4.2 在 OpenClaw 中配置 DashScope 自定义 Provider
编辑 ~/.openclaw/openclaw.json(若不存在则创建):
{
// 设置环境变量(推荐用环境变量替代明文写入配置)
env: {
DASHSCOPE_API_KEY: "sk-your-dashscope-key-here",
},
// 配置自定义 Provider:阿里云百炼(DashScope)
models: {
mode: "merge",
providers: {
dashscope: {
baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
apiKey: "${DASHSCOPE_API_KEY}",
api: "openai-completions",
models: [
{
id: "qwen-coder-plus-latest",
name: "通义千问 Coder Plus(Coding Plan)",
contextWindow: 131072,
maxTokens: 8192,
},
{
id: "qwen-coder-turbo-latest",
name: "通义千问 Coder Turbo(快速版)",
contextWindow: 131072,
maxTokens: 8192,
},
{
id: "deepseek-v3",
name: "DeepSeek V3(通用)",
contextWindow: 65536,
maxTokens: 8192,
},
{
id: "deepseek-coder-v3",
name: "DeepSeek Coder V3(代码)",
contextWindow: 65536,
maxTokens: 8192,
},
],
},
},
},
// 默认使用 Coding Plan 模型
agents: {
defaults: {
model: {
primary: "dashscope/qwen-coder-plus-latest",
},
},
},
}
说明:
api: "openai-completions"表示使用 OpenAI 兼容接口。DashScope 提供的接口与 OpenAI/v1/chat/completions兼容。
4.3 验证模型连接
# 列出可用模型
openclaw models list
# 测试模型响应
openclaw agent --message "你好,请用一句话介绍自己" --thinking low
5. 配置 OpenClaw 基础
5.1 运行引导向导
# 交互式引导(推荐首次使用)
openclaw onboard --install-daemon
向导会:
- 设置模型(选择 DashScope 或已配置的模型)
- 创建默认 workspace(
~/.openclaw/workspace) - 安装 systemd 守护进程(自动开机启动)
5.2 手动初始化配置
若跳过向导,手动创建最小配置:
mkdir -p ~/.openclaw/workspace
创建 ~/.openclaw/openclaw.json:
{
// Gateway 配置
gateway: {
bind: "loopback", // 绑定到本地回环地址(安全)
port: 18789,
mode: "local",
},
// 日志
logging: {
level: "info",
},
// 模型(使用第 4 步配置的 DashScope)
agents: {
defaults: {
model: {
primary: "dashscope/qwen-coder-plus-latest",
},
workspace: "~/.openclaw/workspace",
},
},
models: {
mode: "merge",
providers: {
dashscope: {
baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
apiKey: "${DASHSCOPE_API_KEY}",
api: "openai-completions",
models: [
{ id: "qwen-coder-plus-latest", name: "Qwen Coder Plus" },
{ id: "qwen-coder-turbo-latest", name: "Qwen Coder Turbo" },
{ id: "deepseek-v3", name: "DeepSeek V3" },
],
},
},
},
}
5.3 启动 Gateway
# 前台启动(调试用)
openclaw gateway --port 18789 --verbose
# 后台启动(推荐生产)
nohup openclaw gateway run --bind loopback --port 18789 > /tmp/openclaw-gateway.log 2>&1 &
# 查看日志
tail -f /tmp/openclaw-gateway.log
5.4 安装为 systemd 服务(自动启动)
openclaw gateway install
systemctl --user enable openclaw
systemctl --user start openclaw
systemctl --user status openclaw
5.5 验证 Gateway 状态
openclaw gateway status
openclaw doctor
6. 配置多 Agent(多角色)
6.1 多 Agent 概念
每个 Agent 是一个完全隔离的"大脑",拥有:
- 独立的 workspace(工作目录、身份文件、记忆文件)
- 独立的 agentDir(认证配置、模型注册)
- 独立的 sessions(对话历史,互不干扰)
6.2 使用向导创建 Agent
# 创建"代码专家" Agent
openclaw agents add coder
# 创建"运维专家" Agent
openclaw agents add ops
# 创建"产品助手" Agent
openclaw agents add product
# 查看所有 Agent
openclaw agents list --bindings
6.3 手动配置多 Agent(完整示例)
编辑 ~/.openclaw/openclaw.json,添加 agents.list 和 bindings:
{
// ===== 多 Agent 定义 =====
agents: {
defaults: {
model: {
primary: "dashscope/qwen-coder-plus-latest",
},
},
list: [
// Agent 1:主助手(默认)
{
id: "main",
name: "小助手",
default: true,
workspace: "~/.openclaw/workspace-main",
agentDir: "~/.openclaw/agents/main/agent",
},
// Agent 2:代码专家
{
id: "coder",
name: "代码专家",
workspace: "~/.openclaw/workspace-coder",
agentDir: "~/.openclaw/agents/coder/agent",
// 代码专家使用更强的 Coding 模型
model: "dashscope/qwen-coder-plus-latest",
},
// Agent 3:运维专家
{
id: "ops",
name: "运维专家",
workspace: "~/.openclaw/workspace-ops",
agentDir: "~/.openclaw/agents/ops/agent",
model: "dashscope/deepseek-v3",
},
// Agent 4:产品助手
{
id: "product",
name: "产品助手",
workspace: "~/.openclaw/workspace-product",
agentDir: "~/.openclaw/agents/product/agent",
model: "dashscope/qwen-coder-turbo-latest",
},
],
},
// ===== Agent to Agent 工具配置 =====
tools: {
agentToAgent: {
enabled: true,
allow: ["main", "coder", "ops", "product"], // 允许互发消息的 Agent 列表
},
},
}
6.4 为每个 Agent 创建 workspace 文件
# 为每个 Agent 创建 workspace 目录
for agent in main coder ops product; do
mkdir -p ~/.openclaw/workspace-$agent
mkdir -p ~/.openclaw/agents/$agent/agent
done
主助手(main)的身份文件 ~/.openclaw/workspace-main/AGENTS.md:
# 主助手
你是一个全能的 AI 助手,负责:
- 接收用户的综合性需求
- 将代码任务委托给代码专家 Agent
- 将运维任务委托给运维专家 Agent
- 协调各 Agent 完成复杂任务
## 协作规则
- 遇到代码开发任务,使用 sessions_send 转发给 coder Agent
- 遇到服务器/部署任务,使用 sessions_send 转发给 ops Agent
- 遇到产品需求整理,使用 sessions_send 转发给 product Agent
代码专家(coder)的身份文件 ~/.openclaw/workspace-coder/AGENTS.md:
# 代码专家
你是一位资深软件工程师,专注于:
- Python / Node.js / TypeScript 代码开发
- 代码审查与重构
- 技术方案设计
- 单元测试编写
## 工作规范
- 代码必须有注释
- 提交前确认代码可运行
- 遇到架构问题主动咨询主助手
运维专家(ops)的身份文件 ~/.openclaw/workspace-ops/AGENTS.md:
# 运维专家
你是一位 DevOps 工程师,专注于:
- Linux 服务器管理
- Docker / Kubernetes 部署
- CI/CD 流水线配置
- 监控与告警配置
## 工作规范
- 高危操作(rm -rf、数据库迁移)必须二次确认
- 所有操作记录日志
- 配置变更前备份
产品助手(product)的身份文件 ~/.openclaw/workspace-product/AGENTS.md:
# 产品助手
你是一位产品经理助手,专注于:
- 需求文档整理与分析
- 用户故事拆解
- 功能优先级排序
- PRD 文档撰写
## 工作规范
- 需求必须量化(用数字描述目标)
- 提供用户价值说明
- 输出结构化文档
7. 飞书机器人创建与配置
OpenClaw 官方支持飞书(Feishu/Lark)渠道,使用 WebSocket 长连接接收消息,无需公网 Webhook URL。
7.1 创建飞书企业自建应用(每个 Agent 一个)
我们需要为每个 Agent 创建独立的飞书应用(Bot),这样每个 Agent 在飞书中就是一个独立的机器人账号。
以创建「代码专家」机器人为例:
Step 1:打开飞书开放平台
国内飞书:https://open.feishu.cn/app
国际 Lark:https://open.larksuite.com/app
Step 2:创建企业自建应用
- 点击 创建企业自建应用
- 填写应用名称(如:
代码专家 Bot) - 填写应用描述
- 选择应用图标
Step 3:获取凭证
进入 凭证与基础信息 页面,复制:
- App ID(格式:
cli_xxxxxxxxxxxxxxxx) - App Secret
Step 4:配置权限
进入 权限管理 → 点击 批量导入,粘贴以下 JSON:
{
"scopes": {
"tenant": [
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource",
"im:chat.members:bot_access",
"im:chat.access_event.bot_p2p_chat:read",
"contact:user.employee_id:readonly",
"application:bot.menu:write"
],
"user": [
"im:chat.access_event.bot_p2p_chat:read"
]
}
}
Step 5:启用机器人能力
进入 应用功能 → 机器人:
- 开启机器人功能
- 设置机器人名称(与应用名保持一致)
Step 6:配置事件订阅
⚠️ 必须先完成 OpenClaw 飞书插件配置(第 8 步),再回来配置事件订阅。
进入 事件订阅:
- 选择 使用长连接接收事件(WebSocket)(无需公网地址)
- 添加事件:
im.message.receive_v1
Step 7:发布应用
进入 版本管理与发布:
- 创建版本
- 提交审核并发布
企业自建应用通常自动审核通过。
7.2 重复操作:为所有 Agent 创建独立飞书应用
按照上述步骤,分别创建以下飞书应用:
| Agent 名称 | 飞书应用名称 | 说明 |
|---|---|---|
| main | 主助手 Bot | 接收日常对话 |
| coder | 代码专家 Bot | 接收代码相关消息 |
| ops | 运维专家 Bot | 接收运维相关消息 |
| product | 产品助手 Bot | 接收产品相关消息 |
记录每个应用的 App ID 和 App Secret,下一步使用。
8. 为每个 Agent 配置飞书机器人
8.1 安装飞书插件
openclaw plugins install @openclaw/feishu
8.2 配置多飞书账号(每个 Agent 对应一个)
编辑 ~/.openclaw/openclaw.json,添加飞书渠道多账号配置:
{
// ===== 飞书渠道配置(多账号)=====
channels: {
feishu: {
enabled: true,
// 默认账号
defaultAccount: "main",
// 国内飞书用 "feishu",国际 Lark 用 "lark"
domain: "feishu",
// DM 策略:pairing = 新用户需要配对验证(安全)
dmPolicy: "pairing",
// 群组策略:open = 允许所有群,requireMention = 需要 @机器人
groupPolicy: "open",
// 多账号配置:每个 Agent 对应一个飞书 Bot
accounts: {
// 主助手 Bot
main: {
appId: "cli_主助手的AppID",
appSecret: "主助手的AppSecret",
botName: "主助手",
typingIndicator: true,
streaming: true,
},
// 代码专家 Bot
coder: {
appId: "cli_代码专家的AppID",
appSecret: "代码专家的AppSecret",
botName: "代码专家",
typingIndicator: true,
streaming: true,
},
// 运维专家 Bot
ops: {
appId: "cli_运维专家的AppID",
appSecret: "运维专家的AppSecret",
botName: "运维专家",
typingIndicator: true,
streaming: true,
},
// 产品助手 Bot
product: {
appId: "cli_产品助手的AppID",
appSecret: "产品助手的AppSecret",
botName: "产品助手",
typingIndicator: true,
streaming: true,
},
},
},
},
// ===== 路由绑定:飞书账号 → Agent =====
bindings: [
// 主助手 Bot → main Agent
{
agentId: "main",
match: {
channel: "feishu",
accountId: "main",
},
},
// 代码专家 Bot → coder Agent
{
agentId: "coder",
match: {
channel: "feishu",
accountId: "coder",
},
},
// 运维专家 Bot → ops Agent
{
agentId: "ops",
match: {
channel: "feishu",
accountId: "ops",
},
},
// 产品助手 Bot → product Agent
{
agentId: "product",
match: {
channel: "feishu",
accountId: "product",
},
},
],
}
8.3 配对飞书用户
启动 Gateway 后,在飞书中找到你的机器人并发送一条消息:
# 查看待配对请求
openclaw pairing list feishu
# 批准配对(CODE 是飞书机器人回复的配对码)
openclaw pairing approve feishu <CODE>
不同账号分别配对:
# 查看代码专家 Bot 的配对请求
openclaw pairing list feishu --account coder
openclaw pairing approve feishu --account coder <CODE>
8.4 获取飞书群组 ID(用于群路由)
如需将特定飞书群绑定到特定 Agent:
# 启动 Gateway 并查看日志
openclaw gateway --verbose
# 在目标飞书群中 @对应的机器人,日志中会显示 chat_id
openclaw logs --follow | grep chat_id
群 ID 格式:oc_xxxxxxxxxxxxxxxxxxxxxxxxxx
9. 通过 AgentToAgent 工具绑定 Channel 并运行多 Agent 协作
9.1 AgentToAgent 工具介绍
OpenClaw 的 sessions_* 工具族(即 AgentToAgent)允许 Agent 之间互相发送消息,实现协作:
| 工具 | 功能 |
|---|---|
sessions_list |
列出所有活跃的 Agent 会话 |
sessions_send |
向指定 Agent 发消息,等待回复 |
sessions_spawn |
派生子 Agent 执行任务,结果回传 |
sessions_history |
查看 Agent 的对话历史 |
9.2 在配置中启用 AgentToAgent
在 ~/.openclaw/openclaw.json 中确认以下配置已启用:
{
tools: {
agentToAgent: {
enabled: true,
allow: ["main", "coder", "ops", "product"],
},
sessions: {
// "tree" = 只能看到自己和自己派生的子 Agent 会话
// "all" = 可以看到所有 Agent 的会话
visibility: "all",
},
},
agents: {
list: [
{
id: "main",
// 允许派生其他 Agent 为子 Agent
subagents: {
allowAgents: ["coder", "ops", "product"],
},
},
// ...其他 Agent
],
},
}
9.3 示例场景:主助手协调多 Agent 完成任务
用户 在飞书发消息给「主助手 Bot」:
帮我开发一个 Python FastAPI 接口,部署到我的服务器上,并整理一份 API 文档。
主助手(main Agent) 的执行逻辑(通过 sessions_list 和 sessions_send):
主助手收到消息
│
├─ sessions_list() # 查看当前活跃的 Agent
│
├─ sessions_send( # 委托代码专家开发
│ sessionKey: "agent:coder:main",
│ message: "请开发一个 Python FastAPI 接口,
│ 包含 GET /users 和 POST /users 两个端点,
│ 返回 JSON 格式数据。提供完整可运行代码。"
│ )
│ → 等待代码专家回复 → 获得代码
│
├─ sessions_send( # 委托运维专家部署
│ sessionKey: "agent:ops:main",
│ message: "请将以下 FastAPI 代码部署到服务器:
│ [代码内容]
│ 使用 Docker,端口映射到 8080"
│ )
│ → 等待运维专家回复 → 获得部署结果
│
└─ 整合两个 Agent 的回复,返回给用户
9.4 在飞书中查看协作效果
- 在「主助手」的飞书对话中:可以看到主助手整合了各专家的回复
- 在「代码专家」的飞书对话中:可以看到代码专家接收到了来自主助手的任务委托(带有
[来自主助手]标注) - 在「运维专家」的飞书对话中:可以看到运维专家接收到了部署任务
9.5 使用 sessions_spawn 派生子 Agent(异步任务)
适合耗时较长的任务,sessions_spawn 是非阻塞的:
在飞书对话中,主助手可以发起:
# 示例:主助手 spawn 一个代码审查子 Agent
sessions_spawn(
task: "请对以下代码进行全面审查,重点检查安全性和性能:[代码内容]",
agentId: "coder", # 使用代码专家身份
label: "代码审查任务",
model: "dashscope/qwen-coder-plus-latest",
)
子 Agent 完成后,结果会自动发送回主助手的飞书对话。
9.6 配置飞书群组的多 Agent 路由
可以将不同的飞书群绑定到不同的 Agent:
{
bindings: [
// 技术群 → 代码专家
{
agentId: "coder",
match: {
channel: "feishu",
accountId: "coder",
peer: {
kind: "group",
id: "oc_技术群的chat_id",
},
},
},
// 运维群 → 运维专家
{
agentId: "ops",
match: {
channel: "feishu",
accountId: "ops",
peer: {
kind: "group",
id: "oc_运维群的chat_id",
},
},
},
// 产品需求群 → 产品助手
{
agentId: "product",
match: {
channel: "feishu",
accountId: "product",
peer: {
kind: "group",
id: "oc_产品群的chat_id",
},
},
},
],
}
10. 验证与测试
10.1 检查 Gateway 和所有 Agent 状态
# 检查 Gateway 运行状态
openclaw gateway status
# 列出所有 Agent 及其绑定
openclaw agents list --bindings
# 检查所有渠道连接状态
openclaw channels status --probe
# 综合健康检查
openclaw doctor
预期输出示例:
✓ Gateway running on port 18789
✓ Agent main workspace: ~/.openclaw/workspace-main
✓ Agent coder workspace: ~/.openclaw/workspace-coder
✓ Agent ops workspace: ~/.openclaw/workspace-ops
✓ Agent product workspace: ~/.openclaw/workspace-product
✓ Feishu [main] connected (WebSocket)
✓ Feishu [coder] connected (WebSocket)
✓ Feishu [ops] connected (WebSocket)
✓ Feishu [product] connected (WebSocket)
10.2 测试基础对话
# 直接向 main Agent 发送测试消息
openclaw agent --message "你好,请介绍一下你自己" --thinking low
# 向指定 Agent 发送消息
openclaw agent --agent coder --message "写一个 Python hello world"
10.3 测试 Agent 间通信
# 查看活跃的 Agent 会话
openclaw agent --message "请用 sessions_list 列出当前所有活跃的 Agent 会话"
# 测试跨 Agent 消息
openclaw agent --message "请用 sessions_send 向代码专家 Agent 发送一条测试消息:'你好,代码专家!'"
10.4 查看实时日志
# 查看 Gateway 日志
openclaw logs --follow
# 查看指定 Agent 的会话日志
tail -f ~/.openclaw/agents/main/sessions/*.jsonl | python3 -m json.tool
10.5 完整配置文件示例
~/.openclaw/openclaw.json 最终完整示例:
{
// Gateway 配置
gateway: {
bind: "loopback",
port: 18789,
mode: "local",
},
// 环境变量
env: {
DASHSCOPE_API_KEY: "sk-your-dashscope-api-key",
},
// 模型配置:阿里云百炼 DashScope
models: {
mode: "merge",
providers: {
dashscope: {
baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1",
apiKey: "${DASHSCOPE_API_KEY}",
api: "openai-completions",
models: [
{ id: "qwen-coder-plus-latest", name: "Qwen Coder Plus" },
{ id: "qwen-coder-turbo-latest", name: "Qwen Coder Turbo" },
{ id: "deepseek-v3", name: "DeepSeek V3" },
],
},
},
},
// Agent 配置
agents: {
defaults: {
model: { primary: "dashscope/qwen-coder-plus-latest" },
},
list: [
{ id: "main", name: "主助手", default: true, workspace: "~/.openclaw/workspace-main", agentDir: "~/.openclaw/agents/main/agent", subagents: { allowAgents: ["coder", "ops", "product"] } },
{ id: "coder", name: "代码专家", workspace: "~/.openclaw/workspace-coder", agentDir: "~/.openclaw/agents/coder/agent", model: "dashscope/qwen-coder-plus-latest" },
{ id: "ops", name: "运维专家", workspace: "~/.openclaw/workspace-ops", agentDir: "~/.openclaw/agents/ops/agent", model: "dashscope/deepseek-v3" },
{ id: "product", name: "产品助手", workspace: "~/.openclaw/workspace-product", agentDir: "~/.openclaw/agents/product/agent", model: "dashscope/qwen-coder-turbo-latest" },
],
},
// AgentToAgent 工具
tools: {
agentToAgent: {
enabled: true,
allow: ["main", "coder", "ops", "product"],
},
sessions: {
visibility: "all",
},
},
// 飞书渠道:多账号
channels: {
feishu: {
enabled: true,
defaultAccount: "main",
domain: "feishu",
dmPolicy: "pairing",
groupPolicy: "open",
accounts: {
main: { appId: "cli_主助手AppID", appSecret: "主助手AppSecret", botName: "主助手", streaming: true },
coder: { appId: "cli_代码专家AppID", appSecret: "代码专家AppSecret", botName: "代码专家", streaming: true },
ops: { appId: "cli_运维专家AppID", appSecret: "运维专家AppSecret", botName: "运维专家", streaming: true },
product: { appId: "cli_产品助手AppID", appSecret: "产品助手AppSecret", botName: "产品助手", streaming: true },
},
},
},
// 路由绑定
bindings: [
{ agentId: "main", match: { channel: "feishu", accountId: "main" } },
{ agentId: "coder", match: { channel: "feishu", accountId: "coder" } },
{ agentId: "ops", match: { channel: "feishu", accountId: "ops" } },
{ agentId: "product", match: { channel: "feishu", accountId: "product" } },
],
}
11. 常见问题排查
Q1:飞书机器人不响应消息
# 1. 检查 Gateway 是否运行
openclaw gateway status
# 2. 检查飞书渠道连接
openclaw channels status --probe
# 3. 查看实时日志
openclaw logs --follow
# 4. 确认飞书应用已发布(事件订阅选了"长连接")
# 5. 确认权限包含 im:message:send_as_bot
Q2:模型调用报错(DashScope)
# 检查 API Key 是否正确
echo $DASHSCOPE_API_KEY
# 测试 DashScope 直接 API 调用
curl -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"qwen-coder-turbo-latest","messages":[{"role":"user","content":"hello"}]}'
Q3:Agent 间通信不生效
# 检查 tools.agentToAgent.enabled 是否为 true
openclaw config get tools.agentToAgent
# 确认 allow 列表包含了所有需要互通的 Agent ID
openclaw agents list
Q4:Gateway 启动失败
# 查看详细错误
openclaw gateway --verbose 2>&1 | head -50
# 检查端口是否被占用
ss -ltnp | grep 18789
# 杀掉旧进程重启
pkill -f openclaw-gateway
nohup openclaw gateway run --bind loopback --port 18789 > /tmp/openclaw-gateway.log 2>&1 &
Q5:飞书用户配对问题
# 查看待配对列表
openclaw pairing list feishu
# 批准特定账号的配对
openclaw pairing approve feishu --account coder <CODE>
# 开放 DM(跳过配对验证,慎用)
# 在配置中设置 dmPolicy: "open",并在 allowFrom 中添加 "*"
Q6:重启 Gateway 使配置生效
# 修改配置后重启 Gateway
openclaw gateway restart
# 验证配置已加载
openclaw doctor
openclaw agents list --bindings
参考资料
- OpenClaw 官方文档:https://docs.openclaw.ai
- 飞书开放平台:https://open.feishu.cn
- 阿里云百炼控制台:https://bailian.console.aliyun.com
- Multi-Agent 配置参考:https://docs.openclaw.ai/concepts/multi-agent
- Session Tools(AgentToAgent):https://docs.openclaw.ai/concepts/session-tool
- Feishu 渠道文档:https://docs.openclaw.ai/channels/feishu
- VPS 部署指南:https://docs.openclaw.ai/vps
更多推荐




所有评论(0)