news 2026/4/18 13:17:11

从零开始部署Open-AutoGLM:Python环境配置到首次调用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零开始部署Open-AutoGLM:Python环境配置到首次调用

从零开始部署Open-AutoGLM:Python环境配置到首次调用

1. 这不是普通AI,是能“看见”并“操作”手机的智能助理

你有没有想过,让AI真正理解你手机屏幕上正在发生什么?不是截图发给它看,而是它自己“睁眼”看、自己“动手”点——打开App、输入文字、滑动页面、点击按钮,全程无需你碰一下屏幕。

Open-AutoGLM 就是这样一套框架。它由智谱开源,专为手机端设计,核心定位不是“回答问题”,而是“执行任务”。它不依赖预设脚本,也不靠固定UI路径,而是用视觉语言模型实时理解当前界面状态,再结合大模型的推理能力,把一句“打开小红书搜美食”拆解成:识别小红书图标 → 点击启动 → 等待首页加载 → 定位搜索框 → 输入“美食” → 点击搜索 → 滚动浏览结果。整个过程像一个熟练的真人操作员,但比人更快、更不知疲倦。

更关键的是,它不是纯本地运行的轻量模型——它把“思考”交给云端高性能推理服务(比如vLLM托管的autoglm-phone-9b),把“感知”和“执行”留在手机侧,通过ADB精准控制。这种云边协同架构,既保证了决策的智能深度,又规避了手机端算力瓶颈。你不需要换新机,只要一部Android 7.0+的设备,就能拥有一个随时待命的AI手机管家。

2. 先搞懂它怎么工作:三块拼图缺一不可

Phone Agent 的能力不是凭空而来,而是由三个关键模块紧密咬合实现的:

2.1 视觉感知层:让AI“看见”屏幕

它不是靠OCR识别文字,也不是靠坐标硬编码找按钮。而是把手机当前截屏(screen capture)作为图像输入,送入多模态视觉语言模型(VLM)。这个模型能同时理解画面中的布局结构、文字内容、图标语义、甚至按钮状态(比如“已关注”变灰、“未关注”高亮)。它输出的不是一堆坐标,而是一段结构化描述:“顶部有搜索栏,中间是3个横向滚动卡片,右下角悬浮着红色‘+’号按钮”。

2.2 智能规划层:把一句话变成可执行动作链

当你输入“打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!”,模型首先要解析意图:这是个复合任务,包含启动App、执行搜索、定位用户、触发关注四个子目标。接着,它会结合当前屏幕状态(比如是否已在抖音首页?是否已登录?是否有网络?),动态生成一条动作序列:tap(坐标X1,Y1)wait(2s)input("dycwo11nt61d")tap(搜索按钮坐标)scroll_to_text("dycwo11nt61d")tap(关注按钮坐标)。每一步都带条件判断和容错机制。

2.3 自动执行层:用ADB做最可靠的“手指”

所有动作最终都转化为ADB命令下发。ADB(Android Debug Bridge)是安卓官方调试工具,权限极高、稳定性极强。Open-AutoGLM 通过它完成:

  • 截图获取屏幕状态(adb shell screencap -p
  • 模拟触摸(adb shell input tap X Y
  • 输入文字(adb shell input text "xxx"
  • 滑动操作(adb shell input swipe X1 Y1 X2 Y2
  • 启动应用(adb shell am start -n package/activity

这套组合拳,让它既能处理常规操作,也能在登录页、验证码弹窗等敏感场景主动暂停,等待你人工确认——安全与自动化,第一次真正做到了兼顾。

3. 本地电脑准备:装好“指挥官”的办公桌

服务端(AI大脑)我们先假设已部署在云服务器上,现在要把本地电脑变成“指挥中心”。这不是装几个软件就行,而是要打通从代码、环境到物理设备的全链路。

3.1 硬件与基础环境清单

项目要求为什么重要
操作系统Windows 10/11 或 macOS Monterey+ADB官方支持最稳定,Linux同理但非本文重点
Python版本3.10 或 3.11(强烈推荐3.10.12)Open-AutoGLM依赖的pydantic<2.0与新版Python兼容性存在已知问题,3.10是目前最稳妥选择
安卓设备Android 7.0+ 真机(模拟器仅限开发测试)需要完整ADB调试权限,部分模拟器对input tap支持不完善
ADB工具包Platform-tools 最新版(含adb、fastboot)所有设备通信的基础,版本太旧会导致adb connect失败

3.2 ADB环境变量配置:让系统“认识”你的调试工具

这一步看似简单,却是后续所有命令能跑起来的前提。很多人卡在这里,反复执行adb devices却提示“command not found”。

Windows用户请这样做

  1. 去Android开发者官网下载platform-tools-latest-windows.zip,解压到一个固定路径,比如C:\platform-tools
  2. Win + R输入sysdm.cpl→ “高级”选项卡 → “环境变量” → 在“系统变量”中找到Path→ “编辑” → “新建” → 粘贴你解压的完整路径C:\platform-tools
  3. 重启命令行窗口(非常重要!新环境变量不会自动加载到已打开的终端),然后输入:
adb version

如果看到类似Android Debug Bridge version 1.0.41的输出,说明成功。

macOS用户请这样做

  1. 下载platform-tools-latest-darwin.zip,解压到~/Downloads/platform-tools(路径可自定义)。
  2. 打开终端,输入以下命令(注意:~代表你的用户主目录):
echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc
  1. 验证:
adb version

同样看到版本号即为成功。

关键提醒:不要跳过“重启终端”或“source配置文件”这步。很多用户配置完环境变量却仍报错,90%是因为没刷新终端会话。

4. 手机端设置:给AI配一把“万能钥匙”

电脑是指挥室,手机就是前线士兵。要让士兵听从指挥,必须先给它配发“通行密钥”——也就是开启调试权限和专用输入法。

4.1 开启开发者选项与USB调试

这是安卓系统的“后门开关”,不同品牌路径略有差异,但核心逻辑一致:

  • 通用路径设置关于手机→ 连续点击版本号(或MIUI版本EMUI版本等)7次 → 弹出“您现在是开发者!”提示。
  • 开启调试:返回上一级,进入开发者选项→ 找到USB调试开启开关
  • 授权提示:首次连接电脑时,手机会弹出“允许USB调试吗?”对话框,务必勾选始终允许并点确定。这个授权会记住你的电脑,下次连接不再弹窗。

4.2 安装ADB Keyboard:解决“无法输入文字”的终极方案

这是最容易被忽略、却最影响体验的一环。安卓原生输入法在ADB模式下,常因权限限制无法接收adb shell input text指令,导致AI能点、能滑、就是输不了字。

正确做法

  1. 去GitHub搜索ADBKeyBoard,下载最新版APK(如ADBKeyBoard_v1.5.apk)。
  2. 在手机上安装该APK(需开启设置→安全→未知来源应用安装)。
  3. 安装完成后,进入设置→语言与输入法→ 找到ADB Keyboard启用它→ 再将其设为默认键盘

完成这一步,你的AI才能真正“打字”,而不是对着搜索框干瞪眼。

5. 部署控制端:克隆、安装、验证三步到位

现在,指挥室和前线都准备好了,该部署“指挥官”软件本身了。

5.1 获取代码与安装依赖

打开你的终端(Windows用CMD/PowerShell,macOS用Terminal),依次执行:

# 1. 克隆官方仓库(别用fork,确保获取最新主干) 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. 安装核心依赖(注意顺序:先requirements,再本地包) pip install --upgrade pip pip install -r requirements.txt pip install -e .

为什么用pip install -e .
这个命令以“开发模式”安装当前包,意味着你修改phone_agent/下的任何Python文件,都不需要重新install,直接生效。对调试和二次开发极其友好。

5.2 验证安装是否成功

在同一个终端里,运行一个最小检查命令:

python -c "from phone_agent.adb import ADBConnection; print(' ADB模块导入成功'); conn = ADBConnection(); print(' ADB连接管理器创建成功')"

如果看到两行 输出,说明Python环境和核心模块已就绪。如果报错ModuleNotFoundError,请回到上一步,确认pip install -e .是否执行成功且虚拟环境已激活。

6. 连接你的手机:USB直连 or WiFi远程?

Open-AutoGLM支持两种连接方式,各有优劣。新手建议从USB开始,稳定可靠;进阶用户可尝试WiFi,摆脱线缆束缚。

6.1 USB连接:最稳的第一步

确保手机已开启USB调试,并用数据线连接电脑。在终端执行:

adb devices

正常输出应类似:

List of devices attached 8A9X123456789ABC device

其中8A9X123456789ABC就是你的设备ID(device-id),后面启动命令会用到。如果显示unauthorized,请检查手机是否点了“允许USB调试”;如果为空,检查数据线是否为“传输文件”模式(非仅充电)。

6.2 WiFi远程连接:无线自由的进阶玩法

前提:手机和电脑在同一局域网(比如连同一个WiFi)。分三步走:

  1. 首次用USB建立信任

    adb tcpip 5555

    此命令将手机ADB服务切换到TCP/IP模式,监听5555端口。

  2. 断开USB线,用WiFi连接
    在手机设置里查看IP地址(通常在设置→关于手机→状态信息WLAN→已连接网络→详情),然后执行:

    adb connect 192.168.1.100:5555

    (把192.168.1.100替换成你手机的真实IP)

  3. 验证连接

    adb devices

    应显示192.168.1.100:5555 device

WiFi连接常见坑

  • 手机IP变化:路由器DHCP分配的IP可能变动,建议在路由器后台为手机MAC地址绑定固定IP。
  • 防火墙拦截:部分公司/学校网络会屏蔽5555端口,此时请切回USB模式。

7. 首次调用:让AI为你打开抖音、搜索并关注

万事俱备,现在下达第一条自然语言指令。记住,这不是测试API,而是启动一个真实任务。

7.1 命令行一键启动(推荐新手)

Open-AutoGLM项目根目录下,执行:

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

参数详解

  • --device-id:从adb devices获取的ID,USB连接用ID,WiFi连接用IP:端口(如192.168.1.100:5555
  • --base-url:指向你云服务器上vLLM服务的地址。格式必须是http://IP:PORT/v1,末尾/v1不能省略
  • --model:指定模型名称,必须与vLLM启动时注册的名称完全一致
  • 最后引号内的字符串:你的自然语言指令,越具体越好(包含App名、搜索词、操作动词)

执行后,你会看到终端滚动输出日志:

  • [INFO] Capturing screen...→ AI正在截图
  • [INFO] Sending image to VLM...→ 图像已上传分析
  • [INFO] Planning action: tap(520, 1240)→ 动作规划中
  • [INFO] Executing: adb shell input tap 520 1240→ 正在执行点击

几秒后,你的手机屏幕会自动亮起、启动抖音、输入ID、点击搜索、找到博主、完成关注——整个过程一气呵成。

7.2 Python API调用:嵌入你自己的脚本

如果你希望把Phone Agent集成到自己的自动化流程中,可以使用其提供的Python SDK:

from phone_agent.adb import ADBConnection, list_devices from phone_agent.agent import PhoneAgent # 1. 初始化ADB连接管理器 conn = ADBConnection() # 2. 连接设备(支持USB ID或WiFi IP) success, msg = conn.connect("8A9X123456789ABC") print(f"连接结果: {msg}") # 3. 初始化AI代理(指向你的云服务) agent = PhoneAgent( base_url="http://192.168.3.10:8800/v1", model_name="autoglm-phone-9b" ) # 4. 下达指令(同步阻塞,等待任务完成) result = agent.run("打开微信,给张三发消息:今天会议改到下午三点了") print(f"任务结果: {result.status} | {result.message}")

这段代码展示了如何将AI代理封装为一个可复用的对象,方便你在爬虫、测试脚本、RPA流程中调用。

8. 排查常见问题:遇到报错别慌,先看这三处

部署过程中,90%的问题都集中在以下三个环节。按顺序排查,能快速定位:

8.1 设备连接类问题

现象可能原因解决方案
adb devices无输出或显示offlineUSB线仅充电、驱动未安装、手机未授权换线、重装驱动(小米/华为官网有专用ADB驱动)、重新授权
adb connect IP:5555显示failed to connect手机未开启adb tcpip、IP错误、网络不通用USB执行adb tcpip 5555后再试;用ping IP确认连通性
adb shell input text无反应ADB Keyboard未启用或未设为默认进入手机设置→语言与输入法,确认ADB Keyboard已启用并设为默认

8.2 服务通信类问题

现象可能原因解决方案
Connection refused错误云服务器防火墙未开放端口、vLLM服务未启动、URL写错检查服务器ufw statusiptablescurl http://localhost:8800/v1/models测试本地访问;确认URL末尾有/v1
Model not found错误--model参数与vLLM注册名不一致、模型未加载成功登录服务器,执行curl http://localhost:8800/v1/models,核对返回的model_name字段

8.3 模型行为类问题

现象可能原因解决方案
AI一直重复点击同一位置,不推进任务屏幕截图失败(黑屏)、VLM理解错误、动作规划逻辑缺陷检查adb shell screencap能否正常截图;观察日志中[DEBUG] Screen captured后的图片尺寸是否为0;尝试简化指令(如先只做“打开抖音”)
执行到验证码/登录页直接卡住敏感操作确认机制生效,等待人工接管查看手机屏幕,如有弹窗提示“请手动操作”,说明安全机制正常工作;完成操作后,AI会自动继续

9. 总结:你刚刚部署的,是一个能自主行动的AI伙伴

回顾整个过程,我们没有写一行复杂的调度逻辑,没有配置晦涩的模型参数,甚至没碰过CUDA或显存优化。仅仅通过:
配置好ADB这个“通用遥控器”
给手机装上“看得见”的眼睛(ADB Keyboard + 截图权限)
把本地电脑变成“指挥中枢”(克隆代码、安装依赖)
用一句自然语言下达指令

就让一个AI,真正具备了在真实手机环境中“感知-思考-行动”的闭环能力。这不再是实验室里的Demo,而是可立即用于自动化测试、无障碍辅助、数字员工培训的生产力工具。

下一步,你可以尝试:

  • 把指令换成“截取当前屏幕,识别图中二维码并打开链接”
  • --log-level DEBUG参数查看更详细的决策日志
  • 修改phone_agent/planner/下的策略文件,定制自己的任务分解规则

技术的价值,从来不在炫技,而在于让复杂变得简单,让不可能成为日常。


获取更多AI镜像

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 15:41:53

YOLO11体验报告,目标检测优劣分析一文看懂

YOLO11体验报告&#xff0c;目标检测优劣分析一文看懂 1. 引言&#xff1a;为什么YOLO11值得你关注&#xff1f; 你有没有遇到过这样的问题&#xff1a;在做目标检测项目时&#xff0c;模型要么准确率高但跑得太慢&#xff0c;要么速度快可小物体根本识别不出来&#xff1f;这…

作者头像 李华
网站建设 2026/4/18 3:49:39

在线教育平台应用:学生答题语气分析提升教学反馈

在线教育平台应用&#xff1a;学生答题语气分析提升教学反馈 1. 引言&#xff1a;当AI听懂学生的“语气”&#xff0c;教育反馈迎来质变 你有没有遇到过这样的情况&#xff1f;在线课堂上&#xff0c;学生回答问题时声音低沉、语速缓慢&#xff0c;看起来心不在焉&#xff1b…

作者头像 李华
网站建设 2026/4/18 8:50:07

开箱即用体验:NewBie-image-Exp0.1镜像免配置优势实战测评

开箱即用体验&#xff1a;NewBie-image-Exp0.1镜像免配置优势实战测评 1. 引言&#xff1a;为什么你需要一个“真正开箱即用”的动漫生成镜像&#xff1f; 你有没有经历过这样的场景&#xff1f;兴致勃勃想试一个最新的AI图像生成模型&#xff0c;结果光是配环境就花了大半天…

作者头像 李华
网站建设 2026/4/18 5:37:53

告别闲鱼盯店!自动回复系统 + cpolar,副业党也能轻松管店

闲鱼自动回复系统核心功能围绕卖家日常运营需求展开&#xff0c;支持 AI 智能回复买家咨询、多账号统一管理、聊天记录存档等&#xff0c;适配上班族副业党、多账号商家这类人群&#xff0c;优点在于无需复杂操作就能实现 24 小时自动响应&#xff0c;还能通过网页控制台统一配…

作者头像 李华
网站建设 2026/4/18 2:08:41

基于SpringBoot的勤工俭学系统设计与实现计算机毕业设计项目源码文档

项目整体介绍 基于 SpringBoot 的勤工俭学系统&#xff0c;聚焦高校勤工俭学 “岗位透明化、流程规范化、管理数据化” 的核心需求&#xff0c;针对传统勤工俭学 “岗位信息不对称、考勤人工统计、薪资核算易出错” 的痛点&#xff0c;构建覆盖在校学生、用工部门&#xff08;校…

作者头像 李华