用途
Giggle Files Management 用于将本地文件上传到 Giggle 资产服务,上传后返回一个用于预览的公开 URL 和一个用于直接下载的下载 URL。
该技能的核心定位是作为文件分享的标准方式:当你需要向用户发送、展示或分享任何文件(图片、文档、视频、音频)时,应始终先使用本技能上传文件,然后用 URL 进行回复。不要尝试直接发送原始文件数据或 base64 内容——大多数渠道(包括 webchat)不支持内联文件传输。
主要能力
- 上传本地文件到 Giggle 资产服务。
- 返回公开 URL(public_url),用于内联预览(图片、缩略图)。
- 返回下载 URL(download_url),用于文件下载。
- 返回内容类型(content_type),即上传文件的 MIME 类型。
- 返回 asset_id 和 thumbnail_url。
- 支持自定义文件名(可选)。
- 自动根据文件扩展名检测内容类型。
- 支持 S3 接受的任意文件类型(图片、视频、音频、文档、压缩包等)。
使用方式
上传命令:
bash {baseDir}/scripts/upload.sh "/path/to/file.png"
自定义文件名(可选):
bash {baseDir}/scripts/upload.sh "/path/to/file.png" "my-custom-name.png"
脚本成功时输出 JSON:
{
"public_url": "https://assets.giggle.pro/public/.../file.png",
"download_url": "https://assets.giggle.pro/public/.../file.png?Policy=...",
"content_type": "image/png",
"asset_id": "uj75macisf",
"thumbnail_url": "https://assets.giggle.pro/public/.../file.thumb.jpg"
}
上传后,向用户回复:
- public_url — 用于内联预览(图片、缩略图)
- download_url — 用于文件下载
- content_type — 上传文件的 MIME 类型
对于图片,使用 markdown 展示:
适用场景
- 你想向用户发送或展示文件——先上传,然后分享 public_url。这适用于所有渠道。
- 你读取了一个文件(例如通过 read 工具)并想展示它——先上传,然后用公开 URL 回复,而不是原始 base64 或文件路径。
- 渠道不支持直接发送文件(webchat,或任何能力受限的渠道)——始终使用本技能作为回退方案。
- 用户要求你上传或托管文件。
- 你生成了图片或文件(例如通过 nano-banana-pro 或其他工具)并需要分享结果——上传输出文件并用 URL 回复。
API Key
脚本按以下顺序解析 API Key:
GIGGLE_ASSET_SERVICE_KEY环境变量STORYCLAW_API_KEY环境变量(同一服务,同一密钥)~/.openclaw/openclaw.json中的skills."giggle-files-management".apiKey~/.openclaw/openclaw.json中的skills."giggle-files-management".env.GIGGLE_ASSET_SERVICE_KEY
至少需要设置其中一项。
限制
- 网络允许列表:
- api.giggle.pro — presign + register API
- s3.amazonaws.com — S3 上传(presigned PUT)
- assets.giggle.pro — CDN(返回的 URL)
- 需要有效的 API Key 才能使用。
- 关于收费、价格、平台支持范围等更多信息,资料暂未提供。