Install
openclaw skills install zhiyierxing-auto-phoneProduct-grade deployment and operation skill for Zhipu AutoGLM-Phone / Open-AutoGLM.Use when the user wants a complete, runnable local setup: clone the GitHub repo onto the computer, prepare Android/HarmonyOS/iPhone devices, install ADB Keyboard, enable developer options and USB debugging, configure model endpoints, start the agent, verify deployment, and troubleshoot failures with exact user instructions.
openclaw skills install zhiyierxing-auto-phoneBuild and run a real phone-agent deployment.
Prefer Zhipu's AutoGLM-Phone model for this workflow.
Official docs: https://docs.bigmodel.cn/cn/guide/models/vlm/autoglm-phone
Do not stop at explanation. Move the setup forward, or give the exact next user action when a manual step is required.
The user should be able to speak in plain natural language. Do not require the user to understand deployment steps, repo layout, venv usage, or model flags before using this skill. Interpret the user's request as the target phone task, then complete the prerequisite setup chain automatically when needed.
Default behavior:
.venv, installed dependencies, device connection, and model env varsThis skill expects the following variables when applicable:
MODEL_BASE_URL: OpenAI-compatible model endpoint, e.g. https://open.bigmodel.cn/api/paas/v4 or http://localhost:8000/v1MODEL_NAME: model name to call, e.g. autoglm-phoneMODEL_API_KEY: API key for BigModel or provider endpoints that require authOptional but useful:
PHONE_DEVICE_TYPE: android, harmonyos, or iphonePHONE_CONNECTION_MODE: usb or wifiPHONE_DEVICE_ID: explicit adb/hdc device idOPEN_AUTOGLM_REPO_DIR: local repo pathFor Android device reuse:
adb can still see itThis skill covers:
Users may not say "deploy" or mention this skill name at all. They may say things like:
Treat requests like these as end-to-end task requests, not as documentation questions. The skill should infer that it may need to deploy, configure, verify, and then execute.
Ask only for what is missing and only when it truly blocks progress:
android, harmonyos, or iphoneusb or wifibigmodel, third-party-openai-compatible, or self-hostedbase-url, model, and apikey if the model endpoint is not already knownTreat the job as complete only when all of these are true:
.venv exists in the repo root and is used for Python execution.venv and critical runtime imports succeed.venvWhen the user gives a phone task in natural language, execute in this order:
Extract the real user goal, for example:
Do not dump setup instructions first unless setup is actually required.
Default to running the full workflow first, not to asking setup questions first.
Use:
scripts/ensure_and_run_task.py as the default pathscripts/run_phone_task.py only when you already know the environment is ready and want a shorter pathAssume the environment may already be usable. Let the workflow prove what is missing.
Before telling the user to install or configure anything, prefer to let the workflow reuse:
.venvDo not ask the user to reinstall or reconfigure something that may already be present.
For Android:
adb connect automatically before asking the user to reconnect anythingadb devices, prefer reusing it automaticallyFor host-side tools and environments that the agent can safely install or repair on the local machine, do that proactively instead of pushing the work to the user.
Examples:
adb / Android platform-tools when missing and locally installable.venv.venvOnly stop and ask the user when the blocker is not locally self-serviceable or requires user action on the phone or in an external service.
If the workflow fails or reports missing pieces, then explain:
Examples of appropriate user prompts after a real blocker:
adb devices is empty → ask the user to reconnect the cable / accept authorization / enable USB debuggingMODEL_BASE_URL, MODEL_NAME, MODEL_API_KEYDo not give those instructions before the workflow has evidence they are needed.
Use scripts/verify_open_autoglm.py and any upstream verification script when appropriate.
Use a neutral smoke-test prompt for verification.
Do not use a realistic downstream app task like “打开美团搜索附近的火锅店” as the default verification prompt, because it pollutes logs and makes it look like the real user task was replaced.
Prefer a format-only verification prompt such as a minimal Wait action.
If verification fails, explain:
If the only failure is a transient repo update/network issue but the local repo, Python runtime, .venv, dependencies, and model path are already usable, continue with the local repo instead of blocking unnecessarily.
After deployment, env, and verification are ready, run the actual natural-language task the user asked for.
Examples:
Keep moving the workflow forward until the task is completed or a real blocker is reached.
This skill must support Windows hosts in addition to macOS and Linux.
Rules:
bash is the only shell available.venv/bin/activate is the only activation pathpython3 is new enoughExamples:
adb and a newer Pythonwinget when available for Android platform tools and Python, otherwise provide exact manual stepsUse ADB Keyboard only on Android.
If typing fails, tell the user to:
Useful commands:
adb shell ime enable com.android.adbkeyboard/.AdbIME
adb shell ime set com.android.adbkeyboard/.AdbIME
adb shell ime list -a
adb shell ime reset
When something breaks, respond with:
Prefer explicit status tags in script output when available:
[auto-fixed]: a local blocker was repaired automatically[phone-action-needed]: the user must do something on the phone[decision-needed]: the user must provide missing intent or choose among unresolved options[takeover-paused]: execution paused at a real takeover boundary[config-needed]: model or environment configuration is missing[runtime-failed]: execution failed and needs investigation[safe-to-retry]: the workflow can be rerun after the named blocker is fixed[diagnosis] ...: post-run classification of the most likely blocker or success stateDo not answer with generic encouragement alone.
adb devices empty: cable/authorization/debugging issueADB Keyboard is not a front-loaded blocker by default. Treat it as a follow-up fix only when text input actually fails, or when the runtime explicitly proves IME is the blocker.
Always request user takeover only for:
Default automation rule:
For public comments, posts, and messages:
Useful helper scripts in this skill:
scripts/check_skill_ready.py: preferred cross-platform readiness check for repo, .venv, model env vars, and device pathscripts/check_skill_ready.sh: shell-oriented readiness check for macOS/Linux-style environmentsscripts/install_host_tools.py: preferred cross-platform host-tool installer for self-serviceable local dependencies such as adb when supportedscripts/install_host_tools.sh: shell-oriented host-tool installer for macOS/Linux-style environmentsscripts/clone_or_update_open_autoglm.py: preferred cross-platform repo sync helperscripts/clone_or_update_open_autoglm.sh: shell-oriented repo sync helperscripts/check_android_ready.py: preferred cross-platform Android readiness checkscripts/check_android_ready.sh: shell-oriented Android readiness checkscripts/prepare_android_connection.py: auto-prepare Android connectivity by reusing remembered Wi‑Fi targets, enabling TCP/IP on authorized USB devices, and saving device memory for future runsscripts/device_memory.py: device-memory helper for persisting remembered Android identifiers and Wi‑Fi targetsscripts/check_harmonyos_ready.py: preferred cross-platform HarmonyOS readiness checkscripts/check_harmonyos_ready.sh: shell-oriented HarmonyOS readiness checkscripts/check_iphone_ready.py: preferred cross-platform iPhone reminder/check helperscripts/check_iphone_ready.sh: shell-oriented iPhone reminder/check helperscripts/deploy_open_autoglm.py: preferred cross-platform deployment flow for repo sync, .venv, and dependency installationscripts/deploy_open_autoglm.sh: shell-oriented deployment flow for macOS/Linux-style environmentsscripts/verify_open_autoglm.py: verify the model endpointscripts/run_phone_task.py: preferred cross-platform real-task runner from .venvscripts/run_phone_task.sh: shell-oriented task runner from .venvscripts/ensure_and_run_task.py: preferred cross-platform full workflow for natural-language tasks, including readiness check, deploy/repair, verification, and executionscripts/ensure_and_run_task.sh: shell-oriented full workflow for macOS/Linux-style environmentsRead these when needed:
references/deployment-flow.mdreferences/adb-keyboard.mdreferences/troubleshooting.md