feishu-channel
このSkillは、ビジネスチャットツールFeishu(Lark)とOpenClawを連携させ、Feishuのチャットボットを通じてメッセージ送受信やファイル共有などを可能にし、AIアシスタントとの連携や自動応答を実現するSkill。
📜 元の英語説明(参考)
飞书 (Lark/Feishu) 与 OpenClaw 的双向集成通道。通过飞书机器人实现消息的接收和发送,支持私聊、群聊、@提及检测、卡片消息、文件传输。当需要通过飞书与 AI 助手交互、接收飞书消息触发 AI 响应、或从 OpenClaw 发送消息到飞书时使用此技能。与 feishu-automation 的区别:本 skill 专注于消息通道集成,feishu-automation 专注于飞书平台自动化操作(多维表格、文档等)。
🇯🇵 日本人クリエイター向け解説
このSkillは、ビジネスチャットツールFeishu(Lark)とOpenClawを連携させ、Feishuのチャットボットを通じてメッセージ送受信やファイル共有などを可能にし、AIアシスタントとの連携や自動応答を実現するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o feishu-channel.zip https://jpskill.com/download/8153.zip && unzip -o feishu-channel.zip && rm feishu-channel.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8153.zip -OutFile "$d\feishu-channel.zip"; Expand-Archive "$d\feishu-channel.zip" -DestinationPath $d -Force; ri "$d\feishu-channel.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
feishu-channel.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
feishu-channelフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
飞书 Channel 集成
飞书を OpenClaw に接続し、双方向メッセージチャネルを実現します。
与 feishu-automation 的区别
| 特性 | feishu-channel | feishu-automation |
|---|---|---|
| 主要用途 | メッセージチャネル統合 | プラットフォーム自動化操作 |
| 消息接收 | ✅ Webhook イベントサブスクリプション | ❌ サポートされていません |
| 消息发送 | ✅ リアルタイム会話 | ✅ 通知プッシュ |
| 多维表格 | ❌ 関係ありません | ✅ 完全サポート |
| 文档管理 | ❌ 関係ありません | ✅ 完全サポート |
| 适用场景 | AI 会話ロボット | データ同期、自動化ワークフロー |
架构概述
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ 飞书用户 │ ←→ │ 飞书开放平台 │ ←→ │ OpenClaw │
│ (私聊/群聊) │ │ (Webhook) │ │ Gateway │
└─────────────┘ └──────────────────┘ └─────────────┘
↓
┌──────────────────┐
│ Webhook 服务 │
│ - 事件验证 │
│ - 消息解析 │
│ - 格式转换 │
└──────────────────┘
核心组件
1. 飞书机器人应用
飞书开放プラットフォームで作成された企業独自のアプリケーション。以下の役割を担います。
- ユーザーメッセージの受信(イベントサブスクリプション経由)
- メッセージの送信(メッセージ API 経由)
- 権限とセキュリティの管理
2. Webhook 服务
飞书 イベントプッシュを受信し、OpenClaw Gateway に転送します。
3. 消息发送 API
lark-mcp ツールを使用するか、直接 飞书 API を呼び出してメッセージを送信します。
快速开始
前置条件
- 飞书 开放プラットフォームアカウント
- 企業独自のアプリケーション(ロボット機能)
- OpenClaw Gateway が実行中であること
- 公開インターネットからアクセス可能な Webhook URL(または内网穿透を使用)
1. 创建飞书应用
- 飞书开放平台 にアクセスします。
- 企業独自のアプリケーションを作成します。
- 「ロボット」機能を追加します。
- 権限を設定します(以下の権限リストを参照)。
App IDとApp Secretを取得します。
2. 配置事件订阅
- アプリケーション管理ページで、「事件订阅」に移動します。
- リクエストアドレスを設定します:
https://your-domain.com/webhook/feishu - イベントをサブスクライブします:
im.message.receive_v1- メッセージを受信するim.message.message_read_v1- メッセージ既読(オプション)
3. 部署 Webhook 服务
cd /home/aa/clawd/skills/feishu-channel
npm install
cp .env.example .env
# 编辑 .env 填入配置
npm start
4. 发布应用
- 飞书 开放プラットフォームで審査を申請します。
- 審査に合格したら公開します。
- 飞书 でロボットを検索して追加します。
配置说明
环境变量 (.env)
# 飞书应用配置 (必需)
FEISHU_APP_ID=cli_xxxxxxxxxx
FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx
# 事件订阅验证 Token
FEISHU_VERIFICATION_TOKEN=xxxxxxxxxxxxxxxx
# 事件加密 Key (可选,推荐启用)
FEISHU_ENCRYPT_KEY=xxxxxxxxxxxxxxxx
# OpenClaw Gateway 配置
OPENCLAW_GATEWAY_URL=http://127.0.0.1:18789
OPENCLAW_WEBHOOK_SECRET=your_webhook_secret
# 安全配置
# 允许的用户 open_id (逗号分隔,留空允许所有)
ALLOWED_USERS=ou_xxx,ou_yyy
# 允许的群聊 chat_id (逗号分隔,留空允许所有)
ALLOWED_GROUPS=oc_xxx,oc_yyy
# 群聊行为
REQUIRE_MENTION_IN_GROUP=true
# 服务端口
PORT=3002
# 日志级别
LOG_LEVEL=info
飞书应用权限
| 权限 | 说明 | 必需 |
|---|---|---|
im:message |
単独チャットおよびグループメッセージの取得と送信 | ✅ |
im:message.group_at_msg |
グループチャットで@ロボットメッセージを受信する | ✅ |
im:message.p2p_msg |
ユーザーからロボットに送信された単独チャットメッセージを受信する | ✅ |
im:chat |
グループ情報を取得する | 推荐 |
contact:user.base |
ユーザーの基本情報を取得する | 推荐 |
im:resource |
画像またはファイルリソースの取得とアップロード | 可选 |
OpenClaw 配置 (openclaw.json)
{
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxxxxxxx",
"appSecret": "env:FEISHU_APP_SECRET",
"webhookUrl": "https://your-domain.com/webhook/feishu",
"dmPolicy": "allowlist",
"allowFrom": ["ou_xxx", "ou_yyy"],
"groups": {
"oc_xxx": {
"name": "工作群",
"requireMention": true
}
}
}
}
}
消息格式
接收消息 (Webhook Event)
飞书 オリジナルイベント形式:
{
"schema": "2.0",
"header": {
"event_id": "xxx",
"event_type": "im.message.receive_v1",
"create_time": "1706745600000",
"token": "verification_token",
"app_id": "cli_xxx"
},
"event": {
"sender": {
"sender_id": {
"open_id": "ou_xxx",
"user_id": "xxx",
"union_id": "on_xxx"
},
"sender_type": "user"
},
"message": {
"message_id": "om_xxx",
"root_id": "",
"parent_id": "",
"create_time": "1706745600000",
"chat_id": "oc_xxx",
"chat_type": "group",
"message_type": "text",
"content": "{\"text\":\"@_user_1 你好\"}",
"mentions": [
{
"key": "@_user_1",
"id": {
"open_id": "ou_bot"
},
"name": "OpenClaw助手"
}
]
}
}
}
変換後の OpenClaw 形式:
{
"type": "message",
"channel": "feishu",
"messageId": "om_xxx",
"from": {
"id": "ou_xxx",
"name": "张三"
},
"chat": {
"id": "oc_xxx",
"type": "group",
"name": "工作群"
},
"text": "你好",
"mentions": ["ou_bot"],
"isMentioned": true,
"timestamp": 1706745600000
}
发送消息
使用 lark-mcp 工具
// 发送文本消息
await mcp__lark-mcp_sendMessage({
receive_id: "ou_xxx", // 或 oc_xxx (群聊)
receive_id_type: "open_id", // 或 chat_id
msg_type: "text",
content: JSON.stringify({
text: "收到,正在处理..."
})
});
// 发送富文本消息
await mcp__lark-mcp_sendMessage({
receive_id: "oc_xxx",
receive_id_type: "chat_id",
msg_type: "post",
content: JSON.stringify({
zh_cn: {
title: "任务完成",
content: [
[
{ tag: "text", text: "已完成 " },
{ tag: "a", text: "查看详情", href: "https://example.com" }
]
]
}
})
});
// 发送卡片消息
await mcp__lark-mcp_sendMessage({
receive_id: "oc_xxx",
receive_id_type: "chat_id",
msg_type: "interactive",
content: JSON.stringify({
config: { wide_screen_mode: true },
header: {
template: "turquoise",
title: { content: "通知", tag: "plain_text" }
},
elements: [
{
tag: "div",
text: { content: "**重要通知**", tag: "lark_md" }
},
{
tag: "action",
actions: [
{
tag: "button",
text: { content: "确认", tag: "plain_text" },
type: "primary"
}
]
}
]
})
});
使用 HTTP API
# 发送文本消息
curl -X POST "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"receive_id": "ou_xxx",
"msg_type": "text",
"content": "{\"text\":\"Hello!\"}"
}'
安全策略
事件验证
飞书 イベントサブスクリプションは、次の 2 つの検証方法をサポートしています。
- Verification Token: 簡単な Token 検証
- Encrypt Key: AES 暗号化(推奨)
// 验证示例
function verifyEvent(body, token) {
if (body.token !== token) {
throw new Error('Invalid verification token');
}
}
// 解密示例
function decryptEvent(encrypt, key 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
飞书 Channel 集成
将飞书接入 OpenClaw,实现双向消息通道。
与 feishu-automation 的区别
| 特性 | feishu-channel | feishu-automation |
|---|---|---|
| 主要用途 | 消息通道集成 | 平台自动化操作 |
| 消息接收 | ✅ Webhook 事件订阅 | ❌ 不支持 |
| 消息发送 | ✅ 实时对话 | ✅ 通知推送 |
| 多维表格 | ❌ 不涉及 | ✅ 完整支持 |
| 文档管理 | ❌ 不涉及 | ✅ 完整支持 |
| 适用场景 | AI 对话机器人 | 数据同步、自动化工作流 |
架构概述
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ 飞书用户 │ ←→ │ 飞书开放平台 │ ←→ │ OpenClaw │
│ (私聊/群聊) │ │ (Webhook) │ │ Gateway │
└─────────────┘ └──────────────────┘ └─────────────┘
↓
┌──────────────────┐
│ Webhook 服务 │
│ - 事件验证 │
│ - 消息解析 │
│ - 格式转换 │
└──────────────────┘
核心组件
1. 飞书机器人应用
在飞书开放平台创建的企业自建应用,负责:
- 接收用户消息(通过事件订阅)
- 发送消息(通过消息 API)
- 管理权限和安全
2. Webhook 服务
接收飞书事件推送,转发给 OpenClaw Gateway。
3. 消息发送 API
通过 lark-mcp 工具或直接调用飞书 API 发送消息。
快速开始
前置条件
- 飞书开放平台账号
- 企业自建应用(机器人能力)
- OpenClaw Gateway 运行中
- 公网可访问的 Webhook URL(或使用内网穿透)
1. 创建飞书应用
- 访问 飞书开放平台
- 创建企业自建应用
- 添加「机器人」能力
- 配置权限(见下方权限列表)
- 获取 App ID 和 App Secret
2. 配置事件订阅
- 在应用管理页面,进入「事件订阅」
- 配置请求地址:
https://your-domain.com/webhook/feishu - 订阅事件:
im.message.receive_v1- 接收消息im.message.message_read_v1- 消息已读(可选)
3. 部署 Webhook 服务
cd /home/aa/clawd/skills/feishu-channel
npm install
cp .env.example .env
# 编辑 .env 填入配置
npm start
4. 发布应用
- 在飞书开放平台提交审核
- 审核通过后发布
- 在飞书中搜索并添加机器人
配置说明
环境变量 (.env)
# 飞书应用配置 (必需)
FEISHU_APP_ID=cli_xxxxxxxxxx
FEISHU_APP_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx
# 事件订阅验证 Token
FEISHU_VERIFICATION_TOKEN=xxxxxxxxxxxxxxxx
# 事件加密 Key (可选,推荐启用)
FEISHU_ENCRYPT_KEY=xxxxxxxxxxxxxxxx
# OpenClaw Gateway 配置
OPENCLAW_GATEWAY_URL=http://127.0.0.1:18789
OPENCLAW_WEBHOOK_SECRET=your_webhook_secret
# 安全配置
# 允许的用户 open_id (逗号分隔,留空允许所有)
ALLOWED_USERS=ou_xxx,ou_yyy
# 允许的群聊 chat_id (逗号分隔,留空允许所有)
ALLOWED_GROUPS=oc_xxx,oc_yyy
# 群聊行为
REQUIRE_MENTION_IN_GROUP=true
# 服务端口
PORT=3002
# 日志级别
LOG_LEVEL=info
飞书应用权限
| 权限 | 说明 | 必需 |
|---|---|---|
im:message |
获取与发送单聊、群组消息 | ✅ |
im:message.group_at_msg |
接收群聊中@机器人消息 | ✅ |
im:message.p2p_msg |
接收用户发给机器人的单聊消息 | ✅ |
im:chat |
获取群组信息 | 推荐 |
contact:user.base |
获取用户基本信息 | 推荐 |
im:resource |
获取与上传图片或文件资源 | 可选 |
OpenClaw 配置 (openclaw.json)
{
"channels": {
"feishu": {
"enabled": true,
"appId": "cli_xxxxxxxxxx",
"appSecret": "env:FEISHU_APP_SECRET",
"webhookUrl": "https://your-domain.com/webhook/feishu",
"dmPolicy": "allowlist",
"allowFrom": ["ou_xxx", "ou_yyy"],
"groups": {
"oc_xxx": {
"name": "工作群",
"requireMention": true
}
}
}
}
}
消息格式
接收消息 (Webhook Event)
飞书原始事件格式:
{
"schema": "2.0",
"header": {
"event_id": "xxx",
"event_type": "im.message.receive_v1",
"create_time": "1706745600000",
"token": "verification_token",
"app_id": "cli_xxx"
},
"event": {
"sender": {
"sender_id": {
"open_id": "ou_xxx",
"user_id": "xxx",
"union_id": "on_xxx"
},
"sender_type": "user"
},
"message": {
"message_id": "om_xxx",
"root_id": "",
"parent_id": "",
"create_time": "1706745600000",
"chat_id": "oc_xxx",
"chat_type": "group",
"message_type": "text",
"content": "{\"text\":\"@_user_1 你好\"}",
"mentions": [
{
"key": "@_user_1",
"id": {
"open_id": "ou_bot"
},
"name": "OpenClaw助手"
}
]
}
}
}
转换后的 OpenClaw 格式:
{
"type": "message",
"channel": "feishu",
"messageId": "om_xxx",
"from": {
"id": "ou_xxx",
"name": "张三"
},
"chat": {
"id": "oc_xxx",
"type": "group",
"name": "工作群"
},
"text": "你好",
"mentions": ["ou_bot"],
"isMentioned": true,
"timestamp": 1706745600000
}
发送消息
使用 lark-mcp 工具
// 发送文本消息
await mcp__lark-mcp_sendMessage({
receive_id: "ou_xxx", // 或 oc_xxx (群聊)
receive_id_type: "open_id", // 或 chat_id
msg_type: "text",
content: JSON.stringify({
text: "收到,正在处理..."
})
});
// 发送富文本消息
await mcp__lark-mcp_sendMessage({
receive_id: "oc_xxx",
receive_id_type: "chat_id",
msg_type: "post",
content: JSON.stringify({
zh_cn: {
title: "任务完成",
content: [
[
{ tag: "text", text: "已完成 " },
{ tag: "a", text: "查看详情", href: "https://example.com" }
]
]
}
})
});
// 发送卡片消息
await mcp__lark-mcp_sendMessage({
receive_id: "oc_xxx",
receive_id_type: "chat_id",
msg_type: "interactive",
content: JSON.stringify({
config: { wide_screen_mode: true },
header: {
template: "turquoise",
title: { content: "通知", tag: "plain_text" }
},
elements: [
{
tag: "div",
text: { content: "**重要通知**", tag: "lark_md" }
},
{
tag: "action",
actions: [
{
tag: "button",
text: { content: "确认", tag: "plain_text" },
type: "primary"
}
]
}
]
})
});
使用 HTTP API
# 发送文本消息
curl -X POST "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"receive_id": "ou_xxx",
"msg_type": "text",
"content": "{\"text\":\"Hello!\"}"
}'
安全策略
事件验证
飞书事件订阅支持两种验证方式:
- Verification Token: 简单的 Token 验证
- Encrypt Key: AES 加密(推荐)
// 验证示例
function verifyEvent(body, token) {
if (body.token !== token) {
throw new Error('Invalid verification token');
}
}
// 解密示例
function decryptEvent(encrypt, key) {
const crypto = require('crypto');
const decipher = crypto.createDecipheriv(
'aes-256-cbc',
crypto.createHash('sha256').update(key).digest(),
Buffer.alloc(16, 0)
);
return JSON.parse(
decipher.update(encrypt, 'base64', 'utf8') + decipher.final('utf8')
);
}
私聊策略
| 策略 | 说明 |
|---|---|
open |
允许所有人私聊(危险) |
allowlist |
仅允许 allowFrom 列表中的用户 |
群聊策略
| 配置 | 说明 |
|---|---|
requireMention: true |
必须@机器人才响应 |
allowFrom |
群内允许触发的用户列表 |
使用场景
1. 智能问答机器人
用户: @OpenClaw助手 帮我查一下今天的会议安排
Bot: 今天的会议安排:
- 10:00 产品评审会 (会议室A)
- 14:00 技术分享会 (线上)
- 16:00 周例会 (会议室B)
2. 工作流通知
// 当任务完成时发送通知
await mcp__lark-mcp_sendMessage({
receive_id: "oc_work_group",
receive_id_type: "chat_id",
msg_type: "interactive",
content: JSON.stringify({
header: {
template: "green",
title: { content: "✅ 任务完成", tag: "plain_text" }
},
elements: [
{
tag: "div",
text: { content: "数据同步任务已完成\n处理记录: 1,234 条", tag: "lark_md" }
}
]
})
});
3. 审批流程
用户: @OpenClaw助手 提交请假申请,明天休息一天
Bot: 已收到请假申请,正在提交审批...
[卡片消息: 请假申请详情 + 审批按钮]
故障排查
Webhook 无法接收消息
- 检查 Webhook URL 是否公网可访问
- 检查 Verification Token 是否正确
- 查看飞书开放平台的事件推送日志
- 确认应用已发布且用户已添加机器人
消息发送失败
- 检查 App ID 和 App Secret
- 确认应用权限已开启
- 检查 access_token 是否过期
- 查看 API 返回的错误码
权限不足
- 在飞书开放平台检查应用权限
- 确认权限已审核通过
- 重新获取 access_token
限制说明
飞书平台限制
- API 调用频率限制(参考官方文档)
- 消息长度限制
- 文件大小限制
功能限制
- 不支持语音消息
- 卡片消息交互需要额外配置回调
- 部分高级功能需要企业认证
相关文件
scripts/feishu-webhook.js- Webhook 服务代码.env.example- 环境变量模板references/feishu-api.md- 飞书 API 参考references/message-types.md- 消息类型说明
TODO
- [ ] 创建飞书应用并获取凭证
- [ ] 配置事件订阅
- [ ] 部署 Webhook 服务
- [ ] 测试私聊消息收发
- [ ] 测试群聊 @提及
- [ ] 配置安全策略
- [ ] 实现卡片消息交互