飞书机器人接入详细步骤
第一步:创建飞书应用
访问飞书开放平台
使用飞书账号登录
创建新应用
点击"创建应用" → 选择"机器人"
填写应用信息:
应用名称:OpenClaw助手 应用描述:AI助手服务 应用图标:上传合适的图标 开发者邮箱:你的邮箱
选择应用类型
选择"内部应用"(企业内部使用)
或"应用商店应用"(公开应用)
第二步:配置基础信息
应用信息设置
应用名称:OpenClaw助手 应用描述:基于OpenClaw的AI智能助手 应用图标:上传PNG格式图标获取凭证信息
App ID:
cli_xxx格式App Secret:
xxx格式Verification Token:随机生成的字符串
第三步:配置权限
添加权限
im:message - 消息发送 im:robot - 机器人权限 im:message_group - 群组消息 im:contact - 联系人权限设置权限范围
选择"应用可见范围"
添加需要使用机器人的部门或用户
第四步:配置事件订阅
添加事件订阅
事件类型:im.message.receive_v1 处理方式:HTTP回调 回调URL:https://你的域名/feishu-webhook添加其他事件
im.message.send_v1 - 消息发送事件 im.chat.member_added_v1 - 成员加入事件
第五步:开发服务器端代码
创建 feishu_bot.py 文件:
import os
import hashlib
import hmac
import json
import requests
from flask import Flask, request, jsonify
app = Flask(__name__)
# 配置信息
APP_ID = "cli_xxx"
APP_SECRET = "xxx"
VERIFICATION_TOKEN = "your_verification_token"
BOT_NAME = "OpenClaw助手"
def verify_signature(request):
"""验证飞书请求签名"""
signature = request.headers.get('X-Signature')
timestamp = request.headers.get('X-Timestamp')
if not signature or not timestamp:
return False
# 签名验证逻辑
sign_string = f"{timestamp}\n{VERIFICATION_TOKEN}"
expected_signature = hmac.new(
APP_SECRET.encode('utf-8'),
sign_string.encode('utf-8'),
hashlib.sha256
).hexdigest()
return signature == expected_signature
@app.route('/feishu-webhook', methods=['POST'])
def handle_webhook():
"""处理飞书事件回调"""
# 验证签名
if not verify_signature(request):
return jsonify({'code': 1, 'message': 'Invalid signature'}), 403
try:
data = request.json
# 处理消息事件
if data.get('type') == 'im.message.receive_v1':
event = data.get('event', {})
message = event.get('message', {})
text = message.get('text', '')
sender_id = message.get('sender', {}).get('sender_id', {}).get('user_id', '')
chat_id = message.get('chat_id', '')
# 处理消息内容
response_text = process_message(text, sender_id)
# 发送回复
send_message(chat_id, response_text)
return jsonify({'code': 0})
except Exception as e:
print(f"Error processing webhook: {e}")
return jsonify({'code': 1, 'message': 'Internal error'}), 500
def process_message(text, user_id):
"""处理用户消息"""
# 这里可以接入OpenClaw或其他AI服务
if text.lower() in ['hello', 'hi', '你好']:
return f"你好!我是{BOT_NAME},有什么可以帮助你的吗?"
elif text.lower() in ['help', '帮助']:
return "我可以帮助你处理各种任务,请告诉我你需要什么帮助。"
else:
# 这里可以调用OpenClaw API
return f"收到你的消息:{text}\n正在处理中..."
def send_message(chat_id, text):
"""发送消息到飞书"""
url = "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=chat_id"
headers = {
'Authorization': f'Bearer {get_access_token()}',
'Content-Type': 'application/json'
}
data = {
"receive_id": chat_id,
"msg_type": "text",
"content": {
"text": text
}
}
try:
response = requests.post(url, headers=headers, json=data)
return response.json()
except Exception as e:
print(f"Error sending message: {e}")
return None
def get_access_token():
"""获取飞书访问令牌"""
url = "https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal"
data = {
"app_id": APP_ID,
"app_secret": APP_SECRET
}
try:
response = requests.post(url, json=data)
result = response.json()
if result.get('code') == 0:
return result.get('tenant_access_token')
else:
print(f"Error getting access token: {result}")
return None
except Exception as e:
print(f"Error getting access token: {e}")
return None
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
第六步:部署服务器
准备服务器环境
# 安装依赖 pip install flask requests # 创建配置文件 nano config.py配置文件内容
# config.py APP_ID = "cli_xxx" APP_SECRET = "xxx" VERIFICATION_TOKEN = "your_verification_token" BOT_NAME = "OpenClaw助手"运行服务器
python feishu_bot.py
第七步:配置域名和HTTPS
购买域名
注册一个域名(如:openclaw-bot.com)
配置DNS
将域名指向你的服务器IP
获取SSL证书
# 使用Let's Encrypt获取免费证书 sudo certbot certonly --standalone -d openclaw-bot.com配置Nginx
server { listen 443 ssl; server_name openclaw-bot.com; ssl_certificate /etc/letsencrypt/live/openclaw-bot.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/openclaw-bot.com/privkey.pem; location /feishu-webhook { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
第八步:测试机器人
添加测试账号
在飞书开放平台点击"测试账号"
将机器人添加到测试群聊
发送测试消息
你好 帮助 测试检查响应
确认机器人正确回复
检查日志输出
第九步:发布应用
提交审核
在飞书开放平台点击"提交审核"
填写审核说明
等待审核
通常需要1-3个工作日
正式发布
审核通过后点击"发布"
应用可在飞书中使用
第十步:监控和维护
监控日志
# 查看应用日志 tail -f logs/feishu_bot.log设置监控
使用监控工具检查服务器状态
设置告警机制
定期更新
定期更新依赖包
关注飞书API变更
常见问题解决
签名验证失败
检查VERIFICATION_TOKEN是否正确
确保服务器时间准确
消息发送失败
检查access_token是否有效
确认权限配置正确
回调URL无法访问
检查防火墙设置
确认域名解析正确