基于阿里云服务器 + 阿里云百炼(DashScope)Coding Plan,从零搭建 OpenClaw 多 Agent 协作系统,并通过飞书机器人实现每个 Agent 的独立频道通知。


目录

  1. 什么是 OpenClaw
  2. 阿里云服务器准备
  3. 安装 OpenClaw
  4. 配置阿里云百炼(DashScope)Coding Plan 模型
  5. 配置 OpenClaw 基础
  6. 配置多 Agent(多角色)
  7. 飞书机器人创建与配置
  8. 为每个 Agent 配置飞书机器人
  9. 通过 AgentToAgent 工具绑定 Channel 并运行多 Agent 协作
  10. 验证与测试
  11. 常见问题排查

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

  1. 登录 阿里云百炼控制台
  2. 进入 API-KEY 管理 → 创建 API Key
  3. 复制 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

向导会:

  1. 设置模型(选择 DashScope 或已配置的模型)
  2. 创建默认 workspace(~/.openclaw/workspace
  3. 安装 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.listbindings

{
  // ===== 多 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:创建企业自建应用
  1. 点击 创建企业自建应用
  2. 填写应用名称(如:代码专家 Bot
  3. 填写应用描述
  4. 选择应用图标
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:启用机器人能力

进入 应用功能机器人

  1. 开启机器人功能
  2. 设置机器人名称(与应用名保持一致)
Step 6:配置事件订阅

⚠️ 必须先完成 OpenClaw 飞书插件配置(第 8 步),再回来配置事件订阅。

进入 事件订阅

  1. 选择 使用长连接接收事件(WebSocket)(无需公网地址)
  2. 添加事件:im.message.receive_v1
Step 7:发布应用

进入 版本管理与发布

  1. 创建版本
  2. 提交审核并发布

企业自建应用通常自动审核通过。

7.2 重复操作:为所有 Agent 创建独立飞书应用

按照上述步骤,分别创建以下飞书应用:

Agent 名称 飞书应用名称 说明
main 主助手 Bot 接收日常对话
coder 代码专家 Bot 接收代码相关消息
ops 运维专家 Bot 接收运维相关消息
product 产品助手 Bot 接收产品相关消息

记录每个应用的 App IDApp 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_listsessions_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 在飞书中查看协作效果

  1. 在「主助手」的飞书对话中:可以看到主助手整合了各专家的回复
  2. 在「代码专家」的飞书对话中:可以看到代码专家接收到了来自主助手的任务委托(带有 [来自主助手] 标注)
  3. 在「运维专家」的飞书对话中:可以看到运维专家接收到了部署任务

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

参考资料

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐