2026年AI自动化新趋势:Open-AutoGLM+WiFi远程控制实战指南
想象一下,你只需要对着电脑说一句“帮我打开小红书,搜一下周末去哪吃”,你的手机就能自动解锁、打开App、输入关键词、浏览结果,整个过程完全不用你动手。这听起来像是科幻电影里的场景,但今天,借助智谱开源的Open-AutoGLM框架,我们每个人都能搭建这样一个能“看懂”手机屏幕并自动操作的AI智能助理。
Open-AutoGLM,特别是其核心组件AutoGLM-Phone,是一个基于先进视觉语言模型的AI手机智能助理框架。它的核心能力在于“多模态理解”和“自动化执行”。简单来说,它不仅能像人一样“看”懂手机屏幕上显示的文字、图标和布局,还能理解你用自然语言下达的指令,然后像你的手指一样,通过ADB(安卓调试桥)自动去点击、滑动、输入,完成一系列复杂的操作。
更酷的是,这套系统支持远程控制。这意味着你可以在办公室的电脑上,指挥家里连上WiFi的手机自动完成打卡、抢券、信息收集等重复性任务。本文将手把手带你从零开始,完成云端AI模型部署、本地环境搭建、远程连接配置,并最终让AI助理为你效劳。
1. 核心原理:AI如何“看懂”并“操控”你的手机?
在开始动手之前,我们先花几分钟搞明白Open-AutoGLM到底是怎么工作的。理解了原理,后面遇到问题你就能自己排查了。
整个系统的运行可以概括为“感知-思考-执行”的循环,就像一个真正的助理在工作。
1.1 感知:用AI的“眼睛”看懂屏幕
首先,AI需要知道手机屏幕上现在有什么。这是通过ADB命令实时截取手机屏幕截图来实现的。截图被发送到云端部署的视觉语言大模型(比如 autoglm-phone-9b)。
这个模型很强大,它不像普通的图像识别只能认出物体,而是能真正“理解”屏幕的语义。例如,它能识别出:
- 界面元素:这是微信的聊天列表页,那个绿色按钮是“发送”。
- 文字内容:屏幕上显示着“请输入验证码”,下面有一个输入框。
- 布局和状态:当前停留在小红书首页,搜索框在顶部,并且键盘没有弹出。
模型会把看到的屏幕内容,转换成一段结构化的文字描述,比如:“当前处于抖音搜索页面,搜索框为空且已获得焦点,下方为推荐视频流。”
1.2 思考:规划下一步该点哪里
拿到屏幕描述和你下达的指令(如“搜索美食视频”)后,AI进入“思考”阶段。它会基于对当前界面的理解和你的最终目标,规划出一系列具体的操作步骤。
这个规划是逐步进行的。AI不会一开始就规划好所有步骤,而是像下棋一样,走一步看一步。例如,它的思考链可能是:
- 目标:搜索美食视频。
- 当前状态:在抖音首页。
- 下一步动作:点击顶部的搜索图标。
- 执行点击后,获取新的屏幕截图,发现进入了搜索页。
- 新状态:在搜索页,光标在搜索框内闪烁。
- 下一步动作:输入文字“美食”。
- ……
1.3 执行:把规划变成真实的点击
规划好动作后,AI会将其转化为ADB可执行的命令。ADB就像是连接电脑和手机的“遥控器”。AI通过它发送模拟操作的指令:
adb shell input tap 500 800:在屏幕坐标(500, 800)处模拟点击。adb shell input text “hello”:输入文本“hello”。adb shell input swipe 500 1500 500 500:从(500,1500)滑动到(500,500)。
安全机制:为了避免误操作(比如误删App或乱发消息),框架内置了敏感操作确认。对于可能带来风险的操作,AI会暂停并请求用户确认。在遇到登录、验证码等必须人工介入的场景时,它也会乖乖停下来等你处理。
1.4 远程控制的魔法:WiFi ADB
传统ADB需要USB线连接,这限制了使用场景。而Open-AutoGLM支持WiFi ADB连接。原理很简单:
- 先用USB线连接一次手机,通过一个命令 (
adb tcpip 5555) 在手机上启动一个网络调试服务(监听5555端口)。 - 断开USB线,只要手机和电脑在同一个WiFi网络下,电脑就可以通过
adb connect 手机IP:5555像连接局域网打印机一样连接到手机。 - 一旦连接成功,所有ADB指令(截图、点击)都通过网络传输,实现了真正的无线远程控制。
接下来,我们就从云端开始,搭建这套自动化系统。
2. 第一步:在云端部署AI大脑(vLLM服务)
AI的“思考”能力来源于大模型。我们首先需要在一台拥有GPU的云服务器上,将 autoglm-phone-9b 模型部署成API服务。这里我们使用高效的vLLM推理框架。
准备工作:你需要一台Linux云服务器(如Ubuntu 20.04+),并配有足够的GPU显存(例如,RTX 4090 24GB或A100 40GB)。确保已安装好NVIDIA驱动和CUDA。
2.1 环境配置与模型下载
通过SSH连接到你的云服务器,开始以下操作:
# 1. 创建项目目录并进入
mkdir -p ~/autoglm_service && cd ~/autoglm_service
# 2. 使用conda创建独立的Python环境(推荐)
conda create -n autoglm python=3.10 -y
conda activate autoglm
# 3. 安装vLLM及其依赖
pip install vllm
# 4. 从ModelScope下载AutoGLM-Phone-9B模型
# 如果没有安装modelscope,先安装:pip install modelscope
from modelscope import snapshot_download
model_dir = snapshot_download('ZhipuAI/autoglm-phone-9b', cache_dir='./model')
2.2 启动vLLM推理服务
模型下载完成后,使用vLLM启动一个OpenAI兼容的API服务。这个服务将接收我们本地发送的请求,并返回模型的思考结果。
# 在autoglm环境下执行
python -m vllm.entrypoints.openai.api_server \
--model ./model/ZhipuAI/autoglm-phone-9b \ # 指向刚下载的模型路径
--served-model-name autoglm-phone-9b \ # 服务名称
--api-key token-abc123 \ # 设置一个简单的API密钥
--port 8800 \ # 服务监听端口
--tensor-parallel-size 1 \ # 张量并行数,单卡设为1
--gpu-memory-utilization 0.9 \ # GPU内存使用率
--max-model-len 8192 # 模型最大上下文长度
如果一切顺利,你将看到类似输出,表示服务已在 http://0.0.0.0:8800 本地启动。
2.3 配置安全组与端口转发
云服务器默认有防火墙。为了让你的本地电脑能访问到这个服务,需要放行端口。
- 登录云服务商控制台(如阿里云、腾讯云)。
- 找到你的云服务器实例,进入 安全组 配置。
- 添加一条 入方向 规则:
- 授权策略:允许
- 协议类型:TCP
- 端口范围:
8800 - 授权对象:
0.0.0.0/0(为测试方便,也可设置为你的本地公网IP以增加安全性)
现在,你的AI大脑(模型API)已经在云端就绪,地址是 http://<你的云服务器公网IP>:8800。记下这个地址,下一步会用到。
3. 第二步:在本地电脑配置控制端与连接手机
服务端准备就绪后,我们需要在本地电脑配置控制端,通过 ADB 控制安卓手机,并调用云端的 AI 模型。
3.1 硬件与环境准备
- 操作系统:Windows 10/11 或 macOS
- Python:建议 Python 3.10+
- 安卓设备:Android 7.0+ 的真实手机或模拟器(如雷电模拟器)。
- ADB 工具:这是与手机通信的桥梁。
安装与配置ADB:
-
Windows用户:
- 从官网下载 Platform-Tools 并解压。
- 配置环境变量:右键“此电脑” -> 属性 -> 高级系统设置 -> 环境变量。在“系统变量”中找到
Path,编辑并添加你解压的platform-tools文件夹完整路径。 - 打开命令提示符(CMD),输入
adb version,出现版本信息即表示成功。
-
macOS/Linux用户: 通常可以通过Homebrew安装:
brew install android-platform-tools。或者在终端直接使用,如果解压到~/Downloads/platform-tools,可以临时添加路径:export PATH=$PATH:~/Downloads/platform-tools
3.2 手机端必要设置
要让电脑控制手机,需要在手机上开启“开发者模式”并授权。
-
开启开发者模式:
- 进入手机 设置 > 关于手机。
- 连续点击 “版本号” 7次,直到出现“您已处于开发者模式”的提示。
-
开启USB调试:
- 返回设置,进入新出现的 “开发者选项”。
- 找到并开启 “USB调试”。
- 用USB线连接手机和电脑,手机会弹出“允许USB调试吗?”的对话框,勾选“始终允许”并确认。
-
安装ADB Keyboard(关键步骤):
- 由于AI需要通过ADB输入文字,而系统输入法可能不响应ADB指令,我们需要一个特殊的输入法。
- 在手机浏览器中搜索下载
ADBKeyboard.apk并安装。 - 安装后,进入 设置 > 系统 > 语言与输入法 > 虚拟键盘。
- 找到 “ADB Keyboard” 并启用它。
- 在 “默认输入法” 中,将其切换为 “ADB Keyboard”。
3.3 部署本地控制端代码 (Open-AutoGLM)
本地控制端是发送指令给云端AI并接收操作命令的“指挥官”。
# 1. 克隆Open-AutoGLM仓库到本地
git clone https://github.com/zai-org/Open-AutoGLM
cd Open-AutoGLM
# 2. 创建并激活Python虚拟环境(推荐)
python -m venv venv
# Windows: venv\Scripts\activate
# macOS/Linux: source venv/bin/activate
# 3. 安装项目依赖
pip install -r requirements.txt
# 以可编辑模式安装,方便开发
pip install -e .
3.4 连接你的设备
确保手机通过 USB 连接电脑,或处于同一 WiFi 下。
-
USB 直连方式(最稳定):
adb devices如果连接成功,你会看到类似
List of devices attached和一行设备ID,状态为device。 -
WiFi 远程连接方式(实现无线控制): 这是实现远程控制的关键。首先需要用USB线进行一次初始设置。
# 步骤1:USB连接状态下,开启手机的TCP/IP调试端口(默认5555) adb tcpip 5555 # 输出:restarting in TCP mode port: 5555 # 步骤2:断开USB线。查看手机在WiFi下的IP地址(通常在设置->关于手机->状态信息中)。 # 假设手机IP是 192.168.1.100 # 步骤3:通过WiFi连接手机 adb connect 192.168.1.100:5555 # 输出:connected to 192.168.1.100:5555 # 再次运行 adb devices,你会看到两个设备条目,一个USB,一个网络。成功后,你的电脑就可以完全通过WiFi控制手机了,USB线可以拔掉。
4. 第三步:启动AI代理,见证自动化奇迹
万事俱备,现在让我们给AI下第一个指令。
4.1 通过命令行运行(最简单)
在本地 Open-AutoGLM 项目目录下,打开终端,运行以下命令:
python main.py \
--device-id 192.168.1.100:5555 \ # 替换为你的设备ID或IP
--base-url http://<云服务器公网IP>:8800/v1 \ # 替换为你的vLLM服务地址
--model "autoglm-phone-9b" \ # 模型名称,与启动服务时一致
--api-key "token-abc123" \ # 如果vLLM服务设置了api-key
"打开抖音,搜索抖音号为'dycwo11nt61d'的博主并关注他!"
参数解释:
--device-id: 通过adb devices获取的设备标识符。--base-url: 你在第二步部署的云端vLLM API地址。- 最后的字符串: 就是你用自然语言下达的任务指令。
运行后,你会看到终端开始滚动日志。AI会先截图,思考,然后执行操作。你的手机屏幕将像被一个隐形的手指操控一样,自动打开抖音、点击搜索框、输入ID、进入主页、点击关注……整个过程完全自动化。
4.2 通过Python API进行更灵活的控制
如果你想集成到自己的脚本中,或者进行更复杂的任务编排,可以使用Python API。
from phone_agent.adb import ADBConnection, list_devices
from phone_agent.agent import PhoneAgent
import asyncio
async def main():
# 1. 创建ADB连接管理器
conn = ADBConnection()
# 2. 连接远程设备(WiFi方式)
device_ip = "192.168.1.100:5555"
success, message = conn.connect(device_ip)
print(f"连接状态: {message}")
if not success:
print("连接失败,请检查设备IP和网络。")
return
# 3. 列出所有已连接设备
devices = list_devices()
print("当前连接的设备:")
for device in devices:
print(f" - {device.device_id} ({device.connection_type.value})")
# 4. 创建Phone Agent实例
agent = PhoneAgent(
device_id=device_ip,
base_url="http://<云服务器公网IP>:8800/v1", # 你的API地址
model="autoglm-phone-9b",
api_key="token-abc123"
)
# 5. 给AI下达一个复杂任务
task = "打开微信,找到名为‘项目群’的聊天,查看最近一条关于会议时间的消息,然后打开日历App,创建一个今天下午3点的提醒。"
print(f"开始执行任务: {task}")
# 运行Agent,它会自动执行直到任务完成或需要人工干预
await agent.run(task)
# 6. 任务完成后,可以断开连接
conn.disconnect(device_ip)
print("任务完成,连接已断开。")
if __name__ == "__main__":
asyncio.run(main())
这段代码展示了如何以编程方式连接设备、创建AI代理并执行一个多步骤的复杂任务。你可以在此基础上开发定时任务、批量操作等高级功能。
4.3 实战案例:自动化信息收集脚本
假设你每天需要从几个固定的新闻App里收集头条标题,可以这样写一个脚本:
import asyncio
from phone_agent.agent import PhoneAgent
async def daily_info_collection(agent):
tasks = [
"打开‘今日头条’App,滑动到科技板块,截图前三条新闻标题。",
"打开‘知乎’,在热榜页面截图排名前五的问题。",
"打开微博,在热搜榜页面截图。",
]
for i, task in enumerate(tasks, 1):
print(f"执行任务 {i}: {task}")
# 执行每个任务,Agent会自动截图并保存
await agent.run(task)
# 任务间可以稍作等待
await asyncio.sleep(2)
print("所有信息已收集完毕,截图保存在设备中。")
# 初始化agent(代码同上)...
# asyncio.run(daily_info_collection(my_agent))
5. 常见问题排查与优化建议
即使是自动化流程,也可能遇到一些小麻烦。这里列出一些常见问题及解决方法。
5.1 连接类问题
-
问题:
adb devices列表为空。- 排查:检查USB线是否完好;手机是否弹出“允许USB调试”提示并已确认;开发者选项中的“USB调试”是否确定已开启。
- 解决:重新插拔USB线;重启手机ADB服务(
adb kill-server && adb start-server);在开发者选项中关闭再重新开启USB调试。
-
问题:WiFi连接成功但很快掉线 (
offline)。- 排查:手机WiFi休眠策略;路由器网络不稳定。
- 解决:在手机WiFi设置中,将该网络设置为“始终连接”或禁用休眠;让手机和电脑处于路由器信号良好的位置;可尝试使用USB连接,更稳定。
-
问题:无法连接到云服务器API (
Connection refused)。- 排查:云服务器安全组端口
8800未放行;本地防火墙阻止了连接;vLLM服务未成功启动。 - 解决:确认安全组规则;在云服务器上运行
curl http://localhost:8800/health检查服务是否健康;检查vLLM启动日志是否有错误。
- 排查:云服务器安全组端口
5.2 模型与执行类问题
-
问题:AI执行动作错误,比如点错地方。
- 排查:屏幕截图分辨率问题;模型对某些特定App界面元素识别不准。
- 解决:确保手机屏幕亮度适中,无屏保;对于复杂或动态界面(如视频流),可以尝试在指令中更精确地描述,例如“点击右下角那个红色的‘+’发布按钮”。
-
问题:模型响应慢或无响应。
- 排查:云端GPU负载过高;网络延迟大;输入的指令过于复杂模糊。
- 解决:检查云服务器GPU使用情况;简化初始指令,拆分成多个小步骤;确保
--max-model-len参数设置合理,不要过小。
-
问题:ADB Keyboard输入法不工作,无法输入中文。
- 排查:ADB Keyboard未设置为默认输入法;某些App禁用了非系统输入法。
- 解决:再次确认输入法设置;对于禁用第三方输入法的App(如某些银行App),此方案可能受限,可考虑使用图像识别点击虚拟键盘的方式作为备选(需要更复杂的脚本)。
5.3 性能与优化建议
- 使用USB连接进行关键任务:WiFi方便,但USB连接在稳定性和速度上更胜一筹,适合执行不容出错的自动化流程。
- 指令尽可能清晰:给AI的指令像给人下达一样,越清晰越好。“打开微信,找到张三,给他发消息说‘晚上老地方见’”比“联系张三”要好得多。
- 分阶段测试:先让AI执行“打开设置”这样简单的任务,再逐步增加复杂度,便于定位问题。
- 利用超时和重试机制:在自己编写的脚本中,为网络请求和操作添加超时与重试逻辑,增强鲁棒性。
- 关注资源消耗:长时间运行AI Agent,云端GPU会产生费用。对于不要求实时响应的任务,可以考虑使用更低成本的推理方案或在本地部署小模型。
6. 总结与展望
通过本文的实战指南,我们完整走通了从云端部署AI模型到本地通过WiFi远程控制手机执行自动化任务的流程。Open-AutoGLM框架将强大的多模态大模型与移动端自动化技术相结合,为我们打开了一扇通往未来人机交互的大门。
回顾一下核心步骤:
- 云端建脑:在GPU服务器上用vLLM部署
autoglm-phone-9b模型,提供思考能力。 - 本地搭桥:在电脑上配置ADB环境,安装控制端代码,作为指挥中心。
- 手机准备:开启手机调试模式,安装专用输入法,授权连接。
- 无线连接:通过
adb tcpip和adb connect实现WiFi远程控制,摆脱线缆束缚。 - 下达指令:用自然语言告诉AI你的需求,见证自动化执行的魔法。
当前,这项技术已在自动化测试、无障碍辅助、个人效率工具等领域展现出潜力。随着模型理解能力和规划能力的持续增强,我们可以预见更广阔的应用场景:成为24小时在线的个人数字助理,帮你处理繁琐的手机操作;作为企业的自动化流程机器人,完成数据录入、客服初筛等重复工作;甚至在未来,与智能家居联动,通过手机这个中枢实现更复杂的场景化自动控制。
现在,你已经掌握了搭建这套系统的基础。下一步,就是发挥你的想象力,用它去自动化那些你每天重复的手机操作,把时间留给更有创造力和价值的事情。开始你的第一个自动化脚本吧,从“每天早上自动给我发一条天气和新闻简报”开始。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

419


被折叠的 条评论
为什么被折叠?



