核心用法
oss-upload-online-access 是一个面向开发者和技术用户的云存储自动化工具,主要解决「本地文件快速上线」的痛点。用户只需提供本地文件路径或远程URL,即可自动完成上传并返回可直接分享的公网链接。
执行方式:
node scripts/upload.js <路径或URL> [--provider aliyun|tencent]
支持场景:
- 本地文件上传:
./docs/report.pdf - 远程URL转存:
https://example.com/image.png - 指定云厂商:
--provider tencent
存储路径策略:自动按 skill/YYYY/MM/DD/<类型>/文件名 组织,文件名采用随机前缀+时间戳+随机后缀的防冲突格式。
显著优点
1. 开箱即用:同时支持阿里云OSS(默认)和腾讯云COS,通过环境变量或配置文件灵活切换
2. 安全隔离:凭证严格由upload.js内部读取,AI/Agent层完全禁止访问config.json或环境变量值,从源头杜绝密钥泄露
3. 双重校验:SDK head校验对象存在性 → HTTP HEAD校验公网可访问性,确保返回的链接100%可用
4. 智能类型识别:内置100+种MIME类型映射,从常见的图片视频到专业的3D模型(glb/obj/stl)、医学影像(dicom)、开发配置等均有支持
5. 平台适配:针对OpenClaw/ClawHub优化环境变量注入流程,也支持纯本地自托管
潜在缺点与局限性
- 单文件100MB限制:大文件需先压缩或分片
- 公网访问依赖:必须确保存储桶策略允许
public-read,否则链接无法直接打开 - 配置门槛:首次使用需完整配置4-5个凭证字段,对云存储新手有一定学习成本
- 仅限上传:无文件管理、生命周期、CDN刷新等高级功能
- 凭证安全风险:虽然做了层层隔离,但config.json若被误提交到Git仍会造成泄露(虽已配.gitignore)
适合人群
- 开发者快速分享日志、截图、构建产物
- 内容创作者托管临时资源
- 自动化工作流中需要「上传→获取URL」环节的AI Agent
- 需要跨平台(OpenClaw/Cursor/Claude等)统一文件上传能力的用户
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 凭证泄露 | accessKey/secretKey属于高敏感信息 | 严格禁止AI读取配置;使用子账号最小权限;定期轮换密钥 |
| 误配置公网访问 | 存储桶ACL设置不当可能导致数据暴露 | 默认强制`public-read`;建议配合CDN+自定义域名使用 |
| 成本失控 | 公网访问产生下行流量费用 | 建议设置存储桶监控告警;短期分享后手动清理 |
| 链接失效 | 存储桶被删除/策略变更/欠费 | 上传后自动HEAD校验;重要文件建议二次确认 |
技术亮点
该技能在安全架构设计上表现突出:通过「进程隔离+多层禁令」将凭证访问限制在单一脚本内,即使AI被提示注入攻击也无法突破。这种设计模式可为其他需要敏感凭证的Skill提供参考范式。