Skip to content

飞书集成

通过 OpenClaw 和 clawdbot-feishu 插件,让莫扎特在飞书中工作。

架构概览

┌──────────────┐     WebSocket      ┌──────────────────┐
│    飞书      │◄──────────────────►│  飞书开放平台     │
│   用户端     │                    │  (事件订阅)      │
└──────────────┘                    └────────┬─────────┘


                                    ┌──────────────────┐
                                    │  clawdbot-feishu │
                                    │  (OpenClaw 插件) │
                                    └────────┬─────────┘


                                    ┌──────────────────┐
                                    │    OpenClaw      │
                                    │   (AI Gateway)   │
                                    └────────┬─────────┘


                                    ┌──────────────────┐
                                    │   Claude API     │
                                    │  / Claude Code   │
                                    └──────────────────┘

前置条件

  • 飞书企业账号(管理员权限)
  • Node.js 18+
  • Anthropic API Key
  • 一台可公网访问的服务器(用于 Webhook,可选)

第一步:创建飞书应用

1.1 登录飞书开放平台

访问 飞书开放平台 并登录。

1.2 创建应用

  1. 点击 创建企业自建应用
  2. 填写应用信息:
    • 应用名称:莫扎特
    • 应用描述:AI CTO - 智能开发助手
    • 应用图标:上传一个合适的图标

1.3 配置权限

权限管理 中开启以下权限:

消息与群组:

  • im:message - 获取与发送单聊、群组消息
  • im:message.group_at_msg - 接收群聊中 @ 机器人消息
  • im:message.p2p_msg - 接收用户发给机器人的单聊消息
  • im:resource - 获取与上传图片或文件资源

通讯录:

  • contact:user.base:readonly - 获取用户基本信息

1.4 配置事件订阅

重要

这一步经常被遗漏,会导致机器人无法接收消息!

  1. 进入 事件订阅 页面
  2. 配置请求地址(WebSocket 模式可跳过)
  3. 添加事件:
    • im.message.receive_v1 - 接收消息

1.5 获取凭证

记录以下信息:

  • App ID: cli_xxxxxxxx
  • App Secret: xxxxxxxxxxxxxxxx

第二步:安装 OpenClaw

2.1 安装 OpenClaw CLI

bash
npm install -g openclaw

2.2 运行引导向导

bash
openclaw onboard

按提示完成:

  1. 设置 Anthropic API Key
  2. 选择连接模式
  3. 配置基本参数

2.3 安装飞书插件

bash
openclaw plugins install @m1heng-clawd/feishu

第三步:配置飞书频道

3.1 添加飞书凭证

bash
openclaw config set feishu.app_id "cli_xxxxxxxx"
openclaw config set feishu.app_secret "xxxxxxxxxxxxxxxx"

或直接编辑配置文件:

yaml
# ~/.openclaw/config.yaml
channels:
  feishu:
    app_id: "cli_xxxxxxxx"
    app_secret: "xxxxxxxxxxxxxxxx"
    connection_mode: "websocket"  # 或 "webhook"
    enabled: true

3.2 选择连接模式

WebSocket 模式 (推荐):

  • 无需公网服务器
  • 实时双向通信
  • 适合开发和小规模使用

Webhook 模式:

  • 需要公网可访问的 HTTPS 地址
  • 更稳定,适合生产环境
  • 配置 Webhook URL: https://your-domain.com/webhook/feishu

第四步:启动服务

4.1 开发模式

bash
openclaw start

4.2 生产模式(后台服务)

bash
# 安装为系统服务
openclaw service install

# 启动服务
openclaw service start

# 查看状态
openclaw service status

4.3 使用 PM2 管理

bash
# 安装 PM2
npm install -g pm2

# 启动 OpenClaw
pm2 start openclaw -- start

# 保存进程列表
pm2 save

# 设置开机自启
pm2 startup

第五步:在飞书中使用

5.1 添加机器人到群组

  1. 打开目标群聊
  2. 点击群设置 → 群机器人
  3. 添加 莫扎特 机器人

5.2 开始对话

在群里 @莫扎特 或私聊机器人:

@莫扎特 你好,介绍一下你自己

莫扎特会回复:

你好!我是莫扎特,Mooting 的 AI CTO。

我可以帮助你:
📝 编写和审查代码
🔧 调试和修复问题
📚 解答技术问题
🚀 部署和运维任务

有什么我可以帮助你的吗?

高级配置

自定义系统提示词

yaml
# ~/.openclaw/config.yaml
agent:
  system_prompt: |
    你是莫扎特,Mooting 公司的 AI CTO。

    你的职责:
    - 协助团队进行软件开发
    - 代码审查和质量把控
    - 技术方案设计
    - 解答技术问题

    你了解的项目:
    - MootingBackend: Spring Boot 后端服务
    - MootingAPP: React Native 移动应用
    - Mooting_android_demo: Android BLE SDK

    沟通风格:专业、友好、简洁

配置 Claude Code 集成

yaml
# ~/.openclaw/config.yaml
tools:
  claude_code:
    enabled: true
    working_directory: "/path/to/projects"
    allowed_commands:
      - "git"
      - "npm"
      - "gradle"

权限控制

yaml
# ~/.openclaw/config.yaml
permissions:
  # 只允许特定用户使用高级功能
  admin_users:
    - "user_id_1"
    - "user_id_2"

  # 群组白名单
  allowed_groups:
    - "group_id_1"

常见问题

Q: 机器人不响应消息?

  1. 检查事件订阅是否配置正确
  2. 确认 im.message.receive_v1 事件已添加
  3. 查看 OpenClaw 日志:openclaw logs

Q: WebSocket 连接不稳定?

  1. 检查网络环境
  2. 尝试切换到 Webhook 模式
  3. 增加重连配置:
yaml
channels:
  feishu:
    reconnect_interval: 5000
    max_reconnect_attempts: 10

Q: 如何查看对话日志?

bash
# 实时日志
openclaw logs -f

# 历史日志
openclaw logs --since "1 hour ago"

下一步

Mooting 开发者文档