news 2026/2/26 22:39:37

Open-AutoGLM快速上手:Python API调用AI代理详细步骤

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM快速上手:Python API调用AI代理详细步骤

Open-AutoGLM快速上手:Python API调用AI代理详细步骤

1. 什么是Open-AutoGLM?一个真正能“看懂手机屏幕”的AI助手

Open-AutoGLM 是智谱开源的轻量级手机端 AI Agent 框架,专为在真实安卓设备上运行智能任务而设计。它不是那种只能聊天、写诗的通用大模型,而是一个能“看见”你手机屏幕、“理解”当前界面、“动手”点击滑动的多模态智能体。

它的核心能力在于打通了“视觉感知—意图理解—动作规划—设备执行”这一整条链路。当你对它说“打开小红书搜美食”,它不会只返回一句文字描述,而是真的会:

  • 截取当前手机屏幕画面;
  • 用视觉语言模型识别出桌面上有没有“小红书”图标、当前是否在首页、搜索框在哪;
  • 理解“搜美食”是点击搜索框→输入关键词→点击搜索按钮→浏览结果;
  • 通过 ADB 自动完成所有点击、输入、滑动操作;
  • 在遇到登录弹窗或图形验证码时,主动暂停并提示你人工介入。

这种“所见即所行”的能力,让 Open-AutoGLM 成为目前少有的、能在真机环境稳定落地的端侧 AI Agent 框架之一。它不依赖预设脚本,也不靠固定坐标点,而是靠模型实时理解界面语义,做出泛化性更强的操作决策。

2. 为什么需要 Phone Agent?从“手动操作”到“自然语言指挥”

Phone Agent 是基于 Open-AutoGLM 构建的完整可用系统,它把技术能力封装成一套开箱即用的控制流程。你可以把它理解成一个“手机上的 Siri + Shortcuts + Auto.js 的融合体”,但更智能、更鲁棒、也更开放。

它的价值不在于炫技,而在于解决三类真实痛点:

  • 重复性操作太繁琐:比如每天要打开 5 个 App、刷新 3 个页面、截图发给同事——现在一句话就能搞定;
  • 跨 App 流程难自动化:传统工具(如 Tasker)很难跨 App 理解上下文,而 Phone Agent 能识别微信里的订单号,自动跳转到淘宝查物流;
  • 远程调试效率低:开发测试时频繁插拔 USB、反复安装 APK、手动点按复现问题——它支持 WiFi 远程连接,连上就能接管,连屏幕都能实时回传。

更重要的是,它内置了安全机制:所有涉及敏感操作(如删除短信、访问通讯录、支付确认)都会强制弹窗提醒;验证码、二次验证等无法自动识别的环节,会自动暂停并等待人工接管。这不是一个“黑盒执行器”,而是一个可信任、可干预、可审计的数字助手。

3. 客户端与真机连接:本地电脑如何成为“指挥中心”

服务端(云端模型)准备就绪后,你的本地电脑就是整个系统的“大脑中枢”。它负责采集屏幕、发送指令、接收反馈,并把自然语言翻译成一连串精准的 ADB 命令。这一步看似简单,实则决定后续所有操作能否跑通。

3.1 硬件与环境准备

你需要准备以下四样东西,缺一不可:

  • 操作系统:Windows 10/11 或 macOS Monterey 及以上(Linux 同理,本文以 Win/macOS 为主);
  • Python 环境:建议使用 Python 3.10+(避免 3.12 兼容性问题),推荐用 conda 或 pyenv 管理虚拟环境;
  • 安卓设备:Android 7.0+ 真机(模拟器仅限调试,因缺少真实传感器和 UI 渲染差异,不推荐用于实际任务);
  • ADB 工具:Android SDK Platform-Tools,这是整个控制链路的底层通信桥梁。

ADB 配置小贴士
Windows 用户:下载后解压,将platform-tools文件夹路径添加进系统环境变量Path,然后在命令行输入adb version,看到版本号即成功。
macOS 用户:在终端中执行export PATH=${PATH}:/your/path/to/platform-tools,建议将该行写入~/.zshrc,避免每次重启终端都要重输。

3.2 手机端设置:让手机“愿意被接管”

很多用户卡在这一步——不是代码问题,而是手机没“放行”。请严格按顺序操作:

  1. 开启开发者模式:进入「设置 → 关于手机」,连续点击「版本号」7 次,直到弹出“您已处于开发者模式”;
  2. 启用 USB 调试:返回「设置 → 系统 → 开发者选项」,找到并开启「USB 调试」;
  3. 安装 ADB Keyboard(关键!)
    • 下载 ADB Keyboard 的最新 APK;
    • 在手机上安装;
    • 进入「设置 → 语言与输入法 → 当前键盘」,将默认输入法切换为「ADB Keyboard」;
    • 为什么必须装这个?因为标准 Android 输入法无法通过 ADB 接收文本输入,ADB Keyboard 是唯一能实现“远程打字”的可靠方案。

完成这三步后,用 USB 数据线连接手机与电脑,在电脑终端执行adb devices,如果看到一串设备 ID 后面跟着device,说明物理链路已通。

4. 部署控制端代码:从克隆仓库到本地运行

Open-AutoGLM 的控制端代码完全开源,无需编译,纯 Python 实现。整个过程只需 3 分钟。

4.1 克隆与安装

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

# 1. 克隆官方仓库 git clone 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. 安装依赖(含核心库 phone_agent) pip install -r requirements.txt pip install -e .

注意:pip install -e .是关键一步,它把项目以“可编辑模式”安装进 Python 环境,确保你能直接 importphone_agent模块,且后续修改代码无需重复安装。

4.2 设备连接方式详解

Open-AutoGLM 支持两种连接方式,各有利弊:

  • USB 直连(推荐新手首选):延迟最低、稳定性最高、无需配置网络。执行adb devices后,记下设备 ID(如ZY322KDL9J);
  • WiFi 远程连接(适合进阶用户):摆脱线缆束缚,支持局域网内任意设备接入。但需先用 USB 连接一次,执行:
    adb tcpip 5555 # 切换设备为 TCP 模式 adb disconnect # 断开 USB adb connect 192.168.1.100:5555 # 替换为手机实际 IP

如何查手机 IP?进入「设置 → WLAN → 点击当前连接的 WiFi → 查看 IP 地址」。若显示为169.254.x.x,说明未获取到局域网 IP,请检查路由器 DHCP 是否开启。

5. 启动 AI 代理:命令行与 Python API 双路径实践

一切就绪后,真正的“魔法时刻”来了。你可以选择最顺手的方式启动代理。

5.1 命令行一键运行(最快上手)

Open-AutoGLM根目录下,执行:

python main.py \ --device-id ZY322KDL9J \ --base-url http://192.168.1.200:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

  • --device-id:你的设备 ID(USB)或 IP:端口(WiFi),必须准确;
  • --base-url:指向你部署好的云服务地址(vLLM + OpenAI 兼容 API 层),格式必须带/v1
  • --model:指定模型名称,目前公开支持autoglm-phone-9b
  • 最后字符串:就是你下达的自然语言指令,支持中文,越具体越好。

执行后,你会看到终端实时打印日志:

  • “正在截屏…”
  • “正在识别界面元素…”
  • “规划动作:点击抖音图标”
  • “执行点击 → 等待加载 → 输入搜索词 → 点击搜索 → 滑动查找目标账号 → 点击关注”
    整个过程全自动,你只需看着手机屏幕一步步被操控即可。

5.2 Python API 编程调用(灵活可控)

如果你希望把 AI 代理集成进自己的脚本、做批量任务、或加入业务逻辑判断,直接调用phone_agent提供的 Python API 更合适。

下面是一段完整、可运行的示例代码,涵盖连接管理、设备枚举、网络切换、异常处理等核心能力:

from phone_agent.adb import ADBConnection, list_devices from phone_agent.agent import PhoneAgent import time # 1. 初始化 ADB 连接管理器 conn = ADBConnection() # 2. 连接设备(支持 USB 或 WiFi) success, message = conn.connect("ZY322KDL9J") # USB 设备 ID # success, message = conn.connect("192.168.1.100:5555") # WiFi 设备 print(f"连接状态: {message}") # 3. 列出所有已连接设备(可用于多设备管理) devices = list_devices() for device in devices: print(f" {device.device_id} - {device.connection_type.value}") # 4. (可选)为 USB 设备开启 WiFi 调试 if "ZY322KDL9J" in [d.device_id for d in devices]: success, msg = conn.enable_tcpip(5555) print(f"TCP/IP 启用: {msg}") ip = conn.get_device_ip() print(f"设备局域网 IP: {ip}") # 5. 初始化 AI 代理(需提前部署好服务端) agent = PhoneAgent( base_url="http://192.168.1.200:8800/v1", model_name="autoglm-phone-9b", device_id="ZY322KDL9J" ) # 6. 下达指令(支持阻塞式调用) try: result = agent.run("打开微博,搜索‘人工智能’,进入第一条热搜并截图保存") print(" 任务完成!最终状态:", result.status) print(" 执行摘要:", result.summary) except Exception as e: print("❌ 执行失败:", str(e)) # 7. 主动断开(良好习惯) conn.disconnect("ZY322KDL9J")

这段代码展示了真实工程中常用的模式:

  • 先连接 → 再确认设备状态 → 然后初始化代理 → 最后执行任务;
  • 每一步都有返回值和错误提示,便于日志追踪与故障定位;
  • agent.run()返回结构化结果对象,包含status(success/failed/paused)、summary(简明执行摘要)、steps(详细动作序列),方便你做后续分析或上报。

6. 常见问题排查:让第一次运行就成功

即使严格按照文档操作,也可能遇到“看起来都对,但就是不动”的情况。以下是高频问题与直击要害的解决方案:

问题现象根本原因快速解决方法
adb devices显示unauthorized手机弹出“允许 USB 调试吗?”提示,但你没点“确定”拔掉 USB 重连,手机上务必勾选“始终允许”,再点确定
Connection refused(连接云服务失败)云服务器防火墙未开放端口,或反向代理配置错误在服务器执行curl http://localhost:8800/v1/models,能返回 JSON 即服务正常;再检查云厂商安全组是否放行 8800 端口
AI 一直“思考中”,无任何动作输出ADB 权限不足,或手机未启用“USB 调试(安全设置)”进入「开发者选项」,开启「USB 调试(安全设置)」;部分品牌还需开启「OEM 解锁」
截图黑屏 / 界面识别失败手机开启了“隐私屏保”或“防截屏”策略(如银行类 App)临时关闭相关策略,或换用无障碍服务(需额外配置)
输入中文乱码 / 打不出字未安装或未启用 ADB Keyboard重新安装 APK → 设置里启用 → 确认默认输入法已切换

终极调试技巧:在执行python main.py前,加一个-v参数开启详细日志:
python main.py -v --device-id ... "你的指令"
日志会逐行打印“截图保存路径”、“OCR 识别文本”、“VLM 理解结果”、“生成动作”等,帮你精准定位卡点。

7. 总结:你已经掌握了手机 AI 自动化的第一把钥匙

到这里,你已经完成了从零开始部署 Open-AutoGLM 控制端的全部关键步骤:

  • 理解了它不是“另一个大模型”,而是一个能“看、想、做”的端侧智能体;
  • 成功配置了 ADB 环境,让电脑真正“握住”了手机;
  • 用命令行跑通了第一条自然语言指令,亲眼见证了 AI 接管屏幕;
  • 掌握了 Python API 的调用范式,具备了将其嵌入自有系统的工程能力;
  • 学会了常见问题的归因思路,不再被报错信息吓退。

下一步,你可以尝试:

  • 把指令换成“导出今天微信的所有未读文件”“自动整理相册里所有风景照”;
  • 结合定时任务(cron / Windows Task Scheduler),让 AI 每天早上 8 点自动打卡、查天气、读新闻;
  • PhoneAgent封装成 Web API,用 Flask/FastAPI 暴露给前端调用,做一个可视化任务面板。

AI 自动化不是替代人,而是把人从机械劳动中解放出来,去专注真正需要创造力与判断力的事。而 Open-AutoGLM,正是这样一把趁手的工具。


获取更多AI镜像

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

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

Qwen3-Embedding-4B缓存机制:响应速度提升实战优化

Qwen3-Embedding-4B缓存机制:响应速度提升实战优化 你有没有遇到过这样的情况:向量服务明明部署好了,但每次调用 embedding 接口都要等 800ms 以上?用户批量请求一上来,延迟直接飙到 1.5 秒,下游检索系统卡…

作者头像 李华
网站建设 2026/2/25 9:16:03

2025年AI语音情感分析趋势一文详解:Emotion2Vec+ Large落地指南

2025年AI语音情感分析趋势一文详解:Emotion2Vec Large落地指南 1. 为什么现在必须关注语音情感分析? 你有没有遇到过这样的场景:客服系统听懂了用户说的每一句话,却完全没察觉对方已经气得拍桌子?智能音箱准确复述了…

作者头像 李华
网站建设 2026/2/27 7:36:09

电商安防实战:用YOLOv10镜像实现人流检测应用

电商安防实战:用YOLOv10镜像实现人流检测应用 1. 为什么电商场景需要实时人流检测 你有没有注意过,商场入口处的电子屏上跳动的数字?那不是装饰,而是实时人流统计——它决定着导购排班、促销节奏甚至消防预案。传统红外计数器在…

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

对比传统双门限法,FSMN深度学习模型更精准

对比传统双门限法,FSMN深度学习模型更精准 语音端点检测(Voice Activity Detection, VAD)是语音处理流水线中看似简单却极其关键的第一步。它决定了后续语音识别、声纹分析、语音合成等任务的输入质量。一个不准的端点检测,就像给…

作者头像 李华
网站建设 2026/2/25 7:28:07

Z-Image-Turbo命令行操作大全:启动、查看、清理一站式指南

Z-Image-Turbo命令行操作大全:启动、查看、清理一站式指南 你是不是也遇到过这样的情况:模型跑起来了,但不知道下一步该敲什么命令?生成的图片找不着在哪儿?想清空历史记录又怕误删重要文件?别急&#xff…

作者头像 李华
网站建设 2026/2/23 10:54:24

正面照VS侧脸,不同角度效果差异大揭秘

正面照VS侧脸,不同角度效果差异大揭秘 你有没有试过——同一张卡通化工具,上传正面照效果惊艳,换张侧脸照却像换了个人?不是模型不行,而是人像卡通化的“角度敏感性”被很多人忽略了。今天我们就用科哥构建的 unet pe…

作者头像 李华