Files
openclaw-skill-qiniu/FEISHU_SETUP.md
daoqi 1aeae9cc51 initial: 七牛云上传 OpenClaw Skill
功能特性:
- 支持 /upload, /u 命令上传文件到七牛云
- 支持 /qiniu-config 配置管理
- 支持飞书卡片交互
- 支持指定上传路径和存储桶
- 自动刷新 CDN 缓存
- 支持文件覆盖上传

包含组件:
- OpenClaw 处理器 (openclaw-processor.js)
- 独立监听器 (scripts/feishu-listener.js)
- 核心上传脚本 (scripts/upload-to-qiniu.js)
- 部署脚本 (deploy.sh)
- 完整文档

部署方式:
1. 复制 skill 到 ~/.openclaw/workspace/skills/
2. 配置 ~/.openclaw/credentials/qiniu-config.json
3. 重启 OpenClaw Gateway
2026-03-07 16:02:18 +08:00

220 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🍙 飞书事件订阅配置指南
## 前提条件
已配置飞书应用:
- **App ID**: `cli_a92ce47b02381bcc`
- **App Secret**: `WpCWhqOPKv3F5Lhn11DqubrssJnAodot`
## 步骤一:飞书开放平台配置
### 1. 登录飞书开放平台
访问https://open.feishu.cn/app
### 2. 进入应用管理
- 找到你的应用(或创建新应用)
- 进入「应用功能」→「事件订阅」
### 3. 配置事件订阅
#### 3.1 启用事件订阅
- 打开「启用事件订阅」开关
- 设置**请求地址**Request URL
```
http://你的服务器公网IP:3000
```
> 💡 如果没有公网 IP可以使用内网穿透工具如 ngrok
> ```bash
> ngrok http 3000
> # 然后使用 ngrok 提供的 https 地址
> ```
#### 3.2 配置验证 Token
- 设置**验证 Token**:随便填一个字符串,例如 `qiniu_upload_token_2026`
- 记住这个值,稍后要填入配置文件
#### 3.3 配置加密密钥(可选但推荐)
- 点击「生成加密密钥」
- 复制生成的密钥
- 记住这个值,稍后要填入配置文件
#### 3.4 订阅事件
点击「添加事件」,订阅以下事件:
| 事件类型 | 说明 |
|---------|------|
| `im.message.receive_v1` | 接收消息事件 |
| `im.file.upload_v1` | 文件上传事件(可选) |
### 4. 配置应用权限
进入「应用功能」→「权限管理」,添加以下权限:
| 权限名称 | 权限标识 | 申请方式 |
|---------|---------|---------|
| 获取与发送单聊、群组消息 | `im:message` | 自动开通 |
| 获取消息中的文件 | `im:file` | 自动开通 |
| 以应用身份发送消息 | `im:message:send_as_bot` | 自动开通 |
点击「申请」并等待审核(通常自动通过)。
### 5. 发布应用
- 进入「版本管理与发布」
- 点击「创建版本」
- 填写版本说明,提交发布
## 步骤二:配置监听器
### 1. 创建环境变量配置文件
在技能目录下创建 `.env` 文件:
```bash
cd ~/.openclaw/workspace/skills/qiniu-uploader
cat > .env << 'EOF'
# 飞书应用配置
FEISHU_APP_ID=cli_a92ce47b02381bcc
FEISHU_APP_SECRET=WpCWhqOPKv3F5Lhn11DqubrssJnAodot
# 事件订阅配置(从飞书开放平台复制)
FEISHU_VERIFY_TOKEN=qiniu_upload_token_2026
FEISHU_ENCRYPT_KEY=你的加密密钥(从飞书开放平台复制)
# 监听器配置
FEISHU_LISTENER_PORT=3000
EOF
```
### 2. 编辑配置文件
根据实际情况修改 `.env` 文件中的:
- `FEISHU_VERIFY_TOKEN`:与飞书开放平台填写的一致
- `FEISHU_ENCRYPT_KEY`:从飞书开放平台复制的加密密钥
## 步骤三:启动监听器
### 方式一:直接启动
```bash
cd ~/.openclaw/workspace/skills/qiniu-uploader
# 加载环境变量并启动
set -a; source .env; set +a
node scripts/feishu-listener.js
```
### 方式二:使用启动脚本
```bash
./scripts/start-listener.sh
```
### 方式三:后台运行(推荐)
```bash
# 使用 nohup 后台运行
nohup node scripts/feishu-listener.js > listener.log 2>&1 &
# 查看日志
tail -f listener.log
# 查看进程
ps aux | grep feishu-listener
# 停止服务
pkill -f feishu-listener
```
## 步骤四:验证配置
### 1. 检查飞书开放平台状态
回到飞书开放平台的「事件订阅」页面:
- ✅ 请求地址状态应显示为「验证成功」
- 如果显示「验证失败」,检查:
- 服务器是否可访问
- 端口是否开放
- Token 配置是否正确
### 2. 测试消息接收
在飞书中:
1. 找到你的机器人(或拉机器人进群)
2. 发送测试消息:
```
/upload test.pdf
[附上一个 PDF 文件]
```
3. 检查监听器日志是否有输出
4. 检查是否收到机器人的回复
### 3. 检查日志
```bash
# 实时查看日志
tail -f ~/.openclaw/workspace/skills/qiniu-uploader/listener.log
```
## 常见问题
### ❌ 请求地址验证失败
**原因:**
- 服务器无法从公网访问
- 端口未开放
- 防火墙阻止
**解决方案:**
```bash
# 检查端口是否监听
netstat -tlnp | grep 3000
# 开放端口(如果使用防火墙)
sudo ufw allow 3000
# 或使用内网穿透
ngrok http 3000
```
### ❌ 收不到消息
**检查清单:**
- [ ] 机器人已添加到聊天
- [ ] 事件订阅已启用
- [ ] 权限已申请
- [ ] 应用已发布
- [ ] 消息格式正确(以 /upload 或 /qiniu 开头)
### ❌ 上传失败
**检查:**
- 七牛云配置文件是否存在:`~/.openclaw/credentials/qiniu-config.json`
- AccessKey/SecretKey 是否正确
- 存储桶名称是否匹配
## 安全建议
1. **使用 HTTPS**:生产环境建议使用 HTTPS
2. **验证签名**:确保启用加密密钥验证
3. **限制 IP**:在飞书开放平台配置 IP 白名单
4. **定期轮换密钥**:定期更新 App Secret 和加密密钥
## 下一步
配置完成后,在飞书中发送:
```
/upload 文件名.pdf
[附上文件]
```
机器人会自动上传到七牛云并回复下载链接!🎉