当前位置: 首页 > news >正文

如何用Open-AutoGLM实现手机自动化?保姆级部署教程

如何用Open-AutoGLM实现手机自动化?保姆级部署教程

你有没有想过,让AI替你点开APP、搜索内容、填写表单、甚至完成购物下单?不是靠预设脚本,而是真正“看懂”屏幕、“听懂”指令、“想清楚”步骤,再动手执行——这不再是科幻场景。Open-AutoGLM,由智谱开源的轻量级手机端AI Agent框架,正把这件事变成现实。

它不依赖云端图像上传,也不需要你写一行UI自动化代码;你只需说一句“打开小红书搜美食”,它就能自动识别当前界面、理解按钮位置、模拟点击、输入文字、滑动页面,全程无需人工干预。更关键的是,它专为手机端设计:模型小(9B参数)、推理快、支持本地视觉感知+远程大模型协同,真正在资源受限的边缘设备上跑通了完整的AI Agent闭环。

这篇教程不讲原理、不堆术语,只聚焦一件事:从零开始,在你自己的电脑和手机上,跑通第一个全自动手机操作任务。每一步都经过实测验证,覆盖Windows/macOS双平台、USB/WiFi双连接方式、命令行/API双调用路径。哪怕你没碰过ADB,也能在60分钟内让AI第一次帮你点开抖音并关注博主。


1. 先搞懂它到底能做什么

Open-AutoGLM不是一个“增强版ADB工具”,也不是一个“截图OCR+固定流程”的伪智能系统。它的核心能力来自三层协同:

1.1 多模态屏幕理解:看得清、认得准

它不是简单截一张图扔给大模型。系统会实时捕获手机屏幕画面,并结合当前界面的UI层级结构(通过uiautomator2或ADB dump),生成带空间坐标的多模态输入。比如看到一个“搜索框”,它不仅知道文字是“Search”,还知道它在屏幕右上角、宽高占比、可点击区域坐标——这才是真正“看懂”。

1.2 自然语言驱动的任务规划:听得懂、想得明

你输入的指令,比如“打开小红书搜美食”,会被拆解为三步:

  • 意图识别:这是启动APP + 搜索行为,不是打开相册或发消息;
  • 状态感知:当前是否已安装小红书?是否已登录?首页是否有搜索入口?
  • 动作编排:先找小红书图标 → 点击启动 → 等待首页加载 → 定位搜索框 → 点击 → 输入“美食” → 点击搜索按钮。
    整个过程动态生成,不依赖硬编码路径。

1.3 安全可控的自动化执行:动得稳、管得住

所有操作都通过标准ADB指令下发(input tap x yinput textswipe等),但加了两道保险:

  • 敏感操作确认机制:涉及支付、删除、权限授予等动作时,自动暂停并弹窗提示,等你手动点击“继续”;
  • 人工接管通道:遇到验证码、滑块验证、或模型不确定时,立刻切回手动模式,你用鼠标/触控板直接操作,AI同步学习你的行为。

这意味着,它既不是“黑盒全自动”带来的失控风险,也不是“半自动脚本”需要你时刻盯着——而是一个真正可信赖、可干预、可进化的手机数字分身。


2. 准备工作:硬件、环境与手机设置

别急着敲代码。这一步卡住的人最多,但只要按顺序做对,后面全是顺水推舟。

2.1 你的装备清单(缺一不可)

类别要求验证方式
控制端(你的电脑)Windows 10+/macOS 12+,Python 3.10+终端输入python --version
被控端(安卓手机)Android 7.0+(建议Android 10以上),已解锁开发者选项设置→关于手机→连点“版本号”7次
连接方式USB数据线(推荐新手),或同一WiFi下的稳定网络手机连WiFi后,电脑能ping通手机IP
必备工具ADB调试工具(platform-tools)终端输入adb version应返回版本号

注意:iOS设备暂不支持。Open-AutoGLM目前仅适配安卓生态,因其深度依赖ADB协议与Android UI自动化框架。

2.2 ADB环境配置(手把手,不跳步)

Windows用户:
  1. 去Android SDK Platform-Tools官网下载zip包;
  2. 解压到一个无中文、无空格的路径,例如C:\adb
  3. Win + R→ 输入sysdm.cpl→ “高级”选项卡 → “环境变量” → 在“系统变量”中找到Path→ “编辑” → “新建” → 粘贴你解压的完整路径(如C:\adb);
  4. 重启终端,输入adb version,看到类似Android Debug Bridge version 1.0.41即成功。
macOS用户:
  1. 同样下载platform-tools zip,解压到~/Downloads/platform-tools
  2. 打开终端,运行:
echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc
  1. 输入adb version验证。

小技巧:如果后续总提示command not found: adb,大概率是Shell配置文件不对(macOS Catalina后默认zsh,老系统可能是bash),用echo $SHELL查看,然后把上面的~/.zshrc换成~/.bash_profile即可。

2.3 手机端四步设置(5分钟搞定)

这四步必须全部完成,缺一不可:

  1. 开启开发者模式
    设置 → 关于手机 → 连续点击“版本号”7次 → 弹出“您现在处于开发者模式”。

  2. 开启USB调试
    设置 → 系统 → 开发者选项 → 找到“USB调试” → 右侧开关打开 → 弹窗点“确定”。

  3. 安装ADB Keyboard(关键!)

    • 去GitHub搜索adb-keyboard,下载最新apk(如adb-keyboard-v2.0.1.apk);
    • 用USB线传到手机,安装;
    • 设置 → 系统 → 语言与输入法 → 虚拟键盘 → 勾选“ADB Keyboard” → 设为默认输入法。

    为什么必须装它?因为普通输入法无法通过ADB接收文字。ADB Keyboard是唯一能让adb shell input text "xxx"真正打出字的输入法。

  4. 授权电脑调试权限(首次连接必做)
    USB连接手机和电脑 → 手机弹出“允许USB调试吗?” → 勾选“始终允许” → 点确定。

    如果没弹窗,说明USB连接模式不对。下拉通知栏,把“传输文件”改成“文件传输”或“MTP”模式。


3. 部署控制端:克隆、安装、连接

现在,你的电脑和手机已经“握手成功”,可以开始部署Open-AutoGLM控制端了。

3.1 下载并安装控制代码

打开终端(Windows用CMD/PowerShell,macOS用Terminal),逐行执行:

# 1. 克隆官方仓库(国内用户建议加代理或用镜像) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(强烈推荐,避免依赖冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装依赖(注意:requirements.txt已适配主流显卡) pip install --upgrade pip pip install -r requirements.txt pip install -e .

验证安装:运行python -c "import phone_agent; print('OK')"不报错即成功。

3.2 确认设备已连接(两种方式任选)

USB直连(新手首选,最稳定):
adb devices

正常输出应类似:

List of devices attached 8A5X123456789ABC device

其中8A5X123456789ABC就是你的设备ID,记下来。

WiFi无线连接(适合开发调试):

前提:手机和电脑在同一WiFi,且已用USB成功连接过一次。

# 第一步:用USB连接时,开启手机的TCP/IP服务 adb tcpip 5555 # 第二步:拔掉USB线,用WiFi连接(需知道手机IP) adb connect 192.168.1.100:5555 # 替换为你手机的真实IP

如何查手机IP?设置 → WLAN → 点击当前连接的WiFi → 查看“IP地址”。

验证WiFi连接:adb devices应显示192.168.1.100:5555 device


4. 启动AI代理:一条命令,让手机自己动起来

Open-AutoGLM的控制端本身不运行大模型,它是个“指挥官”:把屏幕截图和你的指令发给云端的AutoGLM-Phone模型(9B),拿到动作序列后再用ADB执行。所以你需要一个已部署好的云服务端(vLLM + AutoGLM-Phone API)。如果你还没有,可参考官方Docker一键部署方案,或使用社区提供的公开API测试端(注意:公开端有调用频率限制)。

假设你已有服务端,地址为http://123.45.67.89:8800/v1,现在正式开动:

4.1 命令行快速启动(推荐新手)

Open-AutoGLM根目录下,执行:

python main.py \ --device-id 8A5X123456789ABC \ --base-url http://123.45.67.89:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

  • --device-id:用adb devices查到的ID,或WiFi地址192.168.1.100:5555
  • --base-url:你的AutoGLM-Phone服务API地址,末尾必须带/v1
  • 最后字符串:你的自然语言指令,引号包裹,支持中文。

成功表现:终端会实时打印日志,如:

[INFO] 截获屏幕截图(1080x2340) [INFO] 已发送请求至 http://123.45.67.89:8800/v1 [INFO] 模型返回动作:[{'action': 'tap', 'x': 540, 'y': 1200}, {'action': 'input', 'text': 'dycwo11nt61d'}] [INFO] 执行 tap(540, 1200) [INFO] 执行 input('dycwo11nt61d') ... [SUCCESS] 任务完成!共执行7步动作。

4.2 Python API调用(适合集成进自己的项目)

如果你希望把自动化能力嵌入脚本或Web应用,用API更灵活:

from phone_agent.main import run_task from phone_agent.adb import ADBConnection # 1. 初始化ADB连接(自动检测已连接设备) conn = ADBConnection() devices = conn.list_devices() if not devices: raise RuntimeError("未检测到任何ADB设备") # 2. 指定目标设备(取第一个,或按ID筛选) target_device = devices[0].device_id # 3. 发起任务(参数同命令行,但以字典传入) result = run_task( device_id=target_device, base_url="http://123.45.67.89:8800/v1", model_name="autoglm-phone-9b", instruction="打开小红书,搜索‘云南米线’,进入第一个笔记,点赞并收藏" ) print(f"任务状态:{result.status}") print(f"执行步骤:{len(result.actions)} 步") print(f"耗时:{result.duration:.1f} 秒")

提示:run_task()返回结构化结果对象,包含每一步动作、截图路径、耗时、错误信息,方便你做日志分析或失败重试。


5. 排查常见问题:90%的卡点都在这里

部署中最常遇到的不是代码错误,而是环境“隐形断连”。对照这份清单,5分钟定位:

现象最可能原因速查命令/操作
adb devices显示offline或空白手机USB调试未授权,或USB模式错误重新插拔USB → 检查手机弹窗 → 改为“文件传输”模式
Connection refused(连接被拒)云服务端未运行,或防火墙拦截端口在服务器上curl http://localhost:8800/v1;检查云服务器安全组是否放行8800端口
指令执行一半卡住,无报错ADB Keyboard未设为默认,或输入法冲突手机设置→语言与输入法→确认“ADB Keyboard”已启用并设为默认
模型返回乱码、空动作、或超时vLLM启动参数不匹配(尤其--max-model-len太小)检查服务端启动命令,确保--max-model-len 8192且显存足够(9B模型建议≥12GB VRAM)
WiFi连接后adb devices显示unauthorized手机未在WiFi连接时重新授权拔掉USB → 用WiFi连上 → 手机通知栏点“授权调试” → 勾选“始终允许”

🛠 终极调试法:在执行main.py前,先手动测试ADB基础功能:

adb shell getprop ro.build.version.release # 查安卓版本 adb shell screencap -p /sdcard/screen.png # 截图 adb pull /sdcard/screen.png ./test.png # 拉到电脑查看 adb shell input text "hello" # 测试输入

这三行全通,说明ADB链路100%健康,问题一定出在Open-AutoGLM或服务端。


6. 下一步:从“能跑”到“好用”

你现在已拥有了一个能听懂人话、看懂屏幕、动手操作的AI手机助理。但真正的生产力提升,来自定制化:

  • 批量任务脚本化:把常用指令写成JSON列表,用循环调用run_task(),实现“早八点自动打卡+午休刷资讯+晚九点发日报”;
  • 接入微信/钉钉机器人:把main.py包装成Webhook接口,发条消息就触发手机操作;
  • 训练专属动作策略:用你自己的APP界面截图+操作日志,微调AutoGLM-Phone的动作头(Action Head),让它更懂你的高频场景;
  • 构建家庭IoT中枢:手机作为“眼睛和手”,通过红外遥控APP或智能家居APP,间接控制空调、灯光、扫地机器人。

技术没有终点,只有不断延展的边界。而Open-AutoGLM的价值,不在于它今天能做什么,而在于它把过去需要App开发、UI自动化、NLP工程三支团队协作才能落地的能力,压缩成了一条命令、一个API、一句中文。

你不需要成为专家,才能拥有一个数字分身。你只需要,按下开始。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

http://www.cnnetsun.cn/news/820791.html

相关文章:

  • 网络安全知识汇总
  • Photoshop CS6 精简绿色版Photoshop CS6 精简绿色版分享
  • 中国船级社信息开发咨询中心 APP开发工程师职位深度解析与技术面试指南
  • 大数据领域Spark的集群扩展与升级方案
  • Day4—循环高级综合+数组
  • PySpark on Linux系统配置 Hadoop3.1.3+Spark3.4.4(PySpark3)
  • RabbitMQ 死信队列(DLQ)使用场景全解析:从消息救火到系统自愈(Spring Boot + Java 实战)
  • Skills:大模型智能体的元认知与决策逻辑
  • 【C++与Linux基础】进程篇 - 改进Shell,完成内建命令
  • 重命名你的电脑,给它发个“工牌”吧!
  • 吐血推荐9个AI论文软件,专科生搞定毕业论文!
  • 彻底告别AI疑似率过高:5款高效降AI工具使用全攻略,实现从90%AI率到5%的逆袭
  • 【2026实测】这些降AI工具真的有用!毕业生必备的高效、免费降AI方案与使用技巧分享
  • 亲测有效!2026年最新AI降重工具排行榜,毕业季论文自救指南(附详细步骤)
  • 毕业生必看:真正可用的AI降重工具盘点,从高AI率到顺利通过的完整攻略
  • 【大模型进阶】视频教程 一文吃透Hugging Face:从环境搭建到实战调用,解锁AI模型全家桶
  • macos用快捷指令把mov转化为m4a的方法
  • 视频会议设备简单易用品牌
  • Docker常用命令
  • DCDC同步降压:RT7272BGSP同步降压设计详解
  • 亚马逊Listing转化率低?专家级三步诊断与高效优化策略
  • EDC电子试验记录,现代科研的数字化革命与七大工具横评
  • 强化学习代码-利用Q-learning实现三维世界的路径规划-002 可以保存和读取策略、Py...
  • 业绩增长乏力?原圈科技AI CRM系统揭秘保险业四大陪练场景
  • 【软件分享】SmsForwarder短信转发器v3.3.3:下载与完整配置教程
  • CarSim与Simulink联合仿真模型 提供Carsim参数配置文件——cpar文件——导...
  • 西门子 S7 - 1200 PLC 在污水处理项目中的实战应用
  • Turbo码编码译码在MATLAB中的实现探索
  • 震惊!原来大模型Agent是这样实现的,小白程序员也能搞懂!ReAct模式+Function Calling让AI自己干活
  • 无人驾驶动力学MPC算法跟踪蛇形线探索