用途:该技能提供脚本,用于在火山引擎或 BytePlus 的 TOS 兼容对象存储(类似 AWS S3)上传文件/目录,以及从 URL 下载文件到本地供 Agent 处理。
主要能力:下载脚本 file_download.py 支持一个或多个 URL,可指定 --save-dir 保存目录(默认 /tmp)与 --filenames 自定义文件名,返回下载文件的绝对路径。上传脚本 tos_upload.py 自动识别传入路径为文件还是目录,上传文件后输出可分享的签名 URL,上传目录后输出 tos://bucket/path 形式的 TOS 路径;目录上传会保留完整层级结构。脚本按会话组织路径,使用 TOOL_USER_SESSION_ID 作为前缀,未设置时回退为 YYYYMMDD_HHMMSS 时间戳;bucket 不存在时自动创建(私有 ACL)。
使用方式:下载示例 python scripts/file_download.py https://example.com/data.csv;上传示例 python scripts/tos_upload.py /path/to/output.mp4 --bucket my-bucket。上传参数包括必填的 --bucket,可选 --region 与 --expires(签名 URL 有效期,默认 604800 秒即 7 天,仅对文件生效)。region 取值优先级为 --region、TOS_REGION、DATABASE_TOS_REGION,最后为提供商默认(BytePlus 为 ap-southeast-1,火山引擎为 cn-beijing)。认证需要 VOLCENGINE_ACCESS_KEY 与 VOLCENGINE_SECRET_KEY,或 VeFaaS IAM Role 自动获取凭证;TOS_REGION=ap-southeast-1 优先选择 BytePlus 端点,否则 CLOUD_PROVIDER=byteplus 选择 BytePlus,其余情况使用火山引擎。
适用场景:视频处理(下载源视频、处理、上传结果)、数据分析(下载数据集、上传图表/报告目录)、批处理输出目录上传、项目目录结构导出等。
限制:必须提供 bucket;若报错提示缺少凭证或未配置 IAM Role,需用户提供两个环境变量并写入工作区环境变量文件后重试;脚本对下载重名文件会自动重命名,上传保留原文件名并由会话前缀保证唯一性。未提供收费、价格与平台配额等信息。