功能特性: - 支持 /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
211 lines
4.0 KiB
Markdown
211 lines
4.0 KiB
Markdown
# 🍙 七牛云自动上传 - 快速开始
|
||
|
||
## ✨ 特性
|
||
|
||
- ✅ **OpenClaw Skill** - 无缝集成,无需修改飞书配置
|
||
- ✅ **指定路径上传** - `/upload /config/test.txt`
|
||
- ✅ **使用原文件名** - `/upload --original`
|
||
- ✅ **聊天命令配置** - `/qiniu-config set key value`
|
||
- ✅ **多存储桶支持** - 动态管理多个七牛云存储桶
|
||
|
||
---
|
||
|
||
## 🚀 5 分钟快速开始
|
||
|
||
### 1. 检查配置
|
||
|
||
七牛云配置已存在:
|
||
|
||
```bash
|
||
cat ~/.openclaw/credentials/qiniu-config.json
|
||
```
|
||
|
||
应该显示你的七牛云配置信息。
|
||
|
||
### 2. 重启 OpenClaw
|
||
|
||
让 OpenClaw 加载新的 Skill:
|
||
|
||
```bash
|
||
openclaw gateway restart
|
||
```
|
||
|
||
等待 10 秒让服务重启完成。
|
||
|
||
### 3. 测试 Skill
|
||
|
||
在飞书中发送:
|
||
|
||
```
|
||
/qiniu-config list
|
||
```
|
||
|
||
应该回复你的七牛云配置信息。
|
||
|
||
### 4. 测试上传
|
||
|
||
在飞书中发送:
|
||
|
||
```
|
||
/upload /test/file.txt
|
||
[附上一个文件]
|
||
```
|
||
|
||
应该上传文件并回复下载链接。
|
||
|
||
---
|
||
|
||
## 📋 使用指令
|
||
|
||
### 上传文件
|
||
|
||
| 指令 | 说明 |
|
||
|------|------|
|
||
| `/upload` | 使用原文件名上传 |
|
||
| `/upload --original` | 同上 |
|
||
| `/upload /路径/文件名` | 上传到指定路径 |
|
||
| `/upload /路径 存储桶` | 指定路径和存储桶 |
|
||
|
||
### 配置管理
|
||
|
||
| 指令 | 说明 |
|
||
|------|------|
|
||
| `/qiniu-config list` | 查看配置 |
|
||
| `/qiniu-config set 键 值` | 修改配置 |
|
||
| `/qiniu-config set-bucket 名 JSON` | 添加存储桶 |
|
||
| `/qiniu-config reset` | 重置配置 |
|
||
| `/qiniu-help` | 查看帮助 |
|
||
|
||
---
|
||
|
||
## 📁 文件结构
|
||
|
||
```
|
||
~/.openclaw/workspace/skills/qiniu-uploader/
|
||
├── 📄 SKILL.md # Skill 说明
|
||
├── 📄 package.json # Skill 配置
|
||
├── 🔧 openclaw-processor.js # ⭐ OpenClaw 处理器
|
||
├── 📖 INTEGRATION.md # 集成文档
|
||
├── 📖 README.md # 完整文档
|
||
├── 📖 CHEATSHEET.md # 快速参考
|
||
└── 📂 scripts/
|
||
├── upload-to-qiniu.js # 上传脚本
|
||
└── feishu-listener.js # 独立监听器(可选)
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 配置说明
|
||
|
||
### 七牛云配置
|
||
|
||
位置:`~/.openclaw/credentials/qiniu-config.json`
|
||
|
||
当前配置:
|
||
- **AccessKey**: `YO_W...S_pK`
|
||
- **SecretKey**: `NlcJ...rMX7`
|
||
- **Bucket**: `daoqires`
|
||
- **Region**: `z0` (华东)
|
||
- **Domain**: `https://daoqi.daoqi888.cn`
|
||
|
||
### 飞书配置
|
||
|
||
已使用 OpenClaw 的飞书配置,无需额外设置。
|
||
|
||
---
|
||
|
||
## 🎯 使用场景
|
||
|
||
### 上传配置文件
|
||
|
||
```
|
||
/upload /config/app/config.json
|
||
[附上 config.json]
|
||
```
|
||
|
||
### 上传图片
|
||
|
||
```
|
||
/upload /images/2026/photo.jpg
|
||
[附上图片]
|
||
```
|
||
|
||
### 修改 CDN 域名
|
||
|
||
```
|
||
/qiniu-config set default.domain https://new-cdn.com
|
||
```
|
||
|
||
### 添加生产环境
|
||
|
||
```
|
||
/qiniu-config set-bucket production '{"accessKey":"...","secretKey":"...","bucket":"prod","region":"z0","domain":"https://prod-cdn.com"}'
|
||
```
|
||
|
||
然后上传到生产环境:
|
||
|
||
```
|
||
/upload /assets/main.js production
|
||
[附上 main.js]
|
||
```
|
||
|
||
---
|
||
|
||
## 🔍 故障排查
|
||
|
||
### Skill 未响应
|
||
|
||
```bash
|
||
# 检查 OpenClaw 状态
|
||
openclaw status
|
||
|
||
# 重启 OpenClaw
|
||
openclaw gateway restart
|
||
|
||
# 查看日志
|
||
openclaw logs --tail 50
|
||
```
|
||
|
||
### 上传失败
|
||
|
||
```bash
|
||
# 检查七牛配置
|
||
cat ~/.openclaw/credentials/qiniu-config.json
|
||
|
||
# 手动测试上传脚本
|
||
cd ~/.openclaw/workspace/skills/qiniu-uploader
|
||
node scripts/upload-to-qiniu.js config list
|
||
```
|
||
|
||
### 测试处理器
|
||
|
||
```bash
|
||
cd ~/.openclaw/workspace/skills/qiniu-uploader
|
||
node openclaw-processor.js --message '{"content":{"text":"/qiniu-config list"}}'
|
||
```
|
||
|
||
应该输出 JSON 格式的回复。
|
||
|
||
---
|
||
|
||
## 📖 更多文档
|
||
|
||
- **快速参考** → `CHEATSHEET.md`
|
||
- **完整文档** → `README.md`
|
||
- **集成指南** → `INTEGRATION.md`
|
||
- **架构说明** → `ARCHITECTURE.md`
|
||
- **更新说明** → `UPGRADE.md`
|
||
|
||
---
|
||
|
||
## 💡 提示
|
||
|
||
1. **路径规范**:建议使用 `/` 开头,如 `/config/file.txt`
|
||
2. **原文件名**:不指定路径时自动使用原文件名
|
||
3. **配置安全**:使用聊天命令修改,避免明文传输
|
||
4. **多环境**:使用不同存储桶区分环境(dev/staging/prod)
|
||
|
||
---
|
||
|
||
**配置完成!开始使用吧!** 🍙
|