Open-AutoGLM备忘录创建:语音转文字记录执行部署实战
1. Open-AutoGLM – 智谱开源的手机端AI Agent框架
你有没有想过,有一天只要对着电脑说一句“帮我打开小红书搜一下周末去哪玩”,手机就能自动完成整个操作?这不是科幻,而是现在就能实现的现实。Open-AutoGLM 正是这样一个由智谱AI推出的开源项目,它让普通开发者也能快速搭建属于自己的手机端AI智能助理。
这个框架的核心能力在于——用自然语言驱动手机自动化操作。无论是打开App、搜索内容,还是点击按钮、填写表单,你都不需要写一行代码或手动点按。只需要一句话,背后的AI模型就会理解你的意图,看懂当前屏幕内容,并一步步规划出执行路径,通过ADB(Android Debug Bridge)自动完成所有操作。
更厉害的是,它不是简单的脚本回放工具,而是一个真正具备“感知-思考-行动”闭环的AI代理。它能“看见”屏幕上的文字和布局,理解UI元素的功能,还能在遇到登录弹窗或验证码时暂停并提示人工介入,确保安全与可控。
2. AutoGLM-Phone:多模态理解 + 自动化执行的智能助手
AutoGLM-Phone 是 Open-AutoGLM 的核心技术基础,它本质上是一个基于视觉语言模型(VLM)的手机智能助理框架。它的运行逻辑可以拆解为三个关键环节:屏幕感知、意图理解与任务规划、自动化执行。
2.1 多模态感知:AI也能“看”手机屏幕
传统自动化工具依赖控件ID或坐标点击,一旦界面变化就失效。而 AutoGLM-Phone 不同,它通过截图获取当前手机画面,再结合大模型对图像进行语义解析。比如,它能识别出“这是一个搜索框”、“那个红色图标是‘关注’按钮”,甚至能读懂图文混排的信息流内容。
这种能力来源于其背后强大的视觉语言模型训练数据,让它不仅能“看到”,还能“理解”。你可以把它想象成一个始终盯着你手机屏幕的AI同事,你说什么,它就看着屏幕帮你做什么。
2.2 自然语言驱动:一句话下达复杂指令
用户不需要学习任何编程语法,只需像跟人说话一样下指令:
“打开抖音,搜索用户名叫 dycwo11nt61d 的博主,然后关注他。”
这句话会被模型拆解成一系列原子动作:
- 启动抖音App
- 找到首页的搜索入口并点击
- 输入指定用户名
- 在结果页找到目标账号
- 点击“关注”按钮
整个过程无需预设脚本,完全由AI动态生成执行路径。这正是“AI Agent”区别于传统RPA的本质特征——自主决策能力。
2.3 安全机制与远程调试支持
考虑到自动化操作可能涉及隐私和敏感行为,系统内置了多重保护机制:
- 敏感操作确认:当检测到支付、删除、授权等高风险操作时,会主动暂停并等待用户确认。
- 人工接管模式:在验证码、滑块验证等AI无法处理的场景下,自动退出控制权,交还给用户手动操作。
- 远程ADB调试:支持通过WiFi连接设备,实现跨网络的远程控制,极大提升了开发和测试的灵活性。
这意味着你可以在办公室用笔记本远程操控家里的测试机,或者为团队成员提供统一的自动化服务节点。
3. 本地电脑连接真机:环境准备与设备配置
要让 Open-AutoGLM 跑起来,我们需要先在本地电脑上搭建控制端,让它能够通过 ADB 与安卓设备通信,并调用云端部署的 AI 模型服务。以下是详细步骤。
3.1 硬件与软件环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 或 macOS |
| Python 版本 | 建议 3.10 及以上 |
| 安卓设备 | Android 7.0+ 的真实手机或模拟器 |
| ADB 工具 | 必须安装并配置好环境变量 |
ADB 安装与环境配置
ADB 是 Android SDK 的一部分,用于与安卓设备建立调试连接。你可以从 Android 开发者官网 下载platform-tools包。
Windows 用户配置方法:
- 解压下载的压缩包到任意目录(如
C:\platform-tools) - 按
Win + R输入sysdm.cpl,打开“系统属性” - 进入“高级” → “环境变量”
- 在“系统变量”中找到
Path,点击“编辑” - 添加 ADB 解压路径(如
C:\platform-tools) - 打开命令行输入
adb version,若显示版本号则说明配置成功
macOS 用户配置方法:
假设你将 platform-tools 解压到了~/Downloads/platform-tools,在终端中执行以下命令:
export PATH=${PATH}:~/Downloads/platform-tools为了永久生效,可将该行添加到~/.zshrc或~/.bash_profile文件中。
3.2 手机端设置:开启调试权限
为了让电脑能控制手机,必须开启开发者选项和USB调试功能。
开启开发者模式
进入手机“设置” → “关于手机” → 连续点击“版本号”7次,直到提示“您已进入开发者模式”。启用 USB 调试
返回设置主菜单 → “开发者选项” → 打开“USB调试”开关。安装 ADB Keyboard(推荐)
这是一个特殊的输入法应用,允许通过 ADB 命令直接向手机输入文字,避免因中文输入法导致的兼容问题。- 下载 ADB Keyboard APK 并安装
- 进入“语言与输入法”设置
- 将默认输入法切换为 “ADB Keyboard”
这样,在后续自动化过程中,AI就可以直接发送文本内容,无需依赖物理键盘或第三方输入法。
4. 部署 Open-AutoGLM 控制端代码
现在我们开始在本地电脑上部署控制端代码。
4.1 克隆仓库并安装依赖
打开终端或命令行工具,执行以下命令:
# 克隆 Open-AutoGLM 项目 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装所需依赖 pip install -r requirements.txt # 安装本地包(便于调用模块) pip install -e .⚠️ 注意:建议使用虚拟环境(如 conda 或 venv)来隔离依赖,避免与其他项目冲突。
安装完成后,你会看到phone_agent目录被注册为可导入模块,这是后续调用API的基础。
5. 设备连接方式:USB 与 WiFi 远程连接
Open-AutoGLM 支持两种设备连接方式:USB直连和WiFi远程连接。前者稳定可靠,后者灵活方便。
5.1 USB 连接方式
- 使用数据线将手机连接电脑
- 手机弹出“允许USB调试?”提示时,点击“允许”
- 在终端运行:
adb devices如果输出类似:
List of devices attached ABCDEF1234567890 device说明设备已成功连接。
5.2 WiFi 远程连接方式
适合远程调试或无线批量控制场景。
- 先用 USB 连接设备,启动 ADB TCP/IP 模式:
adb tcpip 5555断开USB线,获取手机IP地址(可在“设置-关于手机-状态信息”中查看)
使用IP连接设备:
adb connect 192.168.x.x:5555再次运行adb devices,应能看到设备以 IP 形式列出。
✅ 提示:确保电脑与手机处于同一局域网下。
6. 启动 AI 代理:执行自然语言指令
一切准备就绪,现在我们可以正式让 AI 接管手机了。
6.1 命令行方式运行任务
在项目根目录下执行:
python main.py \ --device-id ABCDEF1234567890 \ --base-url http://<云服务器IP>:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"参数说明:
--device-id:通过adb devices获取的设备唯一标识--base-url:指向你云端部署的 vLLM 服务地址(需公网IP + 端口映射)--model:指定使用的模型名称(目前默认为autoglm-phone-9b)- 最后的字符串:你要执行的自然语言指令
执行后,你会看到程序自动截图、上传给模型、接收操作指令、并通过 ADB 执行点击、滑动、输入等动作。
6.2 使用 Python API 实现远程连接管理
除了命令行,你也可以在自己的脚本中集成 Open-AutoGLM 的功能。
from phone_agent.adb import ADBConnection, list_devices # 创建 ADB 连接管理器 conn = ADBConnection() # 连接远程设备(IP:端口) success, message = conn.connect("192.168.1.100:5555") print(f"连接状态: {message}") # 列出所有已连接设备 devices = list_devices() for device in devices: print(f"{device.device_id} - {device.connection_type.value}") # 若使用USB连接,可启用TCP/IP以便后续无线使用 success, message = conn.enable_tcpip(5555) if success: ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")这段代码可用于构建更复杂的自动化调度系统,例如定时任务、多设备轮询、异常监控等。
7. 常见问题排查与优化建议
尽管 Open-AutoGLM 功能强大,但在实际部署中仍可能遇到一些常见问题。以下是高频故障及解决方案。
7.1 连接失败或被拒绝
现象:adb connect失败,提示“unable to connect”
原因与解决:
- 云服务器防火墙未开放对应端口(如8800),请检查安全组规则
- 路由器未做端口转发,若使用内网穿透需配置正确
- 手机未开启“允许通过网络调试”选项(部分厂商隐藏此设置)
7.2 ADB 频繁掉线
现象:执行中途断开连接,操作中断
建议:
- 优先使用 USB 连接,稳定性远高于 WiFi
- 若必须用WiFi,确保信号强度良好,避免穿墙或干扰
- 可编写重连脚本,监听
adb devices状态并自动恢复
7.3 模型响应乱码或无动作
现象:AI返回无效操作指令,或长时间无响应
检查项:
- 确认 vLLM 服务启动参数是否完整,特别是:
--max-model-len 4096 --gpu-memory-utilization 0.9 - 检查模型权重是否完整加载,日志中是否有 CUDA OOM 报错
- 确保传入的 base_url 正确,且
/v1/models接口可访问
7.4 中文输入异常
现象:文字输入变成拼音或乱码
解决方案:
- 确保已安装并启用 ADB Keyboard
- 在代码中显式设置输入法切换(如有必要):
adb shell ime set com.android.adbkeyboard/.AdbKeyboard
8. 总结
Open-AutoGLM 不只是一个技术玩具,它是通往未来“语音即操作”交互范式的桥梁。通过本文的实战部署流程,你应该已经掌握了如何:
- 搭建本地控制环境
- 配置手机调试权限
- 连接设备(USB/WiFi)
- 调用云端AI模型执行自然语言指令
- 使用Python API进行扩展开发
更重要的是,这套框架展示了AI Agent的真实潜力:不再需要APP专门做接口,也不需要用户学习复杂操作,只要会说话,就能让手机替你办事。
无论是个人效率提升,还是企业级自动化测试、客服机器人、无障碍辅助等场景,Open-AutoGLM 都提供了极具想象力的技术底座。
下一步,你可以尝试:
- 将语音输入接入 Whisper 实现“语音→文字→执行”全流程
- 构建图形化界面,让更多非技术人员也能使用
- 结合知识库实现更复杂的任务推理(如比价、订票、信息汇总)
AI正在重新定义人机交互的方式,而你现在,已经站在了这场变革的起点。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。