七牛对象存储
这个 skill 只负责文件上传与交付链接,不负责图片或视频生成。
适用场景:
- 已有本地文件,需要上传到七牛
- 需要返回一个可直接交付的下载链接
- 私有空间需要带时效签名链接
默认行为
- 对象 key 自动生成为
日期/类型/文件名,如20260327/images/photo.png - 类型按扩展名自动判定:images / videos / audio / others
- 如果配置里声明空间是私有的,上传后默认返回签名链接
- 如果配置里声明空间是公开的,上传后默认返回公网链接
- 只有用户明确要求,或脚本显式传
--private-url/--public-url时,才覆盖默认行为
使用脚本
脚本位于 skill 目录内的 scripts/,运行时始终使用绝对路径。
设 QINIU_SKILL_DIR 为 .claude/skills/qiniu_object_storage 的绝对路径:
- 上传文件并按空间配置返回默认交付链接:
uv run --python python $QINIU_SKILL_DIR/scripts/upload_file.py --file <本地文件> - 强制返回私有签名链接:
uv run --python python $QINIU_SKILL_DIR/scripts/upload_file.py --file <本地文件> --private-url --expires-in 600 - 强制返回公网链接:
uv run --python python $QINIU_SKILL_DIR/scripts/upload_file.py --file <本地文件> --public-url - 已有对象 key,生成私有签名链接:
uv run --python python $QINIU_SKILL_DIR/scripts/generate_private_download_url.py --key <对象key> --expires-in 600
输出约定
- 输出 JSON 至少包含:
storage_providerbucketobject_keyaccess_modedelivery_url
- 可能额外包含:
public_urlprivate_urlbase_urlexpires_in
配置
仅通过环境变量配置,缺失时抛出异常:
| 环境变量 | 说明 |
|---|---|
QINIU_ACCESS_KEY |
七牛 Access Key(主标识) |
QINIU_SECRET_KEY |
七牛 Secret Key |
QINIU_BUCKET |
存储空间名称 |
QINIU_PUBLIC_DOMAIN |
公网访问域名 |
QINIU_IS_PRIVATE |
是否为私有空间(可选,默认 false) |
协作方式
- 它通常是图片或视频 workflow 的交付步骤
- 当用户只要求上传已有文件时,也可以单独调用
- 它不应决定前置内容由哪个 AI 供应商生成
