AutoGLM-Phone笔记整理应用:语音转文字AI代理部署
1. 什么是AutoGLM-Phone?一个真正能“看懂”手机屏幕的AI助理
你有没有过这样的体验:想快速记下会议要点,却在翻找录音笔、打开转写软件、等待识别、再手动整理之间耗掉十分钟?或者想让手机自动完成一连串操作——比如“把刚收到的微信语音转成文字,复制到备忘录,再发给老板确认”,却只能一次次点开不同App,反复切换、粘贴、发送?
AutoGLM-Phone不是又一个“调用API”的Demo项目,而是一个能真正理解你手机屏幕、听懂你自然语言、并亲手帮你点按滑动的AI代理框架。它由智谱开源,核心定位很清晰:不做云端幻觉生成器,而是做你手机上的“数字双手”。
它不靠预设脚本,也不依赖固定UI结构。当你对它说“打开小红书搜美食”,它会先截图当前屏幕,用视觉语言模型(VLM)识别出“小红书图标在哪”“搜索框长什么样”“键盘是否已弹出”;再结合你的指令,推理出完整动作链:点击图标 → 等待App加载 → 点击搜索栏 → 调起ADB Keyboard输入“美食” → 点击搜索按钮。整个过程像一个熟练的真人用户在操作,而不是一堆硬编码的坐标点击。
更关键的是,它把“语音转文字”这件事,从孤立功能升级为任务流的起点。语音只是输入方式,真正的价值在于:语音指令触发后,AI能自主完成后续所有环节——理解界面、规划路径、执行操作、反馈结果。这才是“笔记整理应用”的底层能力:你说话,它做事,你只管看结果。
2. 核心能力拆解:为什么它能“看”“想”“动”
2.1 多模态感知:不只是OCR,是真正“看懂”屏幕
传统自动化工具(如Auto.js)依赖坐标或控件ID,一旦App更新、界面重排,就立刻失效。AutoGLM-Phone完全不同:
- 它通过ADB实时抓取手机屏幕画面(PNG),送入轻量化视觉语言模型;
- 模型不仅识别文字(“搜索”“关注”“发送”),还能理解图标语义(放大镜=搜索,心形=关注,纸飞机=发送)、布局关系(搜索框在顶部,返回按钮在左上角)、甚至状态(“关注”按钮是灰色不可点,说明已关注);
- 这种理解是上下文相关的。比如同一张“设置”图标,在系统设置页和App内设置页,它的可点击区域和后续动作完全不同。
举个真实场景:你让AI“把微信里张三发的‘今晚开会’这条消息转发给李四”。它不会盲目截图找“转发”按钮,而是先定位聊天窗口中“张三”的头像区域,向下扫描找到包含“今晚开会”的气泡,再识别该气泡右上角的“…”菜单,点击后在弹出菜单中精准定位“转发”选项——整个过程基于视觉语义推理,而非死记硬背坐标。
2.2 智能动作规划:把自然语言翻译成可执行的ADB指令
理解屏幕只是第一步。AutoGLM-Phone的规划模块,才是它区别于普通OCR+ADB工具的关键:
- 它将用户指令(如“登录淘宝,搜索iPhone15,加入购物车”)解析为分层任务树:
登录→ [检测登录页] → [输入账号] → [输入密码] → [点击登录]搜索→ [检测首页] → [点击搜索框] → [输入iPhone15] → [点击搜索]加购→ [检测商品列表] → [点击第一个商品] → [检测“加入购物车”按钮] → [点击] - 每个子任务都绑定视觉验证条件。例如,“点击登录”后,模型会立即截图,确认是否跳转到首页;若未跳转,则自动重试或提示“密码错误”,而非盲目执行下一步。
- 所有动作最终落地为标准ADB命令:
adb shell input tap x y(点击)、adb shell input text "xxx"(输入)、adb shell input keyevent KEYCODE_BACK(返回)等。
这种“感知→规划→执行→验证”的闭环,让它具备了应对复杂、动态界面的鲁棒性。
2.3 安全与可控:敏感操作有人把关,远程调试随时接入
全自动不等于无约束。AutoGLM-Phone内置两道安全阀:
- 敏感操作确认机制:当检测到可能涉及隐私或高风险的动作(如“删除全部短信”“清除微信聊天记录”“访问相册”),AI会主动暂停,向用户发起二次确认:“即将删除所有短信,确定执行吗?[Y/N]”。这避免了指令歧义导致的误操作。
- 人工接管通道:在验证码、人脸识别、滑块验证等AI无法处理的环节,系统会自动暂停,并提示“请手动完成验证,完成后按回车继续”。你只需拿起手机,输入验证码,再切回电脑按一下回车,流程即恢复。
- 远程ADB调试支持:无需USB线。只要手机和电脑在同一WiFi下,或通过公网IP可达,就能用
adb connect 192.168.x.x:5555建立连接。开发者可随时抓日志、查状态、甚至热更新模型参数,极大提升调试效率。
3. 本地控制端部署:三步走,让AI接管你的手机
部署AutoGLM-Phone控制端,本质是搭建一个“AI大脑”与“手机手脚”之间的通信桥梁。整个过程分为环境准备、设备连接、代理启动三步,全程无需编译,纯Python驱动。
3.1 硬件与基础环境:确保“手”和“眼”在线
| 组件 | 要求 | 验证方式 |
|---|---|---|
| 操作系统 | Windows 10+/macOS 12+ | systeminfo(Win) /sw_vers(Mac) |
| Python | 3.10 或 3.11(推荐3.10) | python --version |
| 安卓设备 | Android 7.0+(真机优先,模拟器需开启GPU加速) | 设置 → 关于手机 → 查看版本号 |
| ADB工具 | Platform-tools v34+ | adb version(需显示 1.0.41 或更高) |
ADB环境变量配置(关键!)
- Windows:下载Android SDK Platform-tools,解压后,将文件夹路径添加到系统环境变量
Path中。验证:CMD中输入adb version,应返回版本号。 - macOS/Linux:终端执行(将
~/Downloads/platform-tools替换为你实际路径):echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc adb version
3.2 手机端设置:赋予AI“操作权限”
这是最容易卡住的一步,请严格按顺序操作:
- 开启开发者模式:
设置 → 关于手机 → 连续点击“版本号”7次 → 输入锁屏密码 → 提示“您现在处于开发者模式”。 - 启用USB调试:
设置 → 系统 → 开发者选项 → 打开“USB调试” → 弹出授权框时,勾选“始终允许”,点击“确定”。 - 安装ADB Keyboard(必装!):
- 下载ADB Keyboard APK(v1.3+);
- 手机安装后,进入设置 → 系统 → 语言与输入法 → 虚拟键盘 → 勾选“ADB Keyboard”;
- 返回上一级,点击“默认键盘” → 选择“ADB Keyboard”。
为什么必须?普通输入法无法被ADB命令调起,ADB Keyboard是唯一能响应adb shell input text指令的输入法。
3.3 克隆代码与安装依赖:启动你的AI代理
# 1. 克隆官方仓库(国内用户建议加 --depth 1 加速) git clone --depth 1 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. 安装核心依赖(含ADB通信、VLM推理封装) pip install -r requirements.txt pip install -e . # 安装为可编辑包,便于后续调试注意:
requirements.txt中已指定adb-shell==0.4.3和transformers==4.40.0等关键版本。若安装失败,可尝试pip install --upgrade pip setuptools wheel后再重试。
4. 连接设备与运行指令:从一句话到全流程自动化
一切就绪,现在让AI开始工作。连接方式有两种,推荐新手从USB开始。
4.1 USB直连:稳定可靠,新手首选
# 1. 用USB线连接手机与电脑 # 2. 在电脑终端执行 adb devices # 正常输出示例: # List of devices attached # 1234567890ABCDEF device若显示unauthorized,请检查手机是否弹出“允许USB调试”授权框,并勾选“始终允许”。
4.2 WiFi无线连接:摆脱线缆,实现远程控制
此方式需先用USB完成初始配置:
# 1. USB连接后,开启TCP/IP模式 adb tcpip 5555 # 2. 断开USB线,确保手机与电脑在同一WiFi # 3. 查找手机IP(设置 → WLAN → 点击当前网络 → 查看IP地址,如 192.168.1.100) # 4. 连接WiFi设备 adb connect 192.168.1.100:5555 # 成功提示:connected to 192.168.1.100:55554.3 启动AI代理:用自然语言下达第一条指令
假设你的云服务已部署好vLLM(端口8800),公网IP为203.107.1.5,设备ID为1234567890ABCDEF:
python main.py \ --device-id 1234567890ABCDEF \ --base-url http://203.107.1.5:8800/v1 \ --model "autoglm-phone-9b" \ "把微信里王五发的‘会议纪要.docx’文件下载到手机,然后用WPS打开并转成PDF"参数详解:
--device-id:adb devices列出的设备ID,或WiFi地址192.168.1.100:5555;--base-url:指向你部署的vLLM API服务(需提前配置好autoglm-phone-9b模型);- 最后字符串:你的自然语言指令,支持中文,长度建议<100字,语义明确。
执行过程实时反馈:
终端会逐行打印AI的思考日志:[INFO] 截图成功,尺寸 1080x2340[PLAN] 检测到微信图标,点击进入[EXEC] adb shell input tap 540 1200[VERIFY] 当前界面包含‘聊天列表’,确认进入微信[PLAN] 在聊天列表中查找‘王五’...
整个过程透明、可追溯,便于调试。
5. 实战技巧与避坑指南:让部署一次成功
5.1 语音转文字的进阶用法:不止于“听写”
AutoGLM-Phone的语音能力,本质是打通“语音输入→文本指令→AI执行”的全链路。你可以这样用:
- 会议笔记自动化:
用手机录音笔录下会议,导出MP3 → 用Whisper API转成文字 → 将文字摘要喂给AutoGLM-Phone:“提取会议中关于Q3市场策略的3个要点,新建备忘录并保存”。 - 跨App信息整合:
“把钉钉里张经理发的客户名单Excel,复制到飞书多维表格第2页,表头为‘客户名、电话、需求’” —— AI会自动切换App、定位文件、解析表格、粘贴数据。 - 个性化快捷指令:
在config.yaml中预设常用指令别名,如/日报= “打开企业微信,进入‘每日汇报’群,发送‘今日工作:1. xxx;2. yyy’”。
5.2 常见问题排查:快速定位,拒绝玄学
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
adb devices显示offline | ADB服务异常 | adb kill-server && adb start-server |
| AI执行后无反应,或点错位置 | 手机分辨率未适配 | 在main.py中设置--screen-width 1080 --screen-height 2340(按你手机实际值) |
| 模型返回乱码、超时 | vLLM端口未映射/防火墙拦截 | 检查云服务器安全组,放行8800端口;确认docker run时加了-p 8800:8000 |
| ADB Keyboard无法输入中文 | 输入法未设为默认 | 手机设置 → 语言与输入法 → 默认键盘 → 切换为ADB Keyboard |
| 远程WiFi连接频繁断开 | 路由器省电策略 | 进入路由器后台,关闭“Wi-Fi节能模式”或“AP隔离” |
5.3 性能优化建议:让AI跑得更快更稳
- 显存不足?启动vLLM时添加
--max-model-len 2048 --gpu-memory-utilization 0.8,平衡速度与显存; - 截图太慢?在
phone_agent/screen.py中,将adb exec-out screencap -p替换为adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png,利用缓存加速; - 指令理解不准?在
prompt_template.txt中,强化few-shot示例,加入你高频使用的指令类型(如“转发微信文件”“截取当前屏幕”)。
6. 总结:从“语音转文字”到“AI代劳”,我们正在跨越什么
AutoGLM-Phone的价值,远不止于“把语音变成文字”。它标志着一个关键拐点:AI代理正从“回答问题”走向“执行任务”。
过去,语音助手是“传声筒”——你说“打电话给妈妈”,它调起拨号盘;现在,AutoGLM-Phone是“执行者”——你说“把妈妈上周发的旅行照片发到家庭群”,它会:打开微信 → 找到妈妈聊天 → 翻阅历史消息 → 定位图片 → 长按保存 → 打开家庭群 → 点击图片 → 发送。每一步都基于实时视觉理解与动态规划。
部署它,你获得的不是一个新工具,而是一个可编程的“数字同事”。它不替代你的思考,但接管了所有重复、机械、跨App的手动操作。当你把“记会议笔记”这个任务交给它,你节省的不仅是十分钟,更是从琐碎操作中解放出来的专注力。
技术终将隐形。而AutoGLM-Phone,正走在让AI真正“消失”于日常操作背后的路上。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。