news 2026/5/1 9:50:20

让AI接管手机!Open-AutoGLM命令行操作全记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
让AI接管手机!Open-AutoGLM命令行操作全记录

让AI接管手机!Open-AutoGLM命令行操作全记录

你有没有想过,有一天只需说一句“帮我订一杯瑞幸的生椰拿铁”,手机就自动打开APP、选好规格、完成支付?这不是科幻电影,而是Open-AutoGLM正在真实发生的事。作为智谱开源的手机端AI Agent框架,AutoGLM-Phone不是简单的语音助手,而是一个能真正“看见”屏幕、“理解”界面、“动手”操作的视觉语言智能体。它不依赖预设脚本,不靠固定UI路径,而是像人一样观察、思考、行动——用自然语言下指令,它就能接管你的手机,完成跨应用、多步骤的真实任务。

本文不讲抽象概念,不堆技术参数,只做一件事:完整复现一次从零开始的命令行实操过程。我会带你亲手敲下每一行命令,看到设备连接成功的提示,看到AI生成的第一条操作指令,看到手机屏幕真的被自动点击、滑动、输入。所有内容基于真实环境验证,跳过理论铺垫,直奔终端黑窗与手机屏幕的联动现场。

1. 环境准备:三步确认,避免后续卡壳

在敲任何代码前,请花2分钟确认这三件事。它们看似简单,却是90%失败案例的根源。

1.1 本地电脑:ADB必须“认得”你的设备

无论Windows还是macOS,核心目标只有一个:让adb devices命令返回带device状态的设备ID。这不是可选项,是硬性前提。

  • Windows用户:下载Android Platform Tools,解压后将文件夹路径(如C:\platform-tools)添加到系统环境变量Path中。打开新命令提示符,输入:

    adb version

    若显示版本号(如Android Debug Bridge version 1.0.41),说明ADB已就位。

  • macOS用户:将解压后的platform-tools目录拖入~/Downloads/,然后在终端执行:

    echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc adb version

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

关键验证:此时手机不要连接。先确保命令行能识别ADB工具本身,再处理设备连接。

1.2 手机端:开发者模式与输入法是两大关卡

很多用户卡在“adb devices显示unauthorized”或“无法输入文字”,问题几乎都出在这里。

  • 开启开发者模式:进入手机「设置」→「关于手机」→连续点击「版本号」7次,直到弹出“您现在处于开发者模式”。
  • 启用USB调试:返回「设置」→「系统」→「开发者选项」→打开「USB调试」。首次开启会弹出授权窗口,勾选“始终允许”并确认。
  • 安装ADB Keyboard(决定性一步)
    下载ADB Keyboard APK,手动安装。安装后进入「设置」→「语言与输入法」→「当前键盘」→选择「ADB Keyboard」为默认。
    为什么必须?Open-AutoGLM需要向任意APP输入文字(如搜索框),而标准输入法会拦截ADB指令。ADB Keyboard是唯一能绕过此限制的方案。

1.3 网络连通性:USB与WiFi二选一,但必须稳定

  • USB直连(推荐新手):用原装数据线连接手机与电脑。执行:

    adb devices

    正常输出应类似:

    List of devices attached 1234567890abcdef device

    若显示unauthorized,请检查手机弹窗是否已授权;若为空,重启ADB服务:

    adb kill-server && adb start-server
  • WiFi远程(进阶):需先用USB连接一次,执行:

    adb tcpip 5555

    断开USB,确保手机与电脑在同一WiFi下,查看手机IP(设置→关于手机→状态→IP地址),然后:

    adb connect 192.168.1.100:5555

    成功后adb devices会显示192.168.1.100:5555。注意:WiFi不稳定时易掉线,首次测试建议坚持USB。

2. 控制端部署:克隆、安装、验证三连击

控制端代码是AI与手机之间的“翻译官”,它把云端模型的指令转化为ADB命令。这一步无需编译,纯Python操作。

2.1 克隆仓库并安装依赖

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

git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt pip install -e .
  • pip install -e .是关键:它以“开发模式”安装包,使phone_agent模块全局可用,后续python main.py才能正常导入。

2.2 快速验证控制端是否就绪

不急着连手机,先用最小化命令测试框架能否运行:

python -c "from phone_agent.adb import ADBConnection; print('Control client ready')"

若输出Control client ready,说明本地环境已打通。若报错ModuleNotFoundError,请返回上一步检查pip install -e .是否执行成功。

3. 服务端对接:把AI大脑接上你的手机

Open-AutoGLM的AI能力来自云端vLLM服务。你需要将--base-url指向这个服务地址。假设你已在算力云部署好vLLM,端口映射为8800,服务器公网IP为203.123.45.67,则基础URL为http://203.123.45.67:8800/v1

3.1 服务端健康检查(必做)

在本地电脑执行:

curl -X POST "http://203.123.45.67:8800/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{ "model": "autoglm-phone-9b", "messages": [{"role": "user", "content": "你好"}] }'
  • 若返回JSON且含"choices":[{...}],说明服务在线。
  • 若返回Connection refused,检查云服务器防火墙是否放行8800端口;若返回404,确认URL末尾有/v1

3.2 获取设备ID:精准定位你的手机

再次执行:

adb devices

记下输出中的设备标识符。它可能是:

  • USB连接:1234567890abcdef
  • WiFi连接:192.168.1.100:5555
    注意:不要复制List of devices attacheddevice字样,只取那一串字符。

4. 首次运行:见证AI接管手机的全过程

现在,所有齿轮已咬合。执行以下命令(替换<DEVICE_ID><BASE_URL>为你的实际值):

python main.py \ --device-id 1234567890abcdef \ --base-url http://203.123.45.67:8800/v1 \ --model "autoglm-phone-9b" \ "打开小红书搜索‘LUMMI MOOD洗发水’并查看最新一篇笔记的评论区"

4.1 命令执行时发生了什么?

当回车键按下,你会看到终端滚动出实时日志。整个过程分四阶段:

  1. 屏幕捕获adb shell screencap -p /sdcard/screen.png→ 截取当前手机屏幕
  2. 图像上传:将PNG编码为base64,随文本指令一起发送至vLLM服务端
  3. AI推理:模型分析截图+指令,生成结构化动作序列(如{"action":"Launch","app":"小红书"}
  4. 指令执行:控制端解析JSON,调用adb shell am start -n com.xingin.xhs/.activity.SplashActivity启动APP

4.2 关键日志解读(看懂AI在想什么)

留意终端中以<think><answer>包裹的块:

<think>当前屏幕显示手机桌面,需要先启动小红书APP。小红书包名是com.xingin.xhs,使用am start命令启动主Activity。</think> <answer>do(action="Launch", app="小红书")
  • <think>是AI的内部推理链,解释它为何选择此动作
  • <answer>是最终输出的可执行指令,格式严格遵循do(action="xxx", ...)

若看到<think>但无<answer>,说明模型未生成有效动作,可能因截图模糊或指令歧义;若<answer>后无ADB响应,检查设备ID是否正确。

5. 实战指令库:10个真实场景,直接复制粘贴

别再纠结“该让AI做什么”,这里提供经过验证的指令集。每条都对应真实手机操作,复制即可用。

5.1 跨应用信息查询类

# 指令1:比价购物 python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "对比京东和淘宝上‘小米手环8’的价格,告诉我哪家更便宜" # 指令2:行程规划 python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "查今天北京到上海的高铁班次,选最早一班并保存出发时间到备忘录"

5.2 社交媒体操作类

# 指令3:关注博主 python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "打开抖音,搜索抖音号‘dycwo11nt61d’,进入主页并点击关注按钮" # 指令4:发布内容 python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "打开小红书,点击底部+号,选择相册中第一张图片,添加文字‘今日咖啡’,发布"

5.3 工具类自动化

# 指令5:清理存储 python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "打开手机设置,进入存储空间,点击‘清理建议’并确认删除缓存文件" # 指令6:设置闹钟 python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "打开时钟APP,新建一个明天早上7点的闹钟,重复星期一至星期五"

5.4 敏感操作安全机制演示

# 指令7:涉及支付(触发人工确认) python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "打开支付宝,给好友‘张三’转账100元" # 指令8:登录账户(需人工输入验证码) python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "打开微信,点击登录,输入手机号138****1234,等待验证码输入"

安全设计:当指令涉及支付、登录等高风险操作时,AI会主动停止执行,输出<answer>wait_for_human_input(reason="需要人工确认支付")</answer>,并在手机屏幕显示提示,确保你全程掌控。

6. 故障排查:5个高频问题的秒级解决方案

遇到报错别慌,90%的问题在这张表里有答案。

现象根本原因一行解决命令
adb devices显示unauthorized手机未授权调试断开重连USB,手机点“允许”
终端卡在Capturing screenshot...ADB Keyboard未设为默认输入法进入手机「设置→语言与输入法」切换默认键盘
报错Connection refused云服务器端口未放行在云控制台安全组中开放8800端口
AI返回乱码或空响应vLLM启动时--max-model-len参数过小重新运行容器,将--max-model-len 25480改为32768
手机无反应,但终端显示<answer>设备ID填写错误(多空格/少字符)再次执行adb devices,精确复制输出内容

7. 进阶技巧:让AI更懂你的手机习惯

默认配置已足够强大,但微调几处参数,能让体验质变。

7.1 屏幕分辨率适配(解决点击偏移)

某些手机截图后坐标计算偏差,可在main.py中修改:

# 找到 line ~120 的 capture_screen 函数 # 将 scale_factor 参数从 1.0 改为你的屏幕缩放比 # 例如:华为Mate50 Pro (2700x1216) 建议设为 0.8 scale_factor = 0.8

7.2 指令响应速度优化

默认AI会生成详细推理链(<think>块),若追求速度,可禁用:

python main.py \ --device-id <ID> \ --base-url <URL> \ --model "autoglm-phone-9b" \ --no-think \ # 新增参数,跳过推理过程 "打开B站搜索‘Open-AutoGLM教程’"

7.3 批量任务执行

将多条指令写入文件tasks.txt

打开知乎搜索‘大模型手机Agent’ 截取当前屏幕并保存到相册 返回桌面

然后执行:

cat tasks.txt | while read cmd; do python main.py --device-id <ID> --base-url <URL> --model "autoglm-phone-9b" "$cmd" sleep 5 # 每条指令间隔5秒,避免过快 done

8. 总结:这不是玩具,而是生产力新范式

回顾整个过程,你完成的远不止一次命令行操作。你亲手搭建了一条从自然语言到物理点击的完整通路:文字指令 → 屏幕感知 → 意图理解 → 动作规划 → ADB执行。Open-AutoGLM的价值,正在于它打破了“AI只能回答,不能行动”的传统边界。

它不替代你的思考,而是放大你的意图。当你疲惫时,让它整理一周会议纪要;当你赶时间时,让它比价下单;当你探索新技术时,让它成为你的实验伙伴——所有这些,都始于你敲下的那句“打开小红书搜索……”。

真正的智能,不是更复杂的算法,而是更简单的交互。现在,你的手机已经准备好听从你的自然语言指挥了。


获取更多AI镜像

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

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

万物识别-中文-通用领域降本实战:阿里开源模型GPU按需计费方案

万物识别-中文-通用领域降本实战&#xff1a;阿里开源模型GPU按需计费方案 1. 这个模型到底能认出什么&#xff1f; 你有没有遇到过这样的场景&#xff1a;拍一张超市货架的照片&#xff0c;想快速知道上面有哪些商品&#xff1b;截一张手机屏幕里的表格截图&#xff0c;需要…

作者头像 李华
网站建设 2026/5/1 6:58:04

企业级语音处理方案:Fun-ASR批量识别全解析

企业级语音处理方案&#xff1a;Fun-ASR批量识别全解析 在客户服务质检、会议纪要整理、培训录音归档等日常工作中&#xff0c;你是否也经历过这样的场景&#xff1a;面对几十个小时的音频文件&#xff0c;只能靠人工反复听、逐字敲——耗时、易错、成本高&#xff1f;更让人头…

作者头像 李华
网站建设 2026/4/25 9:38:49

老旧设备如何重获新生?两款Windows 11系统优化工具深度测评

老旧设备如何重获新生&#xff1f;两款Windows 11系统优化工具深度测评 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 老旧电脑运行Windows 11时是否经常遇到卡顿…

作者头像 李华
网站建设 2026/4/23 12:40:04

开源视频监控平台部署完全指南:从架构到运维的实践方案

开源视频监控平台部署完全指南&#xff1a;从架构到运维的实践方案 【免费下载链接】wvp-GB28181-pro 项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro wvp-GB28181-pro是一款基于GB28181国家标准的开源视频监控平台&#xff0c;支持主流安防设备接…

作者头像 李华
网站建设 2026/5/1 8:16:56

OpenDataLab MinerU与LangChain集成:构建智能文档管道教程

OpenDataLab MinerU与LangChain集成&#xff1a;构建智能文档管道教程 1. 为什么你需要一个真正的文档理解管道 你有没有遇到过这样的情况&#xff1a;手头堆着几十份PDF格式的行业报告、扫描版合同、学术论文截图&#xff0c;甚至还有带复杂表格的财务报表&#xff1f;想从中…

作者头像 李华
网站建设 2026/5/1 5:26:10

如何让嘴唇成为隐形键盘?揭秘视觉语音识别的黑科技

如何让嘴唇成为隐形键盘&#xff1f;揭秘视觉语音识别的黑科技 【免费下载链接】chaplin A real-time silent speech recognition tool. 项目地址: https://gitcode.com/gh_mirrors/chapl/chaplin 在图书馆想记录灵感却怕键盘声打扰他人&#xff1f;在嘈杂工厂中需要精准…

作者头像 李华