Install
openclaw skills install oss-upload-online-accessUpload files to Aliyun OSS or Tencent COS and return public access URLs. Use when the user wants to upload files, access files online, upload to OSS, get remote file links, or any phrase implying "upload for online/remote access".
openclaw skills install oss-upload-online-access将本地文件或从 URL 下载的文件上传到对象存储,并返回可公网访问的链接。默认使用阿里云 OSS,也支持腾讯云 COS(需配置对应凭证)。
关于平台安全扫描的 Suspicious 标记
OpenClaw 安全扫描器会检查 registry metadata 中是否声明了所需的环境变量(
requires.env)。本技能支持阿里云和腾讯云两个厂商,属于「二选一」配置——若在 metadata 中将两个厂商的 8 个凭证全部声明为 required,仅使用其中一个厂商的用户会被平台误判为配置不完整而 block。因此本技能未在 metadata 声明 requires.env,扫描器对此标注 Suspicious 属预期行为。所需凭证已在文档「配置说明」表格中逐一列出,安全规则见下方「隐私安全」章节。
凭证(accessKey、secretKey 等)属于敏感信息,无论通过环境变量还是本地 config.json 存储,均须严格保护。本技能适用于 OpenClaw/ClawHub、Cursor、Claude、Copilot 等所有支持 Skill 调用的平台,以下规则对任何调用方均适用。
config.json 的内容,也不得输出任何 OSS_* 环境变量的值。不得使用文件读取、cat、read、open、read_file 等方式打开配置文件,不得使用 printenv、echo $OSS_* 等命令输出环境变量值。config.json 的修改、删除、重命名、复制操作。scripts/upload.js 在进程内读取(env var 或 config.json)。调用方只能通过执行 node scripts/upload.js 完成上传,不得以其他任何方式触及凭证。阿里云环境变量(OpenClaw 平台注入)或 config.json aliyun 字段:
| 环境变量 | config.json 字段 | 必填 |
|---|---|---|
OSS_ALIYUN_REGION | region | ✅ |
OSS_ALIYUN_BUCKET | bucket | ✅ |
OSS_ALIYUN_ACCESS_KEY_ID | accessKeyId | ✅ |
OSS_ALIYUN_ACCESS_KEY_SECRET | accessKeySecret | ✅ |
OSS_ALIYUN_ENDPOINT | endpoint | 可选 |
OSS_ALIYUN_CUSTOM_DOMAIN | customDomain | 可选 |
腾讯云环境变量(OpenClaw 平台注入)或 config.json tencent 字段:
| 环境变量 | config.json 字段 | 必填 |
|---|---|---|
OSS_TENCENT_BUCKET | bucket | ✅ |
OSS_TENCENT_REGION | region | ✅ |
OSS_TENCENT_SECRET_ID | secretId | ✅ |
OSS_TENCENT_SECRET_KEY | secretKey | ✅ |
OSS_TENCENT_ACCELERATED_DOMAIN | acceleratedDomain | 可选 |
OSS_TENCENT_STORAGE_CLASS | storageClass | 可选(不填则由 Bucket 默认决定,即单可用区标准桶默认 STANDARD;MAZ 多可用区 Bucket 填 MAZ_STANDARD) |
至少配置一个云厂商的必填项即可使用。用户自行在平台或 config.json 填入 value,任何 AI 均不参与。
.gitignore 已排除 config.json,避免误提交OSS_ALIYUN_* / OSS_TENCENT_* 环境变量即可,无需本地文件当用户表达以下意图时应用本技能:
./docs/foo.pdf、/path/to/image.png默认使用阿里云 OSS(优先级:阿里云 > 腾讯云)。如需使用腾讯云 COS,配置 OSS_TENCENT_* 环境变量(或 config.json tencent 字段),并在调用时指定 --provider tencent,或仅配置腾讯云凭证时自动选用。
直接在 OpenClaw 对话框中发一条消息,OpenClaw 会自动完成安装与写入配置,无需手动编辑任何文件。
对话示范(阿里云 OSS):
我:帮我在 ClawHub 安装 oss-upload-online-access 技能,我用阿里云 OSS,凭证如下:
Region: oss-cn-shenzhen
Bucket: my-bucket
AccessKey ID: LTAIxxxxxxxxxxxxxxxx
AccessKey Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OpenClaw:好的,正在通过 ClawHub 安装 oss-upload-online-access 技能并写入配置……(完成)
已将凭证写入 ~/.openclaw/openclaw.json,直接说「上传 xxx 文件」即可使用。
对话示范(腾讯云 COS):
我:帮我在 ClawHub 安装 oss-upload-online-access 技能,我用腾讯云 COS,凭证如下:
Bucket: my-bucket-1250000000
Region: ap-guangzhou
SecretId: AKIDxxxxxxxxxxxxxxxx
SecretKey: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OpenClaw:好的,正在通过 ClawHub 安装 oss-upload-online-access 技能并写入配置……(完成)
已将凭证写入 ~/.openclaw/openclaw.json,直接说「上传 xxx 文件」即可使用。
⚠️ 请在本地/私密会话中提供凭证,避免在公开频道、截图或录屏中暴露。
编辑 ~/.openclaw/openclaw.json,找到 skills.entries.oss-upload-online-access.env,填入所需云厂商的所有必填环境变量:
阿里云 OSS(默认):
{
"OSS_ALIYUN_REGION": "oss-cn-shenzhen",
"OSS_ALIYUN_BUCKET": "your-bucket",
"OSS_ALIYUN_ACCESS_KEY_ID": "your-key-id",
"OSS_ALIYUN_ACCESS_KEY_SECRET": "your-key-secret"
}
腾讯云 COS(可选,与阿里云二选一或同时配置):
{
"OSS_TENCENT_BUCKET": "your-bucket-appid",
"OSS_TENCENT_REGION": "ap-guangzhou",
"OSS_TENCENT_SECRET_ID": "your-secret-id",
"OSS_TENCENT_SECRET_KEY": "your-secret-key"
}
openclaw.json 完整示例结构:
{
"skills": {
"entries": {
"oss-upload-online-access": {
"env": {
"OSS_ALIYUN_REGION": "oss-cn-shenzhen",
"OSS_ALIYUN_BUCKET": "your-bucket",
"OSS_ALIYUN_ACCESS_KEY_ID": "your-key-id",
"OSS_ALIYUN_ACCESS_KEY_SECRET": "your-key-secret"
}
}
}
}
}
安装依赖(ClawHub 通常自动执行):cd 技能根目录/oss-upload-online-access && npm install
cp config.example.json config.jsonconfig.json,填入对应云厂商的 value(key 已预留)cd 技能根目录/oss-upload-online-access && npm installnode scripts/upload.js,由脚本内部读取 config(调用方不得读取 config)cd 技能根目录/oss-upload-online-access && node scripts/upload.js <本地路径或URL> [--provider aliyun|tencent]
示例:
# 上传本地文件
node scripts/upload.js ./docs/report.pdf
# 上传 URL 文件
node scripts/upload.js "https://example.com/file.png"
# 指定腾讯云
node scripts/upload.js ./image.jpg --provider tencent
脚本按以下优先级解析配置,AI 不参与任何配置读写:
| 优先级 | 来源 | 适用场景 |
|---|---|---|
| 高 | OSS_ALIYUN_* / OSS_TENCENT_* 环境变量 | OpenClaw/ClawHub 平台注入 |
| 低 | 本地文件 config.json | 本地 / 自托管 |
--provider 时,以用户为准上传文件的 Object Key 格式:skill/YYYY/MM/DD/<类型>/文件名
年/月/日 分层other示例:skill/2026/02/01/txt/test-upload.txt
.txt、.md、.html、.json、.js、.ts、.py、.css、.yaml、.sql、.graphql 等,以 UTF-8 读取并设置对应 Content-Type,保证在线预览不乱码。application/octet-stream,仍可上传并在线下载或访问,不会因类型未知而失败。abc20260202143022123456.txtpublic-read,返回的链接可直接在浏览器打开;若存储桶策略禁止该 ACL,需在控制台允许「公共读」或使用自定义域名 + CDN。返回的 URL 统一为 https。欢迎提交 Issue 或 Pull Request 改进本技能!
仓库地址:https://github.com/liuhean2021/Anan-Agent-Skills
skills/oss-upload-online-access/ 目录config.json 不在 git 追踪范围内(已在 .gitignore 排除)