Open-AutoGLM如何快速上手?命令行调用AI代理保姆级教程
1. 这不是普通AI,是能“看见”并“操作”手机的智能助理
你有没有想过,让AI真正接管你的手机?不是简单回答问题,而是像真人一样——看懂屏幕上的每一个按钮、文字和图标,理解你一句话里的真实意图,再自动点击、滑动、输入、跳转,直到把事情做完。
Open-AutoGLM 就是这样一套框架。它由智谱开源,专为移动端设计,核心目标很实在:让AI从“嘴上说得好”变成“手上干得利索”。它不依赖App内嵌SDK,也不需要你给每个应用写脚本,而是站在系统层,用视觉+语言+动作的三重能力,直接和安卓设备对话。
它的落地形态叫 AutoGLM-Phone,背后是一套完整的多模态智能体(AI Agent)架构。当你输入“打开小红书搜美食”,它会先截图分析当前界面(是不是在桌面?有没有小红书图标?),再决定是点击App、等待加载、还是先滑动找图标;进入App后,它能识别搜索框位置、点击、输入文字、点搜索按钮——整套动作一气呵成,全程无需你碰一下屏幕。
更关键的是,它不是“黑盒执行”。遇到登录页、验证码弹窗、权限申请等敏感操作时,系统会主动暂停,等你人工确认;也支持通过WiFi远程连接真机或模拟器,调试时不用一直插着USB线。对开发者来说,这是可观察、可干预、可扩展的AI自动化底座;对普通用户来说,这就是一个能听懂人话、看得清界面、下得了手的数字分身。
2. 本地控制端搭建:四步完成环境准备
要让AI开始帮你操作手机,你不需要部署大模型服务器——那部分可以交给云端。你只需要在本地电脑上搭好“指挥中心”,也就是控制端。整个过程分为四个清晰环节:装好ADB、配好手机、拉下代码、连上设备。我们按顺序来,每一步都给出可验证的操作结果。
2.1 安装并验证 ADB 工具
ADB(Android Debug Bridge)是你和安卓设备之间的“翻译官”。没有它,电脑根本不知道手机在哪,更别说发指令了。
Windows 用户:
- 去 Android SDK Platform-Tools 官网 下载最新 ZIP 包;
- 解压到一个固定路径,比如
C:\platform-tools; - 按
Win + R输入sysdm.cpl→ “高级”选项卡 → “环境变量” → 在“系统变量”里找到Path→ 点击“编辑” → “新建” → 粘贴你解压的完整路径(如C:\platform-tools); - 打开新命令行窗口,输入
adb version,看到类似Android Debug Bridge version 1.0.41的输出,就说明成功了。
macOS 用户:
- 同样下载 ZIP 包,解压到
~/Downloads/platform-tools(路径可自定); - 打开终端,运行以下命令(只需一次,永久生效):
echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc - 输入
adb version验证,有版本号即成功。
- 同样下载 ZIP 包,解压到
小提醒:如果
adb devices命令报错“command not found”,说明环境变量没生效,请重启终端或重新执行source ~/.zshrc。
2.2 手机端设置:三步打开“被操控”的大门
手机不是插上线就能被控制的,它得先“同意”你远程操作。这需要开启三个关键开关:
开启开发者模式:
进入「设置」→「关于手机」→ 连续点击「版本号」7次,直到屏幕弹出“您现在处于开发者模式”。开启 USB 调试:
返回「设置」→「系统」→「开发者选项」→ 找到「USB 调试」并打开开关。首次开启时,手机会弹窗提示“允许 USB 调试吗?”,勾选“始终允许”,再点确定。安装并启用 ADB Keyboard(关键!):
这是让AI能“打字”的核心组件。- 去 GitHub 搜索
adb-keyboard,下载最新 APK(如adb-keyboard-v1.0.0.apk); - 用电脑传到手机,或直接在手机浏览器下载安装;
- 安装完成后,进入「设置」→「语言与输入法」→「当前输入法」→ 切换为
ADB Keyboard。
验证方式:在任意输入框长按,点“选择输入法”,确认 ADB Keyboard 出现在列表中且已启用。
- 去 GitHub 搜索
2.3 克隆并安装 Open-AutoGLM 控制端
控制逻辑全在这份代码里。它不跑模型,只负责截图、传图、发指令、执行点击——轻量、干净、专注。
打开终端(Windows 用 PowerShell 或 CMD,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. 安装依赖 pip install --upgrade pip pip install -r requirements.txt pip install -e .安装完成后,你可以快速验证是否就绪:
python -c "from phone_agent.adb import list_devices; print(list_devices())"如果返回空列表,别担心——那是还没连设备;只要不报ModuleNotFoundError,说明代码环境已通。
2.4 连接你的安卓设备:USB 和 WiFi 两种方式
连接成功是后续一切的前提。我们提供两种稳定方案,任选其一即可。
USB 直连(新手首选,最稳):
用原装数据线将手机连电脑 → 手机弹窗点“允许USB调试” → 终端运行:adb devices正常输出应类似:
List of devices attached 1234567890abcdef device那串字母数字组合就是你的
device-id,后面要用。WiFi 远程连接(适合调试/多设备):
第一次必须用 USB 连上,执行:adb tcpip 5555然后断开 USB 线,确保手机和电脑在同一 WiFi 下,再运行:
adb connect 192.168.1.100:5555 # 把IP换成你手机的真实局域网IP如何查手机IP?进「设置」→「Wi-Fi」→ 点当前连接的网络 → 查看“IP地址”。
成功后adb devices会显示192.168.1.100:5555,这个就是你的device-id。
注意:如果
adb connect失败,大概率是手机未开启“无线调试”(Android 11+)或防火墙拦截。请回到「开发者选项」→ 开启「无线调试」→ 点击「无线调试设置」→ 开启“通过网络进行无线调试”。
3. 命令行启动AI代理:一句话触发全自动流程
环境齐了,设备通了,现在就差最后一步:告诉AI你想让它干什么。Open-AutoGLM 的设计哲学是“极简入口,强大执行”——你只需要一条命令,剩下的交给它。
3.1 最简启动命令详解
在Open-AutoGLM项目根目录下,运行:
python main.py \ --device-id 1234567890abcdef \ --base-url http://192.168.1.200:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"我们逐个参数拆解,确保你完全明白每个部分的作用:
--device-id:就是你前面adb devices看到的设备ID。如果是WiFi连接,就填192.168.1.100:5555;--base-url:指向你部署好的云端模型服务地址。如果你用的是 CSDN 星图镜像或自建 vLLM 服务,这里填http://<你的服务器IP>:<端口>/v1。常见端口如8800、8000;--model:指定调用的模型名称。目前公开可用的是autoglm-phone-9b,它专为手机操作微调,理解界面能力强;- 最后引号内的字符串:就是你自然语言写的指令。它越具体,AI执行越准。比如“点右上角三个点”不如“点击页面右上角的更多选项按钮”明确。
执行后你会看到什么?
程序会立刻截图手机当前画面 → 上传给云端模型 → 模型返回一连串动作(如:click(520, 120),text("dycwo11nt61d"),swipe(300, 800, 300, 200))→ 本地控制端逐条执行 → 最终在抖音里完成搜索并点击关注按钮。整个过程通常在 20–60 秒内完成,取决于网络和模型响应速度。
3.2 Python API 方式:嵌入你自己的脚本
如果你不想每次都在命令行敲长命令,或者想把它集成进自动化工作流,Open-AutoGLM 提供了干净的 Python 接口。
下面是一个完整可运行的连接与操作示例:
from phone_agent.adb import ADBConnection, list_devices from phone_agent.agent import PhoneAgent # 1. 初始化连接管理器 conn = ADBConnection() # 2. 连接设备(支持USB或WiFi) success, msg = conn.connect("192.168.1.100:5555") print(f"连接状态: {msg}") # 3. 列出所有已连接设备 devices = list_devices() for d in devices: print(f"设备ID: {d.device_id}, 类型: {d.connection_type.value}") # 4. 初始化AI代理(需提前部署好云端模型) agent = PhoneAgent( device_id="192.168.1.100:5555", base_url="http://192.168.1.200:8800/v1", model_name="autoglm-phone-9b" ) # 5. 下达指令(同步阻塞,等执行完才返回) result = agent.run("打开微信,进入文件传输助手,发送‘你好’") print("执行结果:", result)这段代码做了五件事:连设备、查设备、初始化代理、发指令、打印结果。agent.run()是核心方法,它内部自动完成截图→上传→解析→执行→反馈全流程。返回的result是一个字典,包含status(成功/失败)、steps(执行的动作列表)、final_screenshot(最终界面截图路径)等字段,方便你做日志记录或异常分析。
3.3 实用技巧:让AI更听话的三个关键点
刚上手时,你可能会发现AI偶尔“理解错”或“点偏了”。这不是模型不行,而是指令和环境还有优化空间。这三个技巧,亲测有效:
指令要“带上下文”:
❌ 不推荐:“点搜索框”
推荐:“在抖音首页,点击顶部中间的搜索放大镜图标”
加上“抖音首页”、“顶部中间”这些定位词,能大幅降低误操作概率。复杂任务拆成多轮:
与其让AI一次性完成“登录淘宝→搜iPhone→加购→下单”,不如分三步:python main.py --device-id ... "打开淘宝App" python main.py --device-id ... "在搜索框输入‘iPhone 15’并搜索" python main.py --device-id ... "点击第一个商品,点击‘加入购物车’"每步执行完,你都能看到界面变化,及时干预。
善用“人工接管”机制:
当AI遇到验证码、二次确认弹窗时,它会自动暂停,并在终端打印类似检测到登录弹窗,请手动完成验证后按回车继续的提示。这时你只需在手机上输完验证码,再回车,AI就会接着干活——安全和灵活兼得。
4. 常见问题排查:从连接失败到执行卡顿,一文扫清障碍
即使步骤全对,实际操作中仍可能遇到各种“小意外”。我们把高频问题归为三类,给出直击根源的解决办法,不绕弯、不废话。
4.1 设备连接类问题
| 现象 | 根本原因 | 解决方案 |
|---|---|---|
adb devices显示unauthorized | 手机弹窗没点“允许”,或点了“拒绝” | 断开USB → 手机进「开发者选项」→ 关闭再打开「USB调试」→ 重连,弹窗务必点“允许” |
adb devices无输出或显示offline | ADB服务异常或驱动问题 | Windows:设备管理器里找到“Android ADB Interface”,右键“更新驱动程序”→ “自动搜索”;macOS:重启adb服务adb kill-server && adb start-server |
WiFi连接后adb shell命令超时 | 手机未开启“无线调试”或网络隔离 | 进「开发者选项」→ 开启「无线调试」→ 点击右侧齿轮图标 → 开启“通过网络进行无线调试” |
4.2 模型服务类问题
| 现象 | 根本原因 | 解决方案 |
|---|---|---|
Connection refused(连接被拒) | 云服务器防火墙未放行端口,或 vLLM 服务未启动 | 检查服务器 `netstat -tuln |
| 模型返回乱码、空响应、超时 | vLLM 启动参数不匹配,尤其是--max-model-len和显存配置 | 确保启动命令含--max-model-len 4096(AutoGLM-Phone 推荐值),GPU显存建议 ≥16GB |
| 指令执行一半卡住,无报错 | ADB 命令执行阻塞,常见于输入法未切为 ADB Keyboard | 手机进「设置」→「语言与输入法」→ 确认默认输入法是ADB Keyboard |
4.3 执行效果类问题
| 现象 | 根本原因 | 解决方案 |
|---|---|---|
| AI总点错位置,比如该点搜索框却点了广告 | 屏幕截图分辨率与模型训练分辨率不一致 | 在main.py中添加--screen-width 1080 --screen-height 2400参数,匹配你手机真实分辨率 |
| 执行后手机无反应,但终端显示“success” | ADB 权限不足,尤其 Android 12+ | 在手机「开发者选项」里,开启「USB调试(安全设置)」和「通过网络进行无线调试(安全设置)」 |
| 关注/登录等操作后,AI未检测到结果页 | 界面加载慢,AI截图过早 | 在指令末尾加等待提示,如:“...并关注他!等待3秒后截图确认” —— 框架会自动插入 sleep |
终极排查法:打开
adb logcat实时看日志。在终端另起一行运行adb logcat | grep -i "phone_agent\|autoglm",所有关键动作和错误都会实时打印,比猜快十倍。
5. 总结:你已经拥有了一个可落地的手机AI分身
回顾整个过程,你其实只做了四件事:装好 ADB、配好手机、拉下代码、连上设备。没有编译、没有配置 YAML、没有调参——所有复杂度都被封装在main.py和云端模型里。你现在拥有的,不是一个玩具 Demo,而是一个真正能干活的 AI 助理:
- 它能看:用视觉语言模型理解任意 App 界面,不依赖 OCR 或预设规则;
- 它能想:把一句自然语言拆解成可执行的动作序列,规划路径清晰;
- 它能做:通过 ADB 精准点击、滑动、输入、截图,动作误差小于 5 像素;
- 它能守:遇到敏感操作主动暂停,支持人工接管,安全边界清晰。
下一步,你可以尝试:
把常用操作写成 Shell 脚本,一键执行“每日打卡”;
用 Python API 接入企业微信机器人,收到消息就自动查订单;
搭配定时任务,让 AI 每天早上 8 点自动刷抖音热点,截图发你邮箱。
技术的价值,从来不在多炫,而在多实。Open-AutoGLM 把“手机自动化”这件事,从工程师的私藏工具,变成了人人可上手的日常能力。你不需要成为 AI 专家,也能拥有一个不知疲倦、眼疾手快的数字搭档。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。