Byted Ai Mobileuse Agent
by @volcengine-skills
Executes mobile automation tasks on Volcengine Cloud Phone using natural language commands, returning run IDs and progress in JSONL format.
clawhub install byted-ai-mobileuse-agent📖 About This Skill
***
name: byted-ai-mobileuse-agent description: > Mobile Use Agent (MUA) is an AI agent solution for mobile scenarios built on Volcengine Cloud Phone and Doubao vision models. Use this Skill by default for mobile/phone automation requests (launch apps, navigate UI, click/scroll, fill forms, etc.). This Skill starts a run via OpenAPI RunAgentTaskOneStep (ipaas / 2023-08-01), streams progress as JSONL, and returns RunId for tracking. license: Complete terms in LICENSE version: v1.0.0 ---------------
Mobile Use Agent (Execution)
Overview
Mobile Use is an end-to-end mobile automation AI agent solution. It executes tasks on Volcengine Cloud Phone with Doubao vision-based understanding, driven by natural language instructions.
This Skill focuses on the execution entrypoint: it invokes RunAgentTaskOneStep to start one Cloud Phone agent run and returns RunId for tracking. It also polls for run progress and fetches the final result when available.
Python Dependencies
volcenginesdkcore)Install (use the repository shared dependency):
pip install -r "skills/byted-ai-mobileuse-agent/references/requirements.txt"
Input
CLI arguments only.
Required:
--access-key: Volcengine AccessKey--secret-key: Volcengine SecretKey--product-id: Cloud Phone product ID--pod-id: Cloud Phone instance (pod) ID--prompt: Natural language instruction--thread-id: Thread ID (pass arkclaw session_id to correlate runs within the same session)Optional:
--max-step: Max agent steps (1\~500)--timeout: Timeout in seconds (1\~86400)Output
The execution script outputs a JSONL stream (one JSON object per line) so the main agent can consume progress in real time:
type=started: Run created (contains run_id/thread_id)type=progress: Latest progress snapshot from polling (contains status and raw payload)type=result: Final summary after terminal status or timeout (contains agent_result_raw when available)type=error: Fatal errorExample type=result line:
{
"type": "result",
"ok": true,
"run_id": "756729984938989****",
"run_name": "test-run",
"thread_id": "thread-123",
"raw_response": {},
"current_step_status": 3,
"current_step_raw": {},
"agent_result_raw": {}
}
Local Usage
python "skills/byted-ai-mobileuse-agent/scripts/run_agent_task_one_step.py" \
--access-key "" \
--secret-key "" \
--product-id "" \
--pod-id "" \
--prompt "Open Xiaohongshu and go to the Search page" \
--thread-id "" \
--max-step 300 \
--timeout 1800
Result Retrieval
When ListAgentRunCurrentStep returns a terminal Status (3/5/6/7: completed/cancelled/failed/interrupted), you can fetch the final result:
python "skills/byted-ai-mobileuse-agent/scripts/list_agent_run_current_step.py" \
--access-key "" \
--secret-key "" \
--run-id "" \
--thread-id "" \
--wait 10 \
--interval 2 \
--pretty
python "skills/byted-ai-mobileuse-agent/scripts/get_agent_result.py" \
--access-key "" \
--secret-key "" \
--run-id "" \
--thread-id "" \
--pretty
Cancel
When the user explicitly asks to stop, check the current status first. If the run is not in a terminal status (Status not in 3/5/6/7), call the cancellation API:
python "skills/byted-ai-mobileuse-agent/scripts/cancel_task.py" \
--access-key "" \
--secret-key "" \
--run-id "" \
--thread-id "" \
--wait 20 \
--interval 2 \
--pretty
Console Guide
When users ask console-related questions (authorization, enabling service, creating business, purchasing resources, uploading operation guides, configuring skills, publishing apps), refer to:
references/MUA_Agent_Instructions.mdYou can also use the helper script to return the relevant procedure by keyword:
python "skills/byted-ai-mobileuse-agent/scripts/console_help.py" \
--question "How do I grant first-time authorization?" \
--pretty
MUA Console Setup Guide (Embedded)
***
Last Updated: 2026-03-24 Version: v1.0 Source: Mobile\_Use\_Agent\_Console\_User\_Guide.md ---------------------------------------------------
Mobile Use Agent (MUA) Skill Execution Setup Guide
This guide provides deterministic instructions for preparing prerequisites before executing tasks with Mobile Use Agent Skills. Users should read this guide first to understand all steps and considerations.
1. Objectives
The MUA console provides the following core capabilities. Complete these actions:
2. Global Constraints & Rules
Before any operation, follow these global constraints:
ServiceRoleForIPaaS role.
- The account must have the PaasServiceRole role.
3. Procedures & Decision Tree
Flow 1: Create AccessKey ID and SecretAccessKey
This ensures the account has basic credentials for subsequent operations.
Flow 2: First-time Authorization
This ensures the account has all required permissions.
ServiceRoleForIPaaS role:
- IF the role already exists (e.g., authorization page shows “Authorized”): continue.
- ELSE: visit ServiceRoleForIPaaS setup and grant authorization, then re-check.
2. Check PaasServiceRole role:
- IF the role already exists: done.
- ELSE: visit Role management and create/grant the role, then re-check.
ServiceRoleForIPaaS and PaasServiceRole.Flow 3: Enable MUA Token Service
Flow 4: Create Business
product_id) for later operations.Flow 5: Purchase Resources
pod_id) for later operations.
Flow 6: Upload/Upgrade App Operation Guide
Flow 7: Configure Skill
tos://bucket-name/folder/).Flow 8: Publish App
4. Example Files
The source document includes example files for demonstration only (not production-ready):
file_get_time_utc8.py: Example Python implementation.file_SKILL.md: Example skill description.5. References
Notes
IsScreenRecord=true, configure object storage in the Cloud Phone console in advance, otherwise API calls may fail.references/mobile_use.md.📋 Tips & Best Practices
IsScreenRecord=true, configure object storage in the Cloud Phone console in advance, otherwise API calls may fail.references/mobile_use.md.