从0开始学AI手机代理,Open-AutoGLM新手快速上手指南
1. 这不是APP,是能“看懂屏幕+动手操作”的AI助手
你有没有想过,让手机自己完成那些重复又琐碎的操作?比如:“打开小红书搜最近的咖啡馆”“在淘宝比价三款蓝牙耳机,把价格最低的加进购物车”“翻到微信聊天记录里上周发的那张截图,转发给张经理”——不用你点一下,AI就能看、能想、能做。
Open-AutoGLM 就是这样一个系统级 AI 手机代理框架。它不依赖特定 App,也不需要开发者适配;它像一个真实用户一样,用眼睛(视觉模型)看屏幕,用大脑(大语言模型)理解你的指令,再用手(ADB 指令)点击、滑动、输入,一步步把任务跑完。
它不是“语音助手”,也不是“快捷指令”,而是一个真正具备感知—理解—规划—执行闭环能力的轻量级 Agent。背后没有魔法,只有三块扎实的拼图:
- 看得清:多模态视觉理解 + OCR 文字识别,准确提取按钮、图标、文字、布局结构
- 想得明:基于 9B 规模 AutoGLM 的意图解析与动作规划能力,把“搜美食”拆解成“点搜索框→输关键词→点放大镜→滑动浏览”
- 做得准:通过 ADB 精确控制真机或模拟器,支持触摸、长按、滑动、返回、输入文本等全部基础交互
最关键的是——它开源了,且部署路径清晰、代码结构友好。只要你有一台安卓手机、一台能连网的电脑,加上一点耐心,今天就能让它为你打工。
下面这份指南,专为零基础但想亲手跑通第一个 AI 手机代理任务的新手设计。不讲原理推导,不堆参数配置,只说“你现在该敲哪一行命令”“手机上该点哪里”“出错了怎么看日志”。
2. 准备工作:三步搞定硬件与环境
别被“Agent”“多模态”吓住。整个流程真正需要你手动操作的部分,其实就三件事:开手机调试、装 ADB 工具、连上设备。我们按顺序来。
2.1 手机端:5 分钟开启“被操控权限”
请拿出你的安卓手机(Android 7.0 及以上,主流机型基本都满足),按以下顺序操作:
开启开发者模式
进入「设置」→「关于手机」→连续点击「版本号」7 次,直到弹出提示“您已处于开发者模式”。启用 USB 调试
返回「设置」→「系统」→「开发者选项」→找到并开启「USB 调试」。如果没看到「开发者选项」,请先确认第 1 步已完成。安装 ADB Keyboard(关键!)
下载 ADB Keyboard APK(推荐 v1.4 或更新版),用手机浏览器下载后安装。
安装完成后,进入「设置」→「语言与输入法」→「当前输入法」→切换为「ADB Keyboard」。
这一步决定了 AI 能不能替你打字。跳过它,所有涉及输入的任务都会卡住。
小贴士:如果你用的是华为、小米、OPPO 等品牌机,可能还需额外开启「USB 调试(安全设置)」或关闭「MIUI 优化」「纯净模式」,否则 ADB 会显示“unauthorized”。遇到这类提示,手机屏幕上会弹出授权框,记得点“允许”。
2.2 电脑端:装好 ADB,让它认出你的手机
你不需要编译源码,也不用配 NDK。只需要一个轻量级 ADB 工具包,就能和手机建立通信。
Windows 用户:
去 Android SDK Platform-Tools 官网 下载 zip 包 → 解压到任意文件夹(如C:\adb)→ 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」→ 在「系统变量」中找到Path→「编辑」→「新建」→ 粘贴你刚解压的路径(如C:\adb)→ 点击确定。
打开命令提示符,输入adb version,若显示类似Android Debug Bridge version 1.0.41,说明成功。macOS 用户:
打开终端,执行:# 假设你把 platform-tools 放在 ~/Downloads/platform-tools echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc adb version同样看到版本号即为就绪。
注意:Mac 用户若使用 Apple Silicon 芯片(M1/M2/M3),请务必下载带
arm64标识的版本,否则会报错cannot execute binary file。
2.3 验证连接:让电脑“看见”你的手机
用原装 USB 数据线将手机连到电脑。首次连接时,手机会弹出“是否允许 USB 调试?”提示,请勾选“始终允许”,再点“确定”。
回到电脑终端,运行:
adb devices你应该看到类似这样的输出:
List of devices attached ZY322FDQJL device那一串字母数字组合(如ZY322FDQJL)就是你的设备 ID —— 后面启动代理时要用到。
如果显示unauthorized,请检查手机是否点了“允许”;
如果显示空列表或offline,请换线、重启 ADB(adb kill-server && adb start-server)、或尝试另一 USB 口。
3. 部署控制端:三行命令跑起来
Open-AutoGLM 的控制端代码非常干净,没有复杂构建流程。我们只做三件事:拉代码、装依赖、跑主程序。
3.1 克隆仓库并安装依赖
打开终端(Windows 用 PowerShell 或 CMD,macOS 用 Terminal),依次执行:
# 1. 克隆官方仓库(约 20MB) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(推荐,避免污染全局 Python) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装核心依赖(含 ADB 封装、HTTP 客户端、日志工具) pip install -r requirements.txt pip install -e .注意:要求 Python 3.10+。如果你的
python --version显示低于 3.10,请先升级 Python(推荐用 pyenv 或官网安装包)。
3.2 启动你的第一个 AI 指令任务
现在,一切就绪。我们来执行一句最简单的指令:
“打开设置,进入关于手机页面”
在终端中,运行(请将<device-id>替换为你上一步查到的真实设备 ID):
python main.py \ --device-id ZY322FDQJL \ --base-url http://localhost:8000/v1 \ "打开设置,进入关于手机页面"这里--base-url暂填http://localhost:8000/v1是为了占位。实际使用时,你需要一个已部署好的 AutoGLM-Phone 模型服务(例如通过 vLLM 启动的autoglm-phone-9b推理端口)。本指南聚焦“控制端”,模型服务部署可参考官方 vLLM 启动文档,此处不展开。
执行后,你会看到终端滚动输出类似内容:
[INFO] 截图已获取,尺寸 1080x2340 [INFO] VLM 正在分析界面... [INFO] LLM 解析意图:打开「设置」App → 点击「关于手机」入口 [INFO] 规划动作序列:[tap(540, 180), swipe_up(), tap(320, 850)] [INFO] 执行 tap(540, 180) → 成功 [INFO] 执行 swipe_up() → 成功 [INFO] 执行 tap(320, 850) → 成功 [INFO] 任务完成同时,你的手机屏幕会真实地:亮起 → 启动设置 → 向上滑动 → 点击“关于手机”。
这就是 Open-AutoGLM 的第一次呼吸。
4. 实战演练:三个接地气任务,边做边理解
光看日志不够直观。我们来亲手跑三个真实场景任务,过程中你会自然理解它的能力边界和常用技巧。
4.1 任务一:自动登录邮箱(带人工接管)
场景:你常登录公司邮箱,但每次都要输账号密码,还容易输错。让 AI 帮你填。
指令:
python main.py \ --device-id ZY322FDQJL \ --base-url http://your-server-ip:8000/v1 \ "打开 Outlook App,输入邮箱 test@company.com,密码输入框留空,等待我手动输入"关键点:
- 模型会识别「邮箱输入框」和「密码输入框」位置,并点击前者,粘贴邮箱;
- 当检测到“留空”“等待我”等关键词,它会主动暂停,在终端打印
【等待人工接管】请在手机上输入密码,完成后按回车继续; - 你输入完毕,回车,AI 继续点击「登录」按钮。
这说明:Open-AutoGLM 不是盲目执行,而是支持敏感操作人工兜底,兼顾自动化与安全性。
4.2 任务二:跨 App 查信息(需联网)
指令:
python main.py \ --device-id ZY322FDQJL \ --base-url http://your-server-ip:8000/v1 \ "打开高德地图,搜索‘北京南站’,截图路线页,然后切到微信,把截图发给‘王工’"关键点:
- 它能识别高德地图的「路线」Tab 并截图;
- 自动触发「分享」按钮 → 选择微信 → 搜索联系人“王工” → 发送;
- 整个过程无需你切换 App,AI 自动管理后台任务栈。
这验证了它的跨应用调度能力——不是单个 App 的自动化,而是整机级任务流。
4.3 任务三:批量处理通知(提升效率)
指令:
python main.py \ --device-id ZY322FDQJL \ --base-url http://your-server-ip:8000/v1 \ "清除所有未读微信通知,对来自‘李总’的消息,统一回复‘收到,马上处理’"关键点:
- 模型会先进入通知栏 → 识别微信通知条目 → 判断发件人 → 对匹配项执行「展开→复制→粘贴回复→发送」;
- 若某条消息无“回复”按钮(如纯图片),它会跳过,不报错中断。
这体现了它的鲁棒性设计:不强求每一步完美,而是动态适应 UI 差异。
5. 常见问题与速查解决方案
新手实操中最容易卡在哪?我们把高频问题浓缩成一张表,定位快、解决准。
| 问题现象 | 可能原因 | 一句话解决 |
|---|---|---|
adb devices不显示设备 | USB 调试未开启 / 手机未授权 / 驱动异常 | 重开开发者选项 → 重新插拔数据线 → 手机点“允许” → Windows 用户可装 Universal ADB Driver |
终端报错ModuleNotFoundError: No module named 'phone_agent' | 未执行pip install -e .或虚拟环境未激活 | 确认在Open-AutoGLM目录下 → 激活venv→ 再运行pip install -e . |
| AI 点错了位置,或一直循环点击 | 屏幕分辨率未适配 / 截图延迟导致画面滞后 | 在config.py中设置SCREENSHOT_DELAY=1.0(单位秒);检查DEVICE_WIDTH/HEIGHT是否与手机一致(可用adb shell wm size查看) |
| 指令执行一半卡住,无响应 | 模型服务未启动 / 网络不通 /--base-url地址错误 | 用浏览器访问http://your-server-ip:8000/v1/models,应返回 JSON;若超时,请检查服务器防火墙、端口映射、vLLM 是否正常运行 |
| 输入中文失败,显示乱码或空格 | ADB Keyboard 未设为默认输入法 / 手机系统语言非中文 | 进入「语言与输入法」→ 确保 ADB Keyboard 在顶部 → 将系统语言设为简体中文 |
进阶提示:所有日志默认输出到
logs/目录,包含每一步截图(.png)、VLM 分析结果(.json)、动作轨迹(.txt)。遇到问题,先打开最新时间戳的文件夹,比对着看“它看到了什么”“它打算做什么”“它实际做了什么”,90% 的问题都能定位。
6. 总结:你已经掌握了 AI 手机代理的核心能力
回顾这一路,你完成了:
- 在真机上开启开发者权限与 ADB 调试
- 配置本地 ADB 环境并验证设备连接
- 克隆 Open-AutoGLM 控制端,安装依赖,跑通首条指令
- 实战三个典型任务:带人工接管的登录、跨 App 信息流转、批量通知处理
- 掌握常见问题的快速诊断与修复方法
你拿到的不是一个玩具 Demo,而是一套可扩展、可定制、可集成的手机端 Agent 控制框架。后续你可以:
- 把
main.py改造成 Web API,用网页下发指令; - 在
action_executor.py中新增手势(如双指缩放)、新增设备(如平板横屏适配); - 结合 RPA 工具,把手机操作嵌入企业审批流;
- 甚至训练自己的轻量 Screen-OCR 模型,替换默认视觉模块。
技术从来不是目的,而是杠杆。Open-AutoGLM 的价值,不在于它多酷炫,而在于它把过去需要写几十行 Appium 脚本、配一堆 XPath 的事,压缩成一句自然语言。
它不承诺取代你,但它确实能让你每天少点 27 次屏幕,少输 13 段文字,少等 8 秒加载——这些微小节省累加起来,就是你多出来的一个小时。
而这个小时,你可以用来喝杯咖啡,陪孩子搭积木,或者,认真想想下一个想让 AI 替你做的事。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。