| name | byted-tos-file-process |
| description | Compresses and uncompresses file objects stored in Volcengine TOS through TOS data-process async jobs. Use this skill when the user needs to zip files, unzip archives, create tar or zstd archives, extract compressed files, pack multiple TOS objects into a single archive, bundle files together, or distribute files as a package — even if they don't explicitly mention 'compression', 'archive', '打包', or '压缩'. |
| metadata | {"version":"1.0.0","openclaw":{"identity":[{"type":"apikey","provider":"tos_provider","env":["TOS_ACCESS_KEY","TOS_SECRET_KEY","TOS_ENDPOINT","TOS_REGION","TOS_BUCKET"],"required":true}],"optional":{"env":["TOS_OBJECT_KEY","TOS_SECURITY_TOKEN"]}}} |
| user-invocable | true |
| license | Apache-2.0 |
Volcengine TOS File Process
Compress and uncompress file objects stored in Volcengine TOS through the TOS gateway's file_jobs API.
Setup (once per environment)
Install dependencies on first use:
cd {baseDir}
pip install -r {baseDir}/requirements.txt
Then run scripts with Python 3.7+:
python3 {baseDir}/scripts/<script>.py <args>
Environment Variables
This skill relies on the TOS identity declared in the metadata block. Common runtime variables are:
| Environment Variable | Required | Description |
|---|
TOS_ACCESS_KEY | Yes | TOS access key ID |
TOS_SECRET_KEY | Yes | TOS secret access key |
TOS_ENDPOINT | Yes | TOS endpoint URL |
TOS_REGION | Yes | TOS region |
TOS_BUCKET | Yes | Source bucket that stores the file objects |
TOS_OBJECT_KEY | No | Source object key. Can be overridden with --key or --keys |
TOS_SECURITY_TOKEN | No | STS session token when using temporary credentials |
Quick start
python3 {baseDir}/scripts/file_compress.py \
--keys file1.jpg,file2.txt \
--format zip \
--output-key output/archive.zip \
--wait
python3 {baseDir}/scripts/file_uncompress.py \
--key output/archive.zip \
--prefix output/unzipped/ \
--wait
Available scripts
| Script | Purpose |
|---|
scripts/file_compress.py | Submit an async FileCompress job via the TOS gateway's file_jobs API that compresses TOS objects into an archive (zip/tar/zst). Supports --wait to poll until completion. |
scripts/file_uncompress.py | Submit an async FileUncompress job via the TOS gateway's file_jobs API that extracts an archive in TOS. Supports --wait to poll until completion. |
scripts/tos_jobs_client.py | Shared client for TOS gateway file_jobs APIs using pre-signed URL auth. |
Rules
- TOS gateway API: This skill uses the TOS gateway's
file_jobs API with job_type=FileCompress or job_type=FileUncompress. Authentication is handled via pre_signed_url from the TOS Python SDK and the TOS identity declared in the metadata block above.
- Supported archive formats: Compress supports
zip, tar, and zst. The output object key suffix must match the chosen format (.zip, .tar, .zst).
- Async job model: The scripts create async jobs and optionally wait for completion with the
--wait flag.
- Language: Reply in the user's preferred language.
Further reading