介绍
# Feishu Bridge
通过本地 WebSocket 将飞书机器人消息转发到 Clawdbot 网关。
## 架构
``` Feishu user → Feishu cloud ←WS→ bridge.mjs (local) ←WS→ Clawdbot Gateway → AI agent ```
- 飞书 SDK 主动发起连接(无需入站端口/公网 IP) - 桥接使用现有的网关令牌向网关进行身份验证 - 每个飞书对话映射到一个 Clawdbot 会话 (`feishu:<chatId>`)
## 设置
### 1. 创建飞书机器人
1. 前往 [open.feishu.cn/app](https://open.feishu.cn/app) → 创建企业自建应用 → 添加 **机器人** 能力 2. 启用权限:`im:message`、`im:message.group_at_msg`、`im:message.p2p_msg` 3. 事件:添加 `im.message.receive_v1`,将推送方式设置为 **WebSocket 长连接** 4. 发布应用(创建版本 → 申请审核) 5. 记下 **App ID** 和 **App Secret**
### 2. 存储 Secret
```bash mkdir -p ~/.clawdbot/secrets echo "YOUR_APP_SECRET" > ~/.clawdbot/secrets/feishu_app_secret chmod 600 ~/.clawdbot/secrets/feishu_app_secret ```
### 3. 安装与运行
```bash cd <skill-dir>/feishu-bridge npm install FEISHU_APP_ID=cli_xxx node bridge.mjs ```
### 4. 自动启动 (macOS)
```bash FEISHU_APP_ID=cli_xxx node setup-service.mjs launchctl load ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist ```
## 诊断
```bash # Check service launchctl list | grep feishu
# Logs tail -f ~/.clawdbot/logs/feishu-bridge.err.log
# Stop launchctl unload ~/Library/LaunchAgents/com.clawdbot.feishu-bridge.plist ```
## 群聊行为
仅在以下情况下桥接才会回复:用户 @ 提及机器人、消息以 `?`/`?` 结尾、包含请求动词(帮/请/分析/总结…)或直呼机器人名字。可以在 `bridge.mjs` → `shouldRespondInGroup()` 中自定义名字列表。
## 环境变量
| 变量 | 必填 | 默认值 | |---|---|---| | `FEISHU_APP_ID` | ✅ | — | | `FEISHU_APP_SECRET_PATH` | — | `~/.clawdbot/secrets/feishu_app_secret` | | `CLAWDBOT_CONFIG_PATH` | — | `~/.clawdbot/clawdbot.json` | | `CLAWDBOT_AGENT_ID` | — | `main` | | `FEISHU_THINKING_THRESHOLD_MS` | — | `2500` |