Open-AutoGLM降本部署案例:零代码完成小红书自动搜索

1. 背景与技术价值

随着大模型在移动端自动化任务中的应用不断深入,AI Agent 正从理论探索走向实际落地。Open-AutoGLM 是由智谱开源的手机端 AI Agent 框架,基于视觉语言模型(VLM)实现对安卓设备的自然语言驱动操作。用户只需输入“打开小红书搜美食”这样的指令,系统即可自动解析意图、理解当前界面状态,并通过 ADB 完成点击、滑动、输入等操作流程。

该框架的核心价值在于降低移动自动化门槛。传统自动化脚本依赖开发者编写精确的控件选择逻辑或坐标定位,而 Open-AutoGLM 利用多模态感知能力,直接“看懂”屏幕内容,结合推理规划模块生成可执行动作序列,真正实现了“零代码”级别的智能操作。尤其适用于高频、重复性高的场景,如社交媒体运营、数据采集、测试自动化等。

此外,系统支持远程调试和人工接管机制,在涉及登录验证或敏感操作时可暂停并交由用户确认,兼顾了自动化效率与安全性。

2. 系统架构与工作原理

2.1 整体架构设计

Open-AutoGLM 的运行模式采用“本地控制 + 云端推理”的混合架构:

  • 本地端:负责设备连接管理(ADB)、屏幕截图获取、输入事件发送。
  • 云端:部署 AutoGLM 视觉语言模型,接收截图与指令,输出结构化操作命令。
  • 通信协议:通过 HTTP API 接口调用 vLLM 部署的服务,传递图像与文本信息。

这种设计有效解决了手机端算力不足的问题,同时保留了本地对设备的完全控制权,避免隐私泄露风险。

2.2 多模态理解与决策流程

整个执行过程分为四个阶段:

  1. 屏幕感知
    每次操作前,系统通过 adb shell screencap 获取当前屏幕截图,并将其编码为 base64 字符串,随用户指令一同发送至云端模型。

  2. 意图解析与上下文建模
    模型接收到“打开小红书搜索美食”这类自然语言指令后,结合截图进行联合分析,识别界面上的关键 UI 元素(如图标、按钮、输入框),并判断其语义功能。

  3. 动作规划与生成
    基于当前状态和目标,模型生成一系列原子操作,例如:

    {"action": "tap", "element": "小红书图标"}
    {"action": "input_text", "text": "美食"}
    {"action": "press_enter"}
    
  4. 本地执行与反馈循环
    控制端解析返回的动作指令,调用 ADB 执行具体操作,并再次截图上传,形成闭环反馈,直到任务完成。

该机制具备良好的容错性,即使初始状态不匹配,也能通过多次迭代逐步逼近目标。

3. 本地部署与真机连接实践

3.1 硬件与环境准备

要成功运行 Open-AutoGLM,需满足以下基础条件:

  • 操作系统:Windows 或 macOS(推荐使用 Linux 子系统以获得更佳兼容性)
  • Python 版本:建议 Python 3.10+,确保依赖库兼容性
  • 安卓设备:Android 7.0 及以上版本的真实手机或模拟器
  • ADB 工具:Android SDK Platform Tools,用于设备通信
ADB 环境配置(Windows)
  1. 下载 Android SDK Platform Tools 并解压。
  2. 使用快捷键 Win + R 输入 sysdm.cpl,进入“系统属性” → “高级” → “环境变量”。
  3. 在“系统变量”中找到 Path,添加 ADB 解压目录路径(如 C:\platform-tools)。
  4. 打开命令行工具,执行:
    adb version
    
    若显示版本号,则说明配置成功。
ADB 环境配置(macOS)

在终端中执行以下命令(假设文件解压至 Downloads 目录):

export PATH=${PATH}:~/Downloads/platform-tools

可将该行加入 .zshrc.bash_profile 实现永久生效。

3.2 手机端设置步骤

为确保 ADB 正常通信及输入控制,需完成以下配置:

  1. 开启开发者模式
    进入“设置” → “关于手机”,连续点击“版本号”7次,直至提示“您已进入开发者模式”。

  2. 启用 USB 调试
    返回“设置”主菜单,进入“开发者选项”,勾选“USB 调试”。

  3. 安装 ADB Keyboard 输入法

    • 从官方渠道下载并安装 ADB Keyboard APK。
    • 进入“设置” → “语言与输入法” → “默认键盘”,切换为 ADB Keyboard。
    • 启用后可通过 ADB 发送文本输入指令,无需手动打字。

注意:部分国产 ROM(如 MIUI、EMUI)可能限制后台 ADB 权限,建议关闭省电策略或将应用加入白名单。

3.3 部署控制端代码

在本地电脑上克隆并安装 Open-AutoGLM 控制端:

# 克隆仓库
git clone https://github.com/zai-org/Open-AutoGLM
cd Open-AutoGLM

# 安装依赖
pip install -r requirements.txt
pip install -e .

此步骤会安装核心依赖包,包括 adbutils(ADB 封装库)、Pillow(图像处理)、requests(API 调用)等。

4. 设备连接方式详解

4.1 USB 连接方式

最稳定的方式是通过 USB 数据线连接设备:

adb devices

正常输出应类似:

List of devices attached
1234567890abcde    device

若显示 unauthorized,请检查手机是否弹出“允许调试?”提示,并点击“确定”。

4.2 WiFi 远程连接方式

对于长期运行或远程调试场景,推荐使用 WiFi 连接:

  1. 先通过 USB 连接设备,启动 ADB TCP/IP 模式:

    adb tcpip 5555
    
  2. 断开 USB,使用设备 IP 地址连接:

    adb connect 192.168.x.x:5555
    

其中 192.168.x.x 为手机在同一局域网下的 IP 地址,可在“设置” → “WLAN” → 当前网络详情中查看。

连接成功后,即使设备远离电脑,仍可通过网络持续控制,极大提升灵活性。

5. 启动 AI 代理并执行任务

5.1 命令行方式运行

在完成所有前置配置后,即可启动主程序并下发指令:

python main.py \
  --device-id 1234567890abcde \
  --base-url http://<云服务器IP>:8800/v1 \
  --model "autoglm-phone-9b" \
  "打开小红书搜索美食"

参数说明:

参数 说明
--device-id 通过 adb devices 获取的设备唯一标识
--base-url 云端 vLLM 服务地址,格式为 http://IP:Port/v1
--model 指定使用的模型名称(需与服务端注册一致)
最后字符串 用户自然语言指令

执行过程中,控制台将实时输出模型决策日志,包括截图上传、动作预测、执行结果等。

5.2 Python API 方式集成

对于需要嵌入到现有系统的场景,可使用 Python API 进行编程式调用:

from phone_agent.adb import ADBConnection, list_devices

# 创建 ADB 连接管理器
conn = ADBConnection()

# 连接远程设备(WiFi)
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}")

# 开启 TCP/IP 模式(仅 USB 连接时可用)
success, message = conn.enable_tcpip(5555)
if success:
    ip = conn.get_device_ip()
    print(f"设备 IP: {ip}")

# 断开指定设备
conn.disconnect("192.168.1.100:5555")

该接口可用于构建自动化调度平台,实现多设备并发控制。

6. 常见问题与优化建议

6.1 典型问题排查

问题现象 可能原因 解决方案
ADB 无法识别设备 驱动未安装 / USB 调试未开启 更换数据线、重装 ADB 驱动、重启 ADB 服务
连接被拒绝(Connection Refused) 云服务器防火墙未放行端口 检查安全组规则,开放对应端口(如 8800)
模型无响应或乱码 vLLM 启动参数错误 确保 --max-model-len 和显存配置合理
输入中文失败 ADB Keyboard 未启用 检查输入法设置,手动切换默认输入法
动作执行偏差 截图延迟或分辨率适配问题 增加截图间隔,适配高 DPI 屏幕

6.2 性能优化建议

  1. 提升推理速度
    在云端部署时,使用 Tensor Parallelism(TP)或多 GPU 分片加载模型,减少单次响应延迟。

  2. 缓存历史状态
    对频繁出现的应用界面(如首页、搜索页)建立模板匹配机制,减少对模型的依赖。

  3. 增加超时重试机制
    设置合理的等待时间与重试次数,防止因网络波动导致任务中断。

  4. 日志记录与可视化
    保存每次任务的截图、指令流与执行轨迹,便于后期复盘与模型微调。

7. 总结

Open-AutoGLM 提供了一种全新的移动设备自动化范式——以自然语言驱动、多模态感知、闭环执行。本文详细介绍了如何基于该框架完成小红书自动搜索等典型任务的零代码部署,涵盖环境配置、设备连接、云端协同、API 调用等关键环节。

通过“本地 ADB 控制 + 云端大模型推理”的架构设计,既保障了设备控制的安全性,又充分发挥了高性能计算资源的优势。无论是个人用户希望简化日常操作,还是企业级客户用于自动化运营,Open-AutoGLM 都展现出极强的实用潜力。

未来,随着轻量化模型的发展,此类 Agent 有望进一步向端侧迁移,实现更低延迟、更高隐私保护的全栈式手机智能助理。


获取更多AI镜像

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

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐