openclaw-phone
v0.1.10
Published
OpenClaw plugin for AndroidAutoGLM executor nodes
Maintainers
Readme
AndroidAutoGLM OpenClaw Plugin
This plugin lets the official OpenClaw app dispatch full Android phone tasks to an AndroidAutoGLM executor.
It supports 2 transport modes:
gateway: direct OpenClaw Gateway node invocationrelay: account + pairing-code mode for multi-user deployment
What it adds
- Tool:
android_phone_task - Tool:
android_phone_status - Tool:
android_phone_stop - Command:
/android-phone
The Android app stays responsible for the full local execution loop:
- Receive one complete task
- Run the existing AndroidAutoGLM task planner + executor
- Return progress and a final summary
Install
Option 1: install from npm
openclaw plugins install openclaw-phoneThis only installs the plugin package. For the full first-run pairing flow, use the npx command below.
Option 1.5: one command via npx
npx openclaw-phoneThis command is the recommended first-run path. It downloads the npm package temporarily, installs or repairs the local plugin install, writes the relay config, prints a 6-digit pairing code, waits for the Android app to bind, updates the binding token, and then restarts the OpenClaw gateway.
Option 2: install from a local checkout
openclaw plugins install /path/to/AndroidAutoGLM/androidautoglm --linkOption 3: pack then install as a tgz
cd androidautoglm
npm install
npm run pack:plugin
openclaw plugins install ./androidautoglm-0.1.0.tgzOption 4: install from a GitHub Release asset
curl -L -o /tmp/androidautoglm-X.Y.Z.tgz \
https://github.com/wxl482/OpenClaw-Link-AutoGLM/releases/download/plugin-vX.Y.Z/androidautoglm-X.Y.Z.tgz
openclaw plugins install /tmp/androidautoglm-X.Y.Z.tgzopenclaw plugins install does not currently accept remote https://... URLs directly. Download the archive first, then install the local .tgz file.
If you want a Feishu-style customer installer, chain install and setup:
openclaw plugins install /tmp/androidautoglm-latest.tgz
npx openclaw-phone -- --no-installIf you still want openclaw channels add --channel openclaw-phone for manual debugging on OpenClaw 2026.3.13, seed the plugin catalog first:
bash register-channel-catalog.shOption 5: install from the public relay download endpoint
curl -L -o /tmp/androidautoglm-latest.tgz \
https://relay.youseeyou.cloud/downloads/androidautoglm-latest.tgz
openclaw plugins install /tmp/androidautoglm-latest.tgzOption 6: one-command installer
curl -fsSL https://relay.youseeyou.cloud/downloads/install-androidautoglm.sh | bashThe installer registers the local plugin catalog entry first. In compatibility mode it then downloads the latest plugin package, installs it, immediately starts the pairing flow, and finally tries to restart the OpenClaw gateway.
Optional checksum:
curl -fsS https://relay.youseeyou.cloud/downloads/androidautoglm-latest.tgz.sha256
shasum -a 256 /tmp/androidautoglm-latest.tgzThe package intentionally only ships:
index.jssetup-entry.jsopenclaw.plugin.jsonREADME.md
Recommended production mode: relay
Relay mode is the path intended for shared/public deployment:
- AndroidAutoGLM phone executors authenticate with an
account access token - each OpenClaw instance gets a stable
controllerId - the plugin creates a 6-digit pairing code
- the Android app claims the code
- the server marks that OpenClaw as the account's active controller
- latest pairing wins
Plugin config example
{
"transport": "relay",
"relayUrl": "wss://relay.youseeyou.cloud/ws",
"defaultNode": "android-12345678"
}The standard plugin pairing flow does not require customers to know a global relay secret. The Android app should keep using only the account accessToken.
If you deliberately run a hardened relay that still protects unbound controller WebSocket sessions with a server token, you may add:
{
"relayServerToken": {
"source": "env",
"id": "ANDROIDAUTOGLM_RELAY_SERVER_TOKEN"
}
}That token should stay on the OpenClaw side only.
First-time pairing flow
Recommended user flow:
- Run
npx openclaw-phone. - Start the Node relay server from
remote-server/and expose it ashttps://relay.youseeyou.cloud. - The terminal prints a 6-digit pairing code and keeps waiting.
- In the Android app:
- open
Settings > Remote Control - paste the account access token
- save
- enter the 6-digit pairing code
- tap
Bind OpenClaw
- open
- After the phone confirms pairing, the terminal continues automatically, stores the binding token, and restarts the gateway.
The guided setup path still works from the OpenClaw onboarding/channel UI because this package ships a setup-entry.js, but the direct npx installer is more reliable for customer-facing first runs.
Manual fallback is still available after the plugin is loaded:
/android-phone pairIf you want to force a manual sync first, /android-phone bind is still available, but it is no longer required for the normal user flow.
For production you typically only need:
transport: "relay"relayUrl: "wss://relay.youseeyou.cloud/ws"
Relay commands
/android-phone pair
/android-phone bind
/android-phone pair-status
/android-phone nodes
/android-phone status
/android-phone run 打开系统设置
/android-phone stopDirect mode: gateway
Gateway mode is still supported for local / private setups where the Android app connects as an official OpenClaw node.
Gateway config example
{
"transport": "gateway",
"defaultNode": "OnePlus PLK110",
"defaultTimeoutMs": 900000,
"gatewayUrl": "ws://127.0.0.1:18789",
"gatewayToken": ""
}Required allowlist
{
"gateway": {
"nodes": {
"allowCommands": [
"androidautoglm.task.run",
"androidautoglm.task.stop",
"androidautoglm.task.status"
]
}
}
}Shortcut:
/android-phone allowTool behavior
The prompt-facing tools are intentionally thin:
android_phone_task: runs one complete phone task and waits for the final resultandroid_phone_status: reports online / idle / busy stateandroid_phone_stop: cancels the current phone task
The plugin also injects a small system hint so the main OpenClaw agent prefers these tools instead of the generic nodes tool for Android phone tasks.
Release flow
This repo ships a GitHub Actions workflow at plugin-release.yml.
Release convention:
- bump package.json
- create a git tag like
plugin-v0.1.0 - push the tag
- GitHub Actions builds
androidautoglm-0.1.0.tgzand publishes it as a release asset
