news 2026/4/23 17:29:12

Open-AutoGLM接入流程:本地+云端协同操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM接入流程:本地+云端协同操作

Open-AutoGLM接入流程:本地+云端协同操作

Open-AutoGLM不是简单的手机控制工具,而是一套真正意义上的“视觉-语言-动作”闭环智能体框架。它让AI第一次具备了像人一样“看屏幕、想步骤、动手做”的完整能力。本文不讲抽象概念,只聚焦一件事:如何在你自己的电脑和手机上,把这套系统跑起来,并让它听懂你的自然语言指令,自动完成真实任务。无论你是刚接触ADB的新手,还是想快速验证AI手机能力的开发者,这篇实操指南都会带你从零完成本地与云端的协同部署。


1. 理解核心协作逻辑:为什么是“本地+云端”?

Open-AutoGLM的运行不是单机软件,而是一个清晰分工的协同系统。理解这个分工,是避免后续配置踩坑的关键。

1.1 三端角色明确:谁负责什么?

  • 你的手机(执行端):只负责“被看”和“被操作”。它提供实时屏幕画面(截图),并接收ADB命令执行点击、滑动、输入等动作。所有敏感操作(如支付)默认暂停等待人工确认,安全由你掌控。
  • 你的本地电脑(控制端):只负责“连接”和“转发”。它通过ADB与手机建立稳定通道,同时作为客户端调用云端模型API。它不运行大模型,因此对本地显卡无要求,一台普通笔记本即可胜任。
  • 云服务器(智能端):只负责“思考”和“决策”。它运行AutoGLM-Phone-9B多模态大模型,接收手机截图和你的自然语言指令,理解当前界面状态,规划出下一步最合理的操作(比如“点击搜索框”、“输入‘火锅’”、“滑动到第三项”),再将结构化动作指令返回给本地电脑执行。

这种设计带来三大实际好处:第一,手机无需ROOT或越狱,兼容性极强;第二,本地电脑轻量化,告别显存焦虑;第三,模型能力可随时升级,用户端零更新

1.2 与纯本地方案的本质区别

很多教程会教你把整个模型部署在本地GPU上。这看似“完全自主”,但代价巨大:18GB模型文件、12GB以上显存、漫长的启动时间。而Open-AutoGLM的云端智能端,意味着你只需一次部署,所有设备共享同一套最新能力。你今天在Mac上跑通的指令,明天换一台Windows电脑,只要连上同一个云服务,效果完全一致。这不是妥协,而是工程上的务实选择。


2. 本地准备:让电脑成为可靠的“指挥官”

这一步的目标很明确:让你的电脑能稳稳地“看见”手机屏幕,并能准确地“指挥”它。所有操作都围绕ADB展开,没有玄学,只有清晰的验证点。

2.1 ADB环境:不是安装,而是“打通任督二脉”

ADB不是装上就能用的软件,它是一条需要双向认证的数据通道。很多失败源于“单向通畅”。

  • Windows用户:下载platform-tools后,务必在“系统环境变量”中添加路径,而非用户变量。验证时打开全新的命令提示符窗口,执行adb version。如果报错“不是内部或外部命令”,说明环境变量未生效,重启命令行是最快解法。
  • macOS用户:执行export PATH=$PATH:~/Downloads/platform-tools后,必须运行source ~/.zshrc(或~/.bash_profile)才能使新路径生效。直接在当前终端执行echo $PATH,确认输出中包含你的platform-tools路径。

关键验证点adb version成功后,立即执行adb devices。此时应显示空列表(List of devices attached)。这表示ADB服务已启动,就等设备接入——这是健康状态,不是错误。

2.2 手机设置:三个动作,缺一不可

开发者模式只是起点,真正的控制权在以下三个设置里:

  1. USB调试(必须开启):这是ADB通信的总开关。开启后,首次用数据线连接电脑,手机屏幕会弹出“允许USB调试吗?”对话框,务必勾选“始终允许”,然后点击确定。这是防止每次重连都需手动确认的关键。
  2. 无线调试(WiFi控制前提):进入“设置 > 开发者选项 > 无线调试”,开启开关。下方会显示一个IP地址和端口(如192.168.1.100:5555),这就是你后续远程连接的地址。
  3. ADB Keyboard(中文输入基石):这是最容易被忽略的一步。仅安装APK不够,必须进入“设置 > 系统 > 语言和输入法 > 虚拟键盘”,找到“ADB Keyboard”并启用它。之后,在任何需要输入文字的场景(如搜索框),长按输入框,选择“输入法”切换为ADB Keyboard。没有这一步,AI发出的“输入‘美食’”指令将无法执行。

2.3 连接方式选择:USB是黄金标准,WiFi是进阶体验

  • USB连接(推荐新手首选):即插即用,延迟最低,稳定性最高。连接后执行adb devices,输出应为<device_id> device。如果显示unauthorized,请检查手机是否点了“允许”;如果显示为空,尝试更换USB线或接口。
  • WiFi连接(适合固定办公场景):需先用USB线连接一次,执行adb tcpip 5555,然后断开USB,再执行adb connect <手机IP>:5555。成功后adb devices会显示<手机IP>:5555 device注意:手机和电脑必须在同一局域网,且路由器未开启AP隔离功能。

3. 云端部署:启动你的“AI大脑”

这一步在云服务器(或你自己的高性能PC)上进行,目标是让AutoGLM-Phone-9B模型以OpenAI兼容API的形式对外提供服务。我们跳过复杂的Docker编排,直击最简启动命令。

3.1 模型获取:国内用户请走ModelScope高速通道

模型文件约18GB,下载速度决定成败。

  • 国内用户(强烈推荐)

    git clone https://www.modelscope.cn/ZhipuAI/AutoGLM-Phone-9B.git

    ModelScope镜像在国内访问极快,通常10分钟内即可完成。

  • 国际用户

    git lfs install git clone https://huggingface.co/zai-org/AutoGLM-Phone-9B

验证完整性:进入AutoGLM-Phone-9B目录,执行ls -la。你应该能看到config.jsonpytorch_model.bintokenizer.json等核心文件。如果只有.gitattributes,说明git-lfs未正确安装或未执行git lfs pull

3.2 启动服务:一行命令,一个端口

vLLM是当前最高效的多模态推理引擎。启动命令需严格匹配以下参数,尤其是--max-model-len--mm_processor_kwargs,它们直接关系到AI能否正确解析长截图。

  • Linux/macOS启动脚本(start.sh)

    python3 -m vllm.entrypoints.openai.api_server \ --served-model-name autoglm-phone-9b \ --model ./AutoGLM-Phone-9B \ --port 8000 \ --max-model-len 25480 \ --mm-encoder-tp-mode data \ --mm_processor_cache_type shm \ --mm_processor_kwargs '{"max_pixels":5000000}' \ --chat-template-content-format string \ --limit-mm-per-prompt '{"image":10}'
  • Windows启动脚本(start.bat)

    python -m vllm.entrypoints.openai.api_server ^ --served-model-name autoglm-phone-9b ^ --model ./AutoGLM-Phone-9B ^ --port 8000 ^ --max-model-len 25480 ^ --mm-encoder-tp-mode data ^ --mm_processor_cache_type shm ^ --mm_processor_kwargs "{\"max_pixels\":5000000}" ^ --chat-template-content-format string ^ --limit-mm-per-prompt "{\"image\":10}"

启动成功标志:终端输出中出现Uvicorn running on http://0.0.0.0:8000,且后续无红色报错。此时,你的“AI大脑”已在http://<服务器IP>:8000/v1地址上待命。

防火墙提醒:云服务器用户,请务必在安全组中放行8000端口。本地测试用户,确保Windows Defender或Mac防火墙未阻止Python进程。


4. 控制端集成:让本地电脑“说人话”,让云端AI“听懂并行动”

这是整个流程的枢纽。我们将Open-AutoGLM项目作为本地控制中枢,它负责采集手机截图、调用云端API、解析返回的动作指令、再通过ADB执行。

4.1 项目克隆与依赖安装:四行命令搞定

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/config/prompts.py中的系统提示词),无需重新安装即可生效。

4.2 首次运行:用一条命令验证全链路

现在,我们用最简单的指令,完成一次端到端验证。请确保:

  • 手机已通过USB或WiFi连接,adb devices能列出设备;
  • 云服务器上的vLLM服务正在运行;
  • 你已将--base-url替换为云服务器的真实IP和端口(例如http://192.168.1.100:8000/v1)。
python main.py \ --device-id <你的设备ID或IP:5555> \ --base-url http://<云服务器IP>:8000/v1 \ --model "autoglm-phone-9b" \ "打开设置"

预期结果:几秒后,终端会打印出类似以下内容:

💭 思考过程: 当前在桌面,需要打开设置应用 执行动作: {"action": "Launch", "app": "设置"} 动作执行成功: 已启动设置应用

同时,你的手机屏幕上,设置APP应已自动打开。

如果失败,请按此顺序排查

  1. adb devices是否有设备?无则检查USB/WiFi连接;
  2. curl http://<云服务器IP>:8000/v1/models是否返回JSON?无则检查vLLM服务及防火墙;
  3. 终端报错Connection refused?检查--base-url中的IP和端口是否拼写正确。

4.3 Python API:为自动化脚本注入灵魂

命令行适合快速测试,而Python API才是构建复杂工作流的利器。下面是一个可直接运行的脚本,它会自动完成“打开微信,给指定联系人发消息”的全过程:

from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 配置指向你的云服务 model_config = ModelConfig( base_url="http://192.168.1.100:8000/v1", # 替换为你的云服务器地址 model_name="autoglm-phone-9b", ) # 创建智能体实例 agent = PhoneAgent(model_config=model_config) # 执行任务(这里会自动处理截图、调用API、执行ADB) result = agent.run("打开微信,给张三发送消息'你好,今天忙吗?'") print(f"任务结果: {result}")

将此代码保存为wechat_demo.py,在Open-AutoGLM目录下运行python wechat_demo.py。你会发现,AI不仅会打开微信,还会自动查找“张三”,点击进入聊天窗口,并准确输入那句问候语。这才是AI Agent的价值:它把一系列离散的、需要人工判断的操作,封装成了一个原子化的、可编程的函数调用


5. 实战进阶:从“能用”到“好用”的关键技巧

部署成功只是开始。要让Open-AutoGLM真正融入你的工作流,以下技巧必不可少。

5.1 敏感操作接管:安全不是功能,而是默认行为

当AI即将执行支付、删除联系人、清除缓存等高风险操作时,它不会擅自行动。系统会自动暂停,并在你的本地终端打印出清晰的确认提示:

需要确认: 即将向美团支付订单金额38.5元,是否继续? 请输入 (y/n):

你可以选择y让AI继续,或n手动接管。这个机制是硬编码在框架里的,无需额外配置。它确保了AI永远是你的助手,而非替代者。

5.2 提升成功率:给AI一点“思考时间”

在真实环境中,APP启动、网络加载、动画过渡都需要时间。AI的“思考”是瞬时的,但“执行”需要等待。在main.py中,你可以轻松增加全局等待时间:

# 在main.py顶部找到或添加以下配置 import time # ... 其他导入 ... # 在agent.run()调用前,插入等待 time.sleep(1) # 等待1秒,确保APP完全加载 result = agent.run("...")

对于更复杂的任务,建议在关键步骤间加入time.sleep(2),这比反复调试“为什么AI点错了”要高效得多。

5.3 自定义系统提示:让AI更懂你的领域

打开phone_agent/config/prompts.py,你会看到SYSTEM_PROMPT变量。这是AI的“人设说明书”。如果你想让它成为一位专业的电商导购,可以这样改写:

SYSTEM_PROMPT = """ 你是一位资深的手机电商购物助手,专注于淘宝、京东、拼多多平台。你的任务是帮用户以最优性价比买到心仪商品。 请严格遵守: 1. 所有搜索必须使用中文关键词,禁止拼音或英文。 2. 排序优先级:销量 > 价格 > 评分。 3. 对于价格区间查询,必须主动筛选并展示符合范围的商品。 4. 遇到促销活动(如满减、优惠券),必须明确告知用户节省金额。 """

修改后,再次运行python main.py ...,你会发现AI在处理购物指令时,思路更聚焦,反馈更专业。


6. 常见问题速查:90%的问题,答案就在这里

问题现象根本原因一键解决方案
adb devices显示unauthorized手机未授权电脑的USB调试断开USB,关闭手机开发者选项,再重新开启并连接,手机上务必点“允许”
Connection refused错误云服务器IP/端口错误,或防火墙拦截curl http://<IP>:8000/v1/models在本地电脑测试;检查云服务器安全组
AI识别屏幕后,执行动作明显“点偏了”手机屏幕分辨率与模型训练分辨率不匹配main.py中,找到截图相关代码,强制将截图缩放到1080x1920再上传
中文输入框无法输入文字ADB Keyboard未启用或未设为默认进入手机“设置 > 语言和输入法”,将“ADB Keyboard”设为默认输入法
模型服务启动后,内存占用飙升至100%--max-model-len参数过大,超出显存--max-model-len 25480改为--max-model-len 12740,重启服务

7. 总结:你已经拥有了一个可编程的“数字分身”

回顾整个流程,你完成了一件了不起的事:你没有编写一行AI模型代码,却成功部署了一个能理解视觉、解析语言、执行动作的完整智能体系统。这背后是Open-AutoGLM精巧的架构设计——它把最复杂的模型推理交给云端,把最可靠的设备控制留给本地ADB,把最灵活的业务逻辑交给你用Python定义。

你现在可以做的,远不止“打开抖音搜美食”。你可以写一个脚本,每天早上8点自动打开天气APP,截图并发送到你的企业微信;可以写一个程序,批量为小红书笔记点赞并评论;甚至可以集成到你的CI/CD流水线中,让AI自动完成APP的UI回归测试。

技术的终极价值,从来不是炫技,而是把人从重复劳动中解放出来,去专注那些真正需要创造力和判断力的事情。而Open-AutoGLM,正是这样一把钥匙。

--- > **获取更多AI镜像** > > 想探索更多AI镜像和应用场景?访问 [CSDN星图镜像广场](https://ai.csdn.net/?utm_source=mirror_blog_end),提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 0:08:07

TurboDiffusion视频风格迁移:电影级光影效果生成指南

TurboDiffusion视频风格迁移&#xff1a;电影级光影效果生成指南 1. 什么是TurboDiffusion&#xff1f;——不只是快&#xff0c;更是电影感的起点 你有没有试过输入一段文字&#xff0c;几秒钟后就看到一段光影流动、细节饱满的短视频在屏幕上展开&#xff1f;不是预渲染&am…

作者头像 李华
网站建设 2026/4/23 14:48:20

离线安全又高效,FSMN-VAD适合哪些场景?

离线安全又高效&#xff0c;FSMN-VAD适合哪些场景&#xff1f; 语音端点检测&#xff08;VAD&#xff09;听起来是个技术词&#xff0c;但它的作用特别实在&#xff1a;自动听出“哪段真正在说话”&#xff0c;把静音、咳嗽、翻书声、键盘敲击这些干扰全过滤掉。就像给语音处理…

作者头像 李华
网站建设 2026/4/23 14:52:23

DeepSeek-R1-Distill-Qwen-1.5B实时性优化:流式输出实现教程

DeepSeek-R1-Distill-Qwen-1.5B实时性优化&#xff1a;流式输出实现教程 你有没有试过等一个回答等得手指发痒&#xff1f;明明模型已经“想好了”&#xff0c;却非要憋到整段文字生成完才一股脑吐出来——这种卡顿感在调试逻辑题、写代码片段、甚至只是快速确认一个数学推导时…

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

Qwen-Image-Edit-2511部署全攻略:N卡8G显存起稳运行

Qwen-Image-Edit-2511部署全攻略&#xff1a;N卡8G显存起稳运行 1. 这不是普通P图工具&#xff0c;而是一次图像编辑范式的升级 你有没有试过&#xff1a;想把一张产品图里的中文标语换成英文&#xff0c;结果字体歪了、背景糊了、连阴影都对不上&#xff1f;或者给团队合影加…

作者头像 李华
网站建设 2026/4/23 14:51:03

MinerU如何提升提取速度?多进程并行处理实战优化

MinerU如何提升提取速度&#xff1f;多进程并行处理实战优化 PDF文档结构复杂、内容混杂&#xff0c;一直是技术文档处理中的“硬骨头”——多栏排版错乱、表格识别失真、公式渲染异常、图片位置漂移……这些问题让传统OCR工具束手无策。而MinerU 2.5-1.2B的出现&#xff0c;不…

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

开源模型部署进阶:DeepSeek-R1-Distill-Qwen-1.5B容器化实践

开源模型部署进阶&#xff1a;DeepSeek-R1-Distill-Qwen-1.5B容器化实践 你是否试过在本地跑一个轻量但能力扎实的推理模型&#xff0c;既能写代码、解数学题&#xff0c;又不卡顿&#xff1f;DeepSeek-R1-Distill-Qwen-1.5B 就是这样一个“小而强”的选择——它不是参数堆出来…

作者头像 李华