飞书集成
通过 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 创建应用
- 点击 创建企业自建应用
- 填写应用信息:
- 应用名称:
莫扎特 - 应用描述:
AI CTO - 智能开发助手 - 应用图标:上传一个合适的图标
- 应用名称:
1.3 配置权限
在 权限管理 中开启以下权限:
消息与群组:
im:message- 获取与发送单聊、群组消息im:message.group_at_msg- 接收群聊中 @ 机器人消息im:message.p2p_msg- 接收用户发给机器人的单聊消息im:resource- 获取与上传图片或文件资源
通讯录:
contact:user.base:readonly- 获取用户基本信息
1.4 配置事件订阅
重要
这一步经常被遗漏,会导致机器人无法接收消息!
- 进入 事件订阅 页面
- 配置请求地址(WebSocket 模式可跳过)
- 添加事件:
im.message.receive_v1- 接收消息
1.5 获取凭证
记录以下信息:
- App ID:
cli_xxxxxxxx - App Secret:
xxxxxxxxxxxxxxxx
第二步:安装 OpenClaw
2.1 安装 OpenClaw CLI
bash
npm install -g openclaw2.2 运行引导向导
bash
openclaw onboard按提示完成:
- 设置 Anthropic API Key
- 选择连接模式
- 配置基本参数
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: true3.2 选择连接模式
WebSocket 模式 (推荐):
- 无需公网服务器
- 实时双向通信
- 适合开发和小规模使用
Webhook 模式:
- 需要公网可访问的 HTTPS 地址
- 更稳定,适合生产环境
- 配置 Webhook URL:
https://your-domain.com/webhook/feishu
第四步:启动服务
4.1 开发模式
bash
openclaw start4.2 生产模式(后台服务)
bash
# 安装为系统服务
openclaw service install
# 启动服务
openclaw service start
# 查看状态
openclaw service status4.3 使用 PM2 管理
bash
# 安装 PM2
npm install -g pm2
# 启动 OpenClaw
pm2 start openclaw -- start
# 保存进程列表
pm2 save
# 设置开机自启
pm2 startup第五步:在飞书中使用
5.1 添加机器人到群组
- 打开目标群聊
- 点击群设置 → 群机器人
- 添加 莫扎特 机器人
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: 机器人不响应消息?
- 检查事件订阅是否配置正确
- 确认
im.message.receive_v1事件已添加 - 查看 OpenClaw 日志:
openclaw logs
Q: WebSocket 连接不稳定?
- 检查网络环境
- 尝试切换到 Webhook 模式
- 增加重连配置:
yaml
channels:
feishu:
reconnect_interval: 5000
max_reconnect_attempts: 10Q: 如何查看对话日志?
bash
# 实时日志
openclaw logs -f
# 历史日志
openclaw logs --since "1 hour ago"