Byted Tos File Process
Documentsbyted-tos-file-processByted Tos File Process is an Agent Skill for documents published in the bytedance/agentkit-samples repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
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 '压缩'.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/bytedance/agentkit-samples/blob/HEAD/skills/byted-tos-file-process/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/byted-tos-file-process, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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
# Compress multiple TOS objects into a zip archive and wait for completion
python3 {baseDir}/scripts/file_compress.py \
--keys file1.jpg,file2.txt \
--format zip \
--output-key output/archive.zip \
--wait
# Uncompress a zip archive and wait for completion
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_jobsAPI withjob_type=FileCompressorjob_type=FileUncompress. Authentication is handled viapre_signed_urlfrom the TOS Python SDK and the TOS identity declared in themetadatablock above. - Supported archive formats: Compress supports
zip,tar, andzst. 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
--waitflag. - Language: Reply in the user's preferred language.
Further reading
- Setup and environment: README.md
- Parameter reference: REFERENCE.md
- End-to-end workflows: WORKFLOWS.md