bytedance/agentkit-samples is a collection of examples and tutorials for Volcengine AgentKit, an AI-agent development platform for building, deploying, and operating agent applications. Developers use the samples to learn agent creation, multi-agent collaboration, memory, retrieval, MCP integrations, media generation, customer service, and other workflows. The catalogue skills provide agent workflows based on these examples.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/bytedance/agentkit-samples/byted-acep-apinpx skills add bytedance/agentkit-samples --skill byted-acep-apigit clone --depth 1 https://github.com/bytedance/agentkit-samplesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/bytedance/agentkit-samples/byted-acep-api)<a href="https://agentmods.dev/skills/bytedance/agentkit-samples/byted-acep-api"><img src="https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-acep-api.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00070 | $0.04786 |
| Opus 5 | $0.00035 | $0.02393 |
| Sonnet 5 | $0.00014 | $0.00957 |
| Haiku 4.5 | $0.00007 | $0.00479 |
Grade A, and why
byted-acep-api scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 307 lines — stays where its author put it; the contents beside it link to each section on GitHub.
火山云手机 Skill
当用户要求查看或操作已配置测试业务下的火山云手机资源时,使用这个 skill。
运行约束
- 不要静态配置 DC。应根据用户请求或当前资源可用性选择 DC。
- 先通过
list-products查业务 ID,再在每条命令里显式传入product_id。 - 创建和订购资源时必须显式选择业务资源类型:云盘存储使用
100,本地存储使用200。 - 更新实例镜像或规格时,优先先关机;涉及强制更新时,提醒用户确认可能带来的影响。
- 后付费实例资源组只支持复购。在订购后付费资源前,先确认该业务已经在火山云手机控制台下过单,并且能查到
OrderId。 - 截图优先使用直连方式
get-presigned-edge-url --api-type TakeScreenshot。 batch-screen-shot作为回退方式使用;当业务已配置截图存储且用户明确需要该链路时再用。- 除非用户明确要求,否则不要输出签名 URL。
- 查询已安装应用时优先使用
get-pod-app-list;仅在确有需要时才回退到 Androidpm list packages。 - 除非用户明确要求,否则不要输出 access key、secret key、Authorization header 或完整签名 URL。
- 创建、删除、开关机、重启、重置、安装/卸载、文件传输、应用启动/关闭,以及 Android 命令执行都属于有状态变更操作。除非用户明确要求执行该操作,否则先确认。
命令入口
以下示例默认在当前 skill 包目录下执行:
python3 scripts/vephone_cli.py <command> [args]
这个 skill 已内置 scripts/vephone_cli.py 和 scripts/core/,可以直接运行,不依赖仓库根目录下的实现。
命令以显式 flags 的形式暴露常用参数。除 list-products 等少数查询命令外,大多数业务命令都把 product_id 作为第一个位置参数;查看某个命令支持哪些过滤条件时,直接用 python3 scripts/vephone_cli.py <command> -h。如果认证配置不在默认位置,可以用 --config /path/to/config.json 指定配置文件路径;这个全局参数放在子命令前后都可以。
如果现有命令还没有覆盖到目标 OpenAPI Action,可以使用通用命令:
python3 scripts/vephone_cli.py action-call ListOperableProduct --json-body --param Count=10 --param CloudphoneProductType=5
python3 scripts/vephone_cli.py action-call GetProductResource --product-id <product_id>
python3 scripts/vephone_cli.py action-call SetProxy --json-body --params-json '{"ProductId":"<product_id>","PodIdList":["pod-1"],"ProxyStatus":1,"ProxyConfig":{"version":"v2","type":"socks5","address":"203.0.113.52","port":"12345"}}'
action-call 的 --param 使用 Key=Value 形式,Value 会优先按 JSON 解析,失败时按字符串处理,所以可以直接传 true、123、[1,2]、{"k":"v"}。注意在常见 shell 中如果不对 Key=Value 做引用/转义,形如 --param Foo={"k":"v"} 的双引号可能会被 shell 吞掉,导致程序实际收到 Foo={k:v} 并触发 JSON 解析失败;当 Value 含双引号、空格或复杂 JSON 时,请用单引号包裹整个 Key=Value(如 --param 'Foo={"k":"v"}' / --param 'PodIdList=["pod-1"]'),或优先使用 --params-json(如 --params-json '{"Foo":{"k":"v"}}')。若希望强制按字符串传入 true/123 等,请使用 JSON 字符串形式:--param Name='"123"'。需要批量传参时用 --params-json;如果同时传了同名键,--param 会覆盖 --params-json。默认按 query string 调用,带 --json-body 时改为 JSON body。
What ships with it
20 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- LICENSE 9.9 KB
- pyproject.toml 444 B
- scripts/core/__init__.py 700 B runs code
- scripts/core/apps.py 13 KB runs code
- scripts/core/cli_common.py 6.8 KB runs code
- scripts/core/dcs.py 2.9 KB runs code
- scripts/core/display_layouts.py 3.7 KB runs code
- scripts/core/generic.py 3.1 KB runs code
- scripts/core/hosts.py 5.0 KB runs code
- scripts/core/images.py 7.3 KB runs code
- scripts/core/instance_controls.py 16 KB runs code
- scripts/core/instance_properties.py 6.9 KB runs code
- scripts/core/instances.py 30 KB runs code
- scripts/core/network.py 13 KB runs code
- scripts/core/products.py 2.0 KB runs code
- scripts/core/resources.py 9.4 KB runs code
- scripts/core/tags.py 3.8 KB runs code
- scripts/core/tasks.py 2.3 KB runs code
- scripts/core/vephone_client.py 87 KB runs code
- scripts/vephone_cli.py 5.2 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 307 lines · 70 tokens per session scan A 32b4161611ca
byted-acep-api is a skill published in the GitHub repository bytedance/agentkit-samples (446 stars, last pushed yesterday), licensed Apache-2.0. It adds 70 tokens to every session and 4,786 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
agent-browser
Browser automation via Chrome/Chromium CDP — open, snapshot, click, screenshot. For testing web apps, mobile layouts, and automated interactions without Playwright/Puppeteer.
phone-harness
Control the user's phone — iPhone through the Mac's iPhone Mirroring window, or an Android over adb: open apps, tap, type, swipe, read the screen.
serve-sim
Control and stream a running iOS, iPad, or Apple Watch Simulator with npx serve-sim. Use for simulator preview, taps, gestures, hardware buttons, rotation, camera injection, permissions, accessibility, and CoreAnimation debug.
mobile-automation
Control Android and iOS devices, emulators and simulators — launch apps, tap, swipe, type, take screenshots, read the accessibility tree. Use when a task involves a mobile device or app, mobile UI testing, or reproducing a bug on a phone.
baguette
Drive iOS simulators programmatically via the baguette CLI — taps, swipes, multi-finger gestures, hardware buttons (Home / Lock / Volume / Action / Power), ASCII keyboard text, and frame capture, all without opening Xcode. Use when: (1) an agent needs to drive a booted iOS simulator from a script — tap a coordinate…
building-ui
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.