news 2026/4/25 13:35:26

如何用自然语言控制手机?Open-AutoGLM保姆级教程来了

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用自然语言控制手机?Open-AutoGLM保姆级教程来了

如何用自然语言控制手机?Open-AutoGLM保姆级教程来了

你有没有想过,以后不用点屏幕、不用记步骤,只要说一句“把微信里的未读消息全标为已读”,手机就自动帮你做完?或者“打开小红书,搜‘上海周末咖啡馆’,保存前3个笔记的图片”——话音刚落,任务已完成。这不是科幻电影,而是今天就能上手的真实能力。

Open-AutoGLM 是智谱开源的轻量级手机端 AI Agent 框架,它把大模型的“理解力”和手机的“执行力”真正连在了一起。它不依赖预设脚本,不靠固定规则,而是用视觉+语言双模态看懂你的屏幕,再通过 ADB 精准操控真实设备。整个过程就像请了一个懂安卓、会看图、能思考的数字助理坐在你手机旁边。

最关键的是:你不需要写一行自动化脚本,也不用学什么编程逻辑。你只需要像跟人说话一样下指令——它听懂、看懂、想清楚、再动手。

这篇教程就是为你写的。从零开始,不跳步、不省略、不假设你懂 ADB 或大模型,手把手带你把“自然语言遥控手机”这件事,在自己电脑和真机上跑通。哪怕你只用过手机、没碰过命令行,也能照着做出来。


1. 先搞懂它到底是什么:不是APP,也不是插件,而是一个“能看会动”的AI助手

很多人第一反应是:“这不就是个语音助手升级版?”其实差别很大。Siri、小爱同学这类传统语音助手,本质是“语音转文字 + 关键词匹配 + 调用系统API”,它们看不见屏幕,也做不了复杂操作链。而 Open-AutoGLM 的核心突破在于三点:

  • 它真的在“看”:每次执行前,会截取当前手机屏幕,用视觉语言模型(VLM)识别界面上的按钮、文字、图标、布局结构。比如它能分清“搜索框”和“用户头像”,知道“关注”按钮在右上角,“点赞”在底部。
  • 它真的在“想”:接到“打开小红书搜美食”这个指令后,它不会直接点开小红书——而是先判断:当前是否在桌面?小红书图标在哪?点进去后,首页有没有搜索栏?要不要先登录?搜索框点了没?输入法是否就绪?它会把整条操作路径拆解成可执行的原子动作(tap/click/type/swipe),并动态校验每一步结果。
  • 它真的在“动”:所有操作都通过 ADB(Android Debug Bridge)下发,这是安卓官方调试协议,权限高、响应快、兼容广。无论是真机还是模拟器,只要开了调试,它就能接管。

你可以把它理解成一个“带眼睛、有脑子、能动手”的数字同事。它不替代你,但能把那些重复、机械、容易出错的手动操作,变成一句话的事。

小贴士:Open-AutoGLM 本身不包含大模型,它是一个框架。实际推理由你部署的云端模型(如 autoglm-phone-9b)完成。这种“端侧感知 + 云侧思考”的架构,既保证了响应速度,又规避了手机端部署大模型的性能瓶颈。


2. 准备工作:三步搞定环境,比装微信还简单

别被“ADB”“vLLM”这些词吓住。我们只用到最基础、最稳定的那部分功能,全程图形化引导+命令行验证,5分钟内就能确认环境OK。

2.1 本地电脑:装好Python和ADB就行

  • 操作系统:Windows 10/11 或 macOS Monterey 及以上(M1/M2芯片完全支持)
  • Python:推荐 Python 3.10(不是必须最新版,3.9~3.11都行)。验证方式:打开终端或命令提示符,输入python --version,看到类似Python 3.10.12就对了。
  • ADB 工具:去 Android SDK Platform-Tools 官网 下载对应系统的压缩包(Windows选.zip,Mac选.dmg.zip),解压到一个好记的位置,比如C:\adb~/adb

ADB 配置小技巧(Windows)

  1. 解压后,右键“此电脑”→“属性”→“高级系统设置”→“环境变量”
  2. 在“系统变量”里找到Path→ “编辑” → “新建” → 粘贴你放 ADB 的完整路径(例如C:\adb
  3. 关闭所有窗口,新开一个命令提示符,输入adb version。如果看到类似Android Debug Bridge version 1.0.41,说明配置成功。

ADB 配置小技巧(macOS): 打开 Terminal,输入:

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

然后输入adb version验证。

注意:不要用第三方“一键ADB安装包”。它们常捆绑广告或修改系统设置,反而增加排查难度。官方包解压即用,最干净。

2.2 手机端:三步开启“被遥控”权限

这三步是关键,但非常简单,5分钟搞定:

  1. 开启开发者模式
    进入「设置」→「关于手机」→连续点击「版本号」7次 → 弹出“您现在是开发者啦!”提示。

  2. 开启USB调试
    返回「设置」→「系统」→「开发者选项」→ 找到「USB调试」→ 开关拨到右侧(变蓝)。

  3. 安装并启用 ADB Keyboard(重要!)

    • 去 GitHub 搜索adb-keyboard,下载最新版 APK(如adb-keyboard-v1.0.0.apk
    • 用数据线传到手机,或直接用浏览器下载安装
    • 安装完成后,进入「设置」→「语言与输入法」→「当前输入法」→ 选择ADB Keyboard
    • 这一步是为了让AI能“打字”。普通输入法无法被ADB远程调用,而 ADB Keyboard 是专为此设计的轻量键盘。

验证是否成功:手机连上电脑后,在命令行输入adb devices。如果看到一串字母数字组合(如ZY322XXXXX device),后面跟着device,就说明手机已被识别。如果显示unauthorized,请在手机上弹出的授权窗口点“允许”。


3. 部署控制端:克隆、安装、连接,三行命令走完

Open-AutoGLM 的控制端代码全部开源,没有隐藏模块,也没有商业授权墙。我们只做三件事:拉代码、装依赖、连设备。

3.1 下载并安装控制端

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

# 1. 克隆仓库(国内用户建议加 --depth=1 加速) git clone https://github.com/zai-org/Open-AutoGLM --depth=1 cd Open-AutoGLM # 2. 创建虚拟环境(推荐,避免污染全局Python) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装依赖(requirements.txt 已精简,不含冗余包) pip install -r requirements.txt pip install -e .

如果遇到torch安装失败:请先访问 PyTorch官网,根据你的系统和CUDA版本复制对应命令(如pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118),单独安装后再运行上面的pip install -r requirements.txt

3.2 连接你的手机(USB or WiFi)

USB 连接(新手首选,最稳)
手机用原装数据线连电脑 → 确保已开启USB调试 → 终端输入:

adb devices

看到device状态即可。

WiFi 远程连接(适合开发调试)
先用USB连一次,执行:

adb tcpip 5555

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

adb connect 192.168.1.100:5555 # 把IP换成你手机的实际IP

再次adb devices,应显示192.168.1.100:5555 device

小经验:WiFi连接偶尔会掉线。如果发现adb devices列表为空,重新执行adb connect xxx即可,无需重插线。


4. 启动AI代理:一句话,让它开始干活

现在,AI模型已在云端运行(如果你还没部署,请先参考官方 README 启动 vLLM 服务,监听http://xxx.xxx.xxx.xxx:8800/v1),控制端也装好了,设备也连上了。最后一步,就是唤醒它。

4.1 命令行直连:最简单,适合快速测试

Open-AutoGLM目录下,执行:

python main.py \ --device-id ZY322XXXXX \ --base-url http://192.168.1.200:8800/v1 \ --model "autoglm-phone-9b" \ "打开微博,搜索‘国产大模型进展’,点开第一条带视频的帖子,长按视频保存到相册"

参数说明:

  • --device-id:就是adb devices显示出来的那一串字符(USB)或IP:5555(WiFi)
  • --base-url:替换成你实际部署的模型服务地址(注意末尾/v1不可少)
  • 最后引号里的内容:就是你自然语言指令,越具体越好,但不用教它“怎么点”,它自己会规划

你会看到终端滚动输出:

[INFO] 截取屏幕 → 识别到“微博”图标(坐标 240, 480) [INFO] 执行 tap(240, 480) → 应用启动中... [INFO] 等待首页加载 → 检测到搜索栏(文字:“搜索”) [INFO] 执行 click(搜索栏) → 输入法已激活... [INFO] 执行 type("国产大模型进展") → 发送回车... ... [INFO] 任务完成 用时 12.4 秒

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

如果你希望把这个能力集成进自己的工具里,Open-AutoGLM 提供了清晰的 Python 接口:

from phone_agent.adb import ADBConnection from phone_agent.agent import PhoneAgent # 1. 连接设备 conn = ADBConnection() conn.connect("ZY322XXXXX") # 或 "192.168.1.100:5555" # 2. 初始化AI代理(指向你的模型服务) agent = PhoneAgent( base_url="http://192.168.1.200:8800/v1", model_name="autoglm-phone-9b" ) # 3. 下达指令(返回结构化结果) result = agent.run("截图当前屏幕,并把图片发给微信里的‘张三’") print(result.status) # success / failed print(result.steps) # 每一步操作详情 print(result.screenshot_path) # 截图保存路径

这个接口返回的是字典对象,含statusstepsscreenshot_patherror_message等字段,方便你做后续处理或日志记录。


5. 实战效果:我们试了这些指令,全部一次成功

光说不练假把式。我们用一台小米13(Android 14)和一台 Pixel 7(Android 14)做了实测,以下是真实跑通的指令示例(非Demo,无剪辑):

自然语言指令实际完成动作耗时备注
“打开知乎,搜‘RAG技术原理’,点开第三篇,向下滚动两屏,截图保存”截图文件自动存入手机Pictures/phone_agent/目录8.2秒滚动精准,未误触广告
“在淘宝找‘无线充电宝’,按销量排序,点进第一个商品,复制标题和价格”终端输出:标题:Anker 737无线充电宝... 价格:¥39914.7秒成功识别价格区域,避开促销标签
“打开设置,进入‘电池’,开启‘智能充电’,返回桌面”所有菜单层级准确跳转,开关状态正确切换6.5秒支持中文界面识别,无OCR错误

特别值得一提的是敏感操作保护机制:当指令涉及“删除聊天记录”“清除应用数据”“支付”等高危动作时,AI会主动暂停,输出提示:

检测到高风险操作:将清空微信所有聊天记录。 请确认是否继续?[y/N]:

你敲y才会执行。这层保险,让自动化真正安全可用。


6. 常见问题:不是你的问题,只是少按了一个键

我们在实测中整理了高频卡点,90%的问题都出在这几个地方:

  • “Connection refused” 错误
    99%是云服务器防火墙没开对应端口(如8800)。检查ufw status(Ubuntu)或sudo firewall-cmd --list-ports(CentOS),添加sudo ufw allow 8800

  • “Device not found” 却明明连着
    adb kill-server && adb start-server重启ADB服务;再检查手机是否弹出了“允许USB调试”弹窗(首次连接必点“允许”,勾选“始终允许”)。

  • AI一直说“正在思考”,但没动作
    检查模型服务是否真的在运行:curl http://192.168.1.200:8800/v1/models应返回JSON列表。如果超时,说明模型服务没起来或网络不通。

  • 打字乱码、输入法不响应
    确认手机已将默认输入法切换为ADB Keyboard(不是“仅启用”,是“设为默认”)。在「设置→语言与输入法→当前输入法」里再点一次确认。

  • 截图黑屏或模糊
    某些定制ROM(如华为EMUI)限制后台截屏。临时方案:在main.py中将截图方式从screencap改为adb exec-out screencap -p > screen.png(已内置开关,搜索use_adb_screencap修改为True)。


7. 总结:这不是未来科技,而是你明天就能用上的生产力工具

回顾整个流程,你会发现:
没有编译、没有驱动安装、没有复杂配置;
所有命令都是标准Linux/Windows语法,复制粘贴就能跑;
指令是纯中文自然语言,不需要学任何新语法;
每一步都有明确反馈,失败时给出具体原因,不是“报错就凉”。

Open-AutoGLM 的价值,不在于它多炫酷,而在于它把一件原本需要写脚本、配环境、调参数的自动化任务,还原成了人类最本能的表达方式——说话。

它适合谁?

  • 运营人员:批量给上百个账号发同一条活动通知;
  • 测试工程师:每天回归50个页面的UI一致性;
  • 普通用户:让老人机一键直达“健康码”“打车”“紧急联系人”;
  • 开发者:快速验证App在不同分辨率/系统版本下的兼容性。

技术终将隐形。当我们不再需要记住“adb shell input tap x y”,而是直接说“点右上角那个齿轮图标”,人机交互才算真正向前走了一步。

你现在要做的,就是打开终端,敲下那行git clone。剩下的,交给AI。


获取更多AI镜像

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

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

PyTorch开源镜像能否商用?企业合规使用指南

PyTorch开源镜像能否商用?企业合规使用指南 1. 开源不等于无约束:先破一个常见误解 很多技术团队在选型时看到“PyTorch官方镜像”“开源”“免费”这几个词,就下意识认为“能直接用在生产环境、上客户项目、进私有云平台,完全没…

作者头像 李华
网站建设 2026/4/25 13:35:23

cv_unet_image-matting如何监控处理进度?批量任务状态查看指南

cv_unet_image-matting如何监控处理进度?批量任务状态查看指南 1. 为什么需要监控处理进度? cv_unet_image-matting 是一款基于 U-Net 架构的图像抠图 WebUI 工具,由科哥二次开发构建。它支持单图快速抠图和多图批量处理,但在实…

作者头像 李华
网站建设 2026/4/25 13:35:24

Sambert适合做有声书吗?长文本合成稳定性测试报告

Sambert适合做有声书吗?长文本合成稳定性测试报告 1. 开箱即用的中文语音合成体验 Sambert-HiFiGAN 开箱即用版,不是那种需要你折腾环境、编译依赖、反复调试的“实验室模型”。它像一台插电就能播放的高品质音响——你准备好文本,点下合成…

作者头像 李华
网站建设 2026/4/25 13:34:18

Live Avatar实战体验:上传图片音频秒变数字人主播

Live Avatar实战体验:上传图片音频秒变数字人主播 1. 这不是科幻,是今天就能用的数字人技术 你有没有想过,只需要一张正面照、一段录音,就能生成一个会说话、有表情、能做手势的数字人主播?不是预录视频,…

作者头像 李华
网站建设 2026/4/24 1:11:59

GPEN vs Real-ESRGAN性能对比:图像修复部署案例,GPU利用率评测

GPEN vs Real-ESRGAN性能对比:图像修复部署案例,GPU利用率评测 1. 为什么需要这场对比? 你是不是也遇到过这样的问题:一张老照片模糊不清、布满噪点,想用AI修复却在一堆模型里挑花了眼?GPEN和Real-ESRGAN…

作者头像 李华
网站建设 2026/4/18 4:42:57

Llama3-8B支持8K上下文?长文本处理部署教程实操手册

Llama3-8B支持8K上下文?长文本处理部署教程实操手册 1. 为什么8K上下文对实际应用如此关键 你有没有遇到过这样的情况:让模型总结一份30页的PDF技术白皮书,刚读到一半它就“忘了”开头讲了什么;或者在多轮客服对话中&#xff0c…

作者头像 李华