tencent-cos-upload.xiaokui/SKILL.md
2026-04-13 15:45:12 +08:00

95 lines
2.6 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.

---
name: tencent-cos-upload
description: 上传文件到腾讯云COS并生成可直接访问的URL。当需要将本地文件图片、视频、音频、文档等上传到腾讯云对象存储并获取公开可访问链接时使用。触发场景上传文件到COS、生成文件外链、存储媒体资源、备份文件到云端。
---
# 腾讯云COS文件上传
将本地文件上传到腾讯云COS返回可直接访问的URL。
## 前置依赖
```bash
pip3 install cos-python-sdk-v5 --break-system-packages
```
## 使用方式
### 方式一:调用脚本(推荐)
```bash
python3 scripts/cos_upload.py <local_file> <cos_key> [--content-type <mime_type>]
```
- `local_file`:本地文件路径
- `cos_key`COS上的存储路径`vala_llm/data/image.png`
- `--content-type`可选MIME类型`image/png`),不指定则自动检测
输出一行URL`https://<domain>/<cos_key>`
示例:
```bash
python3 scripts/cos_upload.py /tmp/photo.png vala_llm/user_feedback/image/2026-04-10/abc123.png
# 输出: https://static.valavala.com/vala_llm/user_feedback/image/2026-04-10/abc123.png
```
### 方式二Python代码引用
```python
import sys
sys.path.insert(0, '/root/.openclaw/skills/tencent-cos-upload/scripts')
from cos_upload import CosUploader
uploader = CosUploader()
url = uploader.upload('/tmp/photo.png', 'vala_llm/images/photo.png')
print(url) # https://static.valavala.com/vala_llm/images/photo.png
```
批量上传:
```python
results = uploader.upload_batch([
('/tmp/a.png', 'path/a.png'),
('/tmp/b.mp4', 'path/b.mp4'),
])
# results = [('path/a.png', 'https://...'), ('path/b.png', 'https://...')]
```
## 配置
凭证从工作区 `secrets.md` 的腾讯云COS部分读取脚本自动加载**无硬编码密钥**。
如需修改配置(换桶、换域名),修改 `secrets.md` 中的腾讯云COS配置项即可无需修改脚本代码。
## COS路径规范
建议按 `{业务}/{类型}/{日期}/` 组织:
```
vala_llm/
├── user_feedback/
│ ├── image/2026-04-10/
│ ├── video/2026-04-10/
│ ├── audio/2026-04-10/
│ └── file/2026-04-10/
└── asr_audio_backup/
├── online/20260410/
└── test/20260410/
```
## 文件名规范
- 避免中文使用纯ASCII字符字母、数字、短横线、下划线
- 推荐格式:`{唯一ID}{扩展名}`,如 `abc123def456.png`
## 常见MIME类型
| 扩展名 | Content-Type |
|--------|-------------|
| .png | image/png |
| .jpg/.jpeg | image/jpeg |
| .mp4 | video/mp4 |
| .mov | video/quicktime |
| .mp3 | audio/mpeg |
| .ogg | audio/ogg |
| .wav | audio/wav |
| .pdf | application/pdf |