← Back to Skills Marketplace
moroiser

Phone Controller | 手机操控者

by Morois · GitHub ↗ · v1.0.4 · MIT-0
cross-platform ⚠ suspicious
154
Downloads
0
Stars
0
Active Installs
5
Versions
Install in OpenClaw
/install phone-controller
Description
AI phone controller via ADB + GLM. Controls Android with natural language. | 基于 AutoGLM-Phone 的手机操控技能,用自然语言控制安卓手机。
README (SKILL.md)

Phone Controller | 手机操控者

通过自然语言控制安卓手机,AI 理解屏幕内容并自动规划执行步骤。

核心用法

用户说指令,如:

  • "打开小红书搜索美食"
  • "在QQ群里发消息"
  • "帮我订外卖"

执行规则

  • 只读操作(浏览、搜索、查看)→ 直接执行
  • 写入/发送操作(发消息、下单、支付、改设置、删除数据)→ 必须先向用户确认操作内容,获得明确同意后才执行
  • 敏感界面(登录页、支付页、银行 app)→ 提示用户手动操作,不自动执行
  • 敏感 app 规避:不要在银行、支付、密码管理、含隐私的聊天 app 中使用本技能
  • 操作 allowlist 建议:优先使用只读操作(查看、搜索);写入操作仅限用户明确指定的 app 和动作
  • 每步操作执行后,向用户汇报执行结果

执行前检测(必须)

每次使用前,先确认手机已连接且 ADB Keyboard 就绪:

cd ~/.openclaw/workspace/projects/phone-controller/Open-AutoGLM && source .venv/bin/activate
python main.py --list-devices --quiet

预期输出:✓ 设备IDADB Keyboard...✅ OK


完整部署指南

第一步:电脑端配置

安装 ADB(Linux/macOS)

# Linux
sudo apt install android-tools-adb

# macOS
brew install android-platform-tools

# 验证
adb --version

克隆项目

git clone https://github.com/zai-org/Open-AutoGLM.git \
  ~/.openclaw/workspace/projects/phone-controller/Open-AutoGLM

安装 Python 依赖

cd ~/.openclaw/workspace/projects/phone-controller/Open-AutoGLM
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/pip install -e .

第二步:手机端配置

1. 开启开发者模式

  • 设置 → 关于手机 → 版本号连续点击 10 次
  • 返回设置 → 系统 → 看到「开发者选项」

2. 开启 USB 调试

  • 设置 → 开发者选项 → USB 调试 → 开启
  • 手机用 USB 连接电脑

3. 安装并启用 ADB Keyboard

  • 下载 ADBKeyboard.apk:https://github.com/senzhk/ADBKeyBoard/blob/master/ADBKeyboard.apk
  • 安装后:设置 → 系统 → 语言与输入法 → 键盘 → 启用 ADB Keyboard
  • 设为默认输入法

4. 授权 USB 调试

  • 手机弹出「是否允许 USB 调试」→ 点击「允许并始终允许」

5. 验证连接

adb devices -l
# 预期输出示例:
# 5D7XUW9DYTWONR59       device usb:1-4 product:PDYT20 model:PDYT20 device:OP4E21

第三步:配置 API Key

https://open.bigmodel.cn 获取 API Key,然后在命令中使用:

python main.py \
  --base-url https://open.bigmodel.cn/api/paas/v4 \
  --model "autoglm-phone" \
  --apikey "你的API_KEY" \
  --max-steps 50 \
  "你的指令"

支持的操作

操作 描述 示例
Launch 启动应用 Launch app="微信"
Tap 点击坐标 Tap element=[500,300]
Type 输入文本 Type text="你好"
Swipe 滑动屏幕 Swipe start=[400,900] end=[400,300]
Back 返回 -
Home 回桌面 -
Long Press 长按 -
Double Tap 双击 -
Wait 等待 Wait duration="2 seconds"
Take_over 人工接管 登录/验证码等

常见问题排查

问题:adb devices 找不到设备

解决:

adb kill-server
adb start-server
adb devices -l

问题:手机提示「是否允许 USB 调试」

解决: 点击「允许并始终允许」(防止每次都要确认)

问题:OnePlus/OPPO 等设备 ADB Keyboard 检测失败

解决: main.py 已使用 dumpsys input_method 替代 ime list -s,无需手动修复

问题:ADB Keyboard 无法输入中文

说明: ADB Keyboard 仅支持英文/数字;中文由手机其他输入法完成,无需操作

问题:QQ/微信 等应用显示敏感界面无法截图

说明: 应用有安全限制,agent 会提示 Take_over 需要人工接管


安全与隐私 | Security & Privacy

数据披露

  • 手机屏幕截图会发送到外部 GLM API(智谱 https://open.bigmodel.cn)进行理解
  • 不要在以下界面使用本技能:银行/支付 app、密码输入页、含个人隐私的聊天记录
  • 智谱的数据政策请参考其官网

外部依赖说明

  • Open-AutoGLM:来自 https://github.com/zai-org/Open-AutoGLM(开源项目)
    • 建议锁定已验证的 commit 或 release 版本,避免直接拉取最新 main 分支
  • ADBKeyboard.apk:来自 https://github.com/senzhk/ADBKeyBoard
    • 建议下载后校验 APK 文件完整性
  • 建议在安装前检查项目 star 数、最近更新时间和 issue 情况
  • 建议使用专用测试设备,避免在主力手机上开启 USB 调试

使用后清理建议

  1. 撤销 USB 调试授权:设置 → 开发者选项 → 撤销 USB 调试授权
  2. 关闭 USB 调试:设置 → 开发者选项 → USB 调试 → 关闭
  3. 切换回原输入法:设置 → 语言与输入法 → 恢复原默认键盘
  4. 如不再需要,卸载 ADB Keyboard

项目来源

本技能基于 zai-org/Open-AutoGLM,开源项目,持续更新。


文件结构

~/.openclaw/workspace/skills/phone-controller/
  SKILL.md          # 技能说明

~/.openclaw/workspace/projects/phone-controller/
  README.md          # 用户级配置说明(含 API Key)
  Open-AutoGLM/     # GLM 官方项目
    main.py          # 主程序(含 OnePlus 补丁)
    .venv/           # Python 虚拟环境
    phone_agent/     # 核心模块
Usage Guidance
Install only if you are comfortable giving an AI workflow broad control over an Android device. Prefer a dedicated test phone, pin and verify all external downloads, avoid sensitive apps and personal accounts, require explicit confirmation before any write/send/order/payment/delete action, and revoke USB debugging plus remove ADB Keyboard when finished.
Capability Analysis
Type: OpenClaw Skill Name: phone-controller Version: 1.0.4 The skill facilitates full control of an Android device by instructing the agent to clone an external repository (zai-org/Open-AutoGLM), install Python dependencies, and sideload a third-party APK (ADBKeyboard.apk). While the documentation in SKILL.md includes safety warnings and requires user confirmation for 'write' operations, the automated setup and execution of unverified external code and binaries, combined with the exfiltration of screenshots to a third-party API (open.bigmodel.cn), poses a significant supply chain and privacy risk.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
The purpose is coherent for a phone-control skill, but SKILL.md describes high-impact capabilities including sending messages, ordering, payment, settings changes, deletion, taps, typing, and app launching.
Instruction Scope
SKILL.md includes useful safeguards such as confirmation for writes and manual takeover on sensitive pages, but the operational scope remains broad and is not enforceably limited to a small set of apps or safe actions.
Install Mechanism
There is no install spec or local code to review, while SKILL.md instructs users to clone Open-AutoGLM from GitHub, install Python dependencies, and download an APK without pinned commit hashes or file checksums.
Credentials
The skill asks users to enable USB debugging, use ADB Keyboard, and send phone screenshots to an external GLM API; these are proportionate to the purpose but high-impact for a real personal phone.
Persistence & Privilege
SKILL.md instructs users to click “allow and always allow” for USB debugging and set ADB Keyboard as the default input method, creating persistent device-level trust until the user manually cleans it up.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install phone-controller
  3. After installation, invoke the skill by name or use /phone-controller
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.4
1. Reverted: Security section merged back into SKILL.md; removed references/ directory. 回退:安全章节合并回 SKILL.md,移除 references/ 目录。 2. Kept: Execution rules with confirmation and allowlist guidance. 保留:执行规则中的确认机制和 allowlist 建议。
v1.0.3
1. Moved: Security section to references/security.md for cleaner SKILL.md structure. 移动:安全章节移至 references/security.md,保持 SKILL.md 精简。
v1.0.2
1. Added: App/action allowlist guidance and sensitive-app avoidance. 新增:操作 allowlist 建议和敏感 app 规避。 2. Added: Dependency pinning recommendations for Open-AutoGLM and ADBKeyboard. 新增:外部依赖版本锁定建议。
v1.0.1
1. Added: Security & Privacy section with data disclosure, external dependency notice, and cleanup guide. 新增:安全与隐私章节,包含数据披露、外部依赖说明和使用后清理建议。 2. Changed: Execution rules now require user confirmation for write/send operations. 变更:执行规则改为写入/发送操作必须用户确认。
v1.0.0
Initial release. 初始发布:基于 AutoGLM-Phone 的手机智能操控技能,支持自然语言控制安卓手机。
Metadata
Slug phone-controller
Version 1.0.4
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 5
Frequently Asked Questions

What is Phone Controller | 手机操控者?

AI phone controller via ADB + GLM. Controls Android with natural language. | 基于 AutoGLM-Phone 的手机操控技能,用自然语言控制安卓手机。 It is an AI Agent Skill for Claude Code / OpenClaw, with 154 downloads so far.

How do I install Phone Controller | 手机操控者?

Run "/install phone-controller" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Phone Controller | 手机操控者 free?

Yes, Phone Controller | 手机操控者 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Phone Controller | 手机操控者 support?

Phone Controller | 手机操控者 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Phone Controller | 手机操控者?

It is built and maintained by Morois (@moroiser); the current version is v1.0.4.

💬 Comments