核心用法
oss-upload-online-access 是一款面向开发者与AI Agent的文件上传技能,核心功能是将本地文件或远程URL文件上传至对象存储服务(默认阿里云OSS,可选腾讯云COS),并返回可直接在浏览器打开的公网HTTPS链接。
使用方式极为简洁:执行 node scripts/upload.js <文件路径或URL> [--provider aliyun|tencent] 即可完成上传。脚本内置智能下载(支持HTTP/HTTPS URL)、文件大小检查(<100MB)、MIME类型自动识别、安全文件名生成(随机前缀+时间戳+随机后缀),以及上传后的双重校验机制(SDK head校验 + 公网HEAD请求),确保返回的链接真实可访问。
配置方式灵活:支持OpenClaw/ClawHub平台通过环境变量注入(OSS_ALIYUN_* 或 OSS_TENCENT_*),也支持本地 config.json 文件配置,优先级为环境变量 > 配置文件。
显著优点
1. 开箱即用,极简交互:无需编写上传代码,一行命令完成从文件到可访问链接的完整流程,大幅降低文件分享门槛。
2. 双重校验保障可靠性:上传后不仅通过SDK确认对象存在,还对公网URL发起HEAD请求,确保链接在返回给用户前已可访问,避免"假上传成功"的尴尬场景。
3. 跨平台兼容性强:支持OpenClaw、ClawHub、Cursor、Claude、Copilot等主流AI Agent平台,适配多种使用环境。
4. 安全设计严谨:凭证(accessKey/secretKey)由脚本进程内读取,AI/Agent被明确禁止读取配置文件、输出环境变量或传播凭证信息;.gitignore已排除配置文件,防止误提交。
5. 文件类型覆盖全面:内置大量MIME映射,支持图片、视频、音频、文档、压缩包、3D模型、源码等各类文件,未知类型自动降级为application/octet-stream。
6. 智能存储路径管理:按skill/YYYY/MM/DD/<类型>/文件名自动分层存储,便于后续管理与清理。
潜在缺点与局限性
1. 单文件100MB限制:大文件需分片上传或其他方案,本技能未实现断点续传或分片上传功能。
2. 公网访问依赖存储桶策略:上传时设置public-read ACL,若存储桶策略禁止公共读或Bucket为私有,链接将无法访问,需用户手动调整云控制台配置或使用自定义域名+CDN。
3. 凭证配置门槛:首次使用需自行在云厂商控制台获取AccessKey/SecretKey并配置,对纯新手有一定学习成本;且凭证管理不当存在泄露风险。
4. 仅支持阿里云与腾讯云:暂未扩展至AWS S3、Google Cloud Storage等国际主流对象存储,出海场景受限。
5. 无文件生命周期管理:上传后文件永久存储(除非手动删除),长期运行可能产生持续存储费用,需用户自行制定清理策略。
适合人群
- AI Agent开发者:需要在对话中快速生成可分享的文件链接
- 内容创作者:需要临时托管图片、PDF、音视频等素材并获取直链
- 团队协作场景:快速共享报告、日志、截图等,无需搭建复杂文件服务
- 自动化工作流:集成到CI/CD或脚本流水线中,实现构建产物自动上传与分发
常规风险
1. 凭证泄露风险:AccessKey/SecretKey属于高敏感信息,若通过聊天记录、截图、录屏泄露,可能导致存储桶被恶意利用(刷流量、上传违法内容、数据删除等)。务必使用子账号最小权限原则,定期轮换密钥。
2. 公网可访问性风险:上传文件默认可被任何知道链接的人访问,敏感文件需额外加密或选择私有Bucket+签名URL方案(本技能未支持)。
3. 费用风险:公网下行流量、存储容量、请求次数均可能产生费用,热门文件被大量访问可能导致意外账单。
4. 依赖第三方云服务:服务可用性受阿里云/腾讯云SLA约束,地域故障或API变更可能影响功能。
5. 平台Suspicious标记:因技术原因未在metadata声明requires.env,OpenClaw安全扫描器会标注Suspicious,属预期行为,不影响实际使用。