功能特性: - 支持 /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
6.3 KiB
6.3 KiB
🍙 七牛云 Skill 开发完成总结
✅ 项目状态
开发状态: ✅ 已完成
集成方式: OpenClaw Skill(方案 B)
飞书配置: 无需修改
测试状态: ✅ 处理器测试通过
📦 已创建的文件
核心文件
| 文件 | 说明 | 状态 |
|---|---|---|
SKILL.md |
Skill 元数据和触发规则 | ✅ 完成 |
package.json |
Skill 配置文件 | ✅ 完成 |
openclaw-processor.js |
OpenClaw 消息处理器 ⭐ | ✅ 完成 |
scripts/upload-to-qiniu.js |
七牛云上传脚本 | ✅ 完成 |
文档文件
| 文件 | 说明 | 状态 |
|---|---|---|
QUICKSTART.md |
5 分钟快速开始指南 | ✅ 完成 |
INTEGRATION.md |
OpenClaw 集成指南 | ✅ 完成 |
README.md |
完整使用文档 | ✅ 完成 |
CHEATSHEET.md |
快速参考卡片 | ✅ 完成 |
ARCHITECTURE.md |
架构方案对比 | ✅ 完成 |
UPGRADE.md |
v2 更新说明 | ✅ 完成 |
配置文件
| 文件 | 说明 | 状态 |
|---|---|---|
~/.openclaw/credentials/qiniu-config.json |
七牛云配置 | ✅ 已配置 |
.env.example |
环境变量模板 | ✅ 完成 |
🎯 功能特性
✅ 已实现
-
文件上传
- 指定路径上传:
/upload /config/test.txt - 使用原文件名:
/upload --original - 多存储桶支持:
/upload /file.txt production
- 指定路径上传:
-
配置管理
- 查看配置:
/qiniu-config list - 修改配置:
/qiniu-config set key value - 添加存储桶:
/qiniu-config set-bucket name json - 重置配置:
/qiniu-config reset
- 查看配置:
-
OpenClaw 集成
- 自动识别七牛云命令
- 非七牛命令转发给 AI 处理
- 保持完整的消息上下文
-
文件处理
- 飞书附件下载
- 临时文件管理
- 自动清理临时文件
-
CDN 刷新
- 上传后自动刷新 CDN
- 确保文件立即可访问
🚀 使用方式
在飞书中使用
-
查看配置
/qiniu-config list -
上传文件
/upload /config/test.txt [附上文件] -
修改配置
/qiniu-config set default.domain https://new-cdn.com -
查看帮助
/qiniu-help
命令行测试
cd ~/.openclaw/workspace/skills/qiniu-uploader
# 测试配置查询
node openclaw-processor.js --message '{"content":{"text":"/qiniu-config list"}}'
# 测试帮助
node openclaw-processor.js --message '{"content":{"text":"/qiniu-help"}}'
📊 架构说明
消息流程
飞书消息
↓
OpenClaw Gateway (17733 端口)
↓
消息内容分析
↓
┌──────────────────┬────────────────────┐
│ 七牛云命令 │ 其他消息 │
│ /upload │ 普通对话 │
│ /qiniu-config │ AI 处理 │
│ /qiniu-help │ │
└──────────────────┴────────────────────┘
↓
openclaw-processor.js
↓
处理并回复
优势
| 特性 | 说明 |
|---|---|
| 无需修改飞书配置 | 保持现有事件订阅模式 |
| 架构统一 | 所有消息由 OpenClaw 统一处理 |
| 上下文完整 | AI 可以获取完整的对话历史 |
| 维护简单 | 只有一个服务需要维护 |
| 可靠性高 | 无额外转发,减少故障点 |
🔧 配置说明
七牛云配置(已完成)
{
"buckets": {
"default": {
"accessKey": "YO_Wi-aMubLmZJr_X5EFOI3WC2a9rfif1fBsS_pK",
"secretKey": "NlcJJKlZjK6CF2irT3SIw5e4pMPeL4S3IHFRrMX7",
"bucket": "daoqires",
"region": "z0",
"domain": "https://daoqi.daoqi888.cn"
}
}
}
飞书配置(已集成)
使用 OpenClaw 的飞书配置:
- App ID:
cli_a92ce47b02381bcc - App Secret:
WpCWhqOPKv3F5Lhn11DqubrssJnAodot
✅ 测试清单
单元测试
- 配置查询:
/qiniu-config list - 命令解析:
parseUploadCommand() - 命令解析:
parseConfigCommand() - 消息处理:
processMessage()
集成测试
- OpenClaw 加载 Skill
- 飞书消息接收
- 文件下载和上传
- CDN 刷新
- 消息回复
用户测试
- 在飞书中测试
/qiniu-config list - 在飞书中测试
/upload上传文件 - 在飞书中测试普通对话(AI 回复)
📋 下一步操作
立即可做
-
重启 OpenClaw Gateway
openclaw gateway restart -
在飞书中测试
/qiniu-config list -
测试文件上传
/upload /test/file.txt [附上文件]
可选优化
- 添加上传进度显示
- 支持批量上传
- 添加文件类型检查
- 支持图片缩略图生成
- 添加上传历史记录
📖 文档导航
| 文档 | 用途 |
|---|---|
QUICKSTART.md |
⭐ 5 分钟快速开始 |
INTEGRATION.md |
OpenClaw 集成指南 |
README.md |
完整使用文档 |
CHEATSHEET.md |
快速参考卡片 |
ARCHITECTURE.md |
架构方案对比 |
🎉 总结
开发成果
✅ 完整的 OpenClaw Skill
- 消息处理器:
openclaw-processor.js - 上传脚本:
upload-to-qiniu.js - 配置文件:
package.json - 完整文档:6 个 Markdown 文件
✅ 功能完整
- 文件上传(支持路径、原文件名、多存储桶)
- 配置管理(查看、修改、添加、重置)
- 帮助系统
✅ 集成简单
- 无需修改飞书配置
- OpenClaw 自动加载
- 与现有机器人功能共存
技术亮点
- 智能命令识别 - 自动区分七牛云命令和普通对话
- 临时文件管理 - 自动下载、清理临时文件
- 错误处理完善 - 详细的错误信息和故障排查指南
- 文档齐全 - 从快速开始到架构说明,覆盖所有使用场景
🆘 获取帮助
遇到问题?
- 查看文档:
cat QUICKSTART.md - 故障排查:
cat INTEGRATION.md故障排查章节 - 测试处理器:
node openclaw-processor.js --message '...' - 查看日志:
openclaw logs --tail 50
开发完成!准备测试! 🍙