Open-AutoGLM云端部署教程:公网IP映射与防火墙配置详解

Open-AutoGLM云端部署教程:公网IP映射与防火墙配置详解

1. Open-AutoGLM – 智谱开源的手机端AI Agent框架

你有没有想过,让AI帮你操作手机?不是简单的语音助手,而是真正“看懂”屏幕、理解界面、自动点击滑动,像真人一样完成复杂任务。这就是Open-AutoGLM的能力。

Open-AutoGLM 是由智谱推出的开源项目,基于 AutoGLM 构建的手机端智能代理(Phone Agent)框架。它结合了视觉语言模型(VLM)和自动化控制技术,通过 ADB(Android Debug Bridge)实现对安卓设备的精准操控。用户只需用自然语言下达指令,比如“打开小红书搜索美食”或“给昨天聊天的朋友发条消息”,系统就能自动解析意图、识别当前界面元素、规划操作路径,并一步步执行下去。

这个框架的强大之处在于它的多模态理解能力——不仅能“读文字”,还能“看图像”。它把整个手机屏幕当作输入,用视觉模型分析按钮位置、文本内容、页面结构,再结合大模型的推理能力做出决策。整个过程无需手动干预,真正实现了“你说,它做”。

更贴心的是,系统内置了敏感操作确认机制。当涉及支付、删除等高风险动作时,会暂停并提示用户确认。同时支持在登录验证、验证码输入等场景下临时接管,确保安全与灵活性兼备。

而今天我们要讲的重点,是如何将这套系统部署在云服务器上,并通过公网 IP 实现远程调用,让你即使不在本地,也能随时唤醒 AI 助理去操作远端的手机。


2. 云端部署核心:公网访问与网络配置

2.1 为什么需要云端部署?

如果你只是想在自己电脑上试试 Open-AutoGLM,直接本地运行完全没问题。但如果你想实现“随时随地控制手机”,比如出差时让家里的手机帮你抢票、刷短视频、自动打卡,那就必须把 AI 模型部署到一台 24 小时在线的云服务器上。

这样一来,你的本地设备(笔记本、手机、树莓派)就变成了一个轻量级客户端,只负责发送指令和接收结果,真正的“大脑”——也就是视觉语言模型和推理引擎——运行在云端。

但这也带来了一个关键问题:如何让本地客户端安全、稳定地访问云上的服务?

答案就是:公网 IP 映射 + 防火墙配置


2.2 服务端环境准备

首先,在你的云服务器上准备好以下环境:

  • 操作系统:推荐 Ubuntu 20.04 或 CentOS 7+
  • Python 版本:3.10+
  • GPU 支持:建议至少 16GB 显存(如 A10/A100/L4),用于运行 vLLM 推理服务
  • 依赖工具
    • Docker(可选)
    • NVIDIA Driver + CUDA
    • vLLM 或 HuggingFace Transformers
安装 vLLM 并启动模型服务

Open-AutoGLM 使用的是autoglm-phone-9b这个专为手机操作优化的视觉语言模型。你可以使用 vLLM 快速部署一个高性能 API 服务。

# 安装 vLLM pip install vllm # 启动模型服务 python -m vllm.entrypoints.openai.api_server \ --model zai-org/autoglm-phone-9b \ --tensor-parallel-size 1 \ --max-model-len 4096 \ --gpu-memory-utilization 0.9 \ --host 0.0.0.0 \ --port 8800

注意:--host 0.0.0.0是关键!这意味着服务监听所有网络接口,允许外部连接。如果写成127.0.0.1,则只能本地访问。

此时,模型服务已运行在云服务器的8800端口上,等待来自客户端的请求。


2.3 公网 IP 映射配置

大多数云服务器默认分配的是内网 IP,你需要将其映射为公网可访问的地址。

步骤一:获取公网 IP

登录你的云服务商控制台(如阿里云、腾讯云、AWS、华为云等),查看实例详情中的“公网 IP”或“弹性 IP”。如果没有,请申请一个并绑定到该服务器。

例如,假设你的公网 IP 是47.98.123.45

步骤二:确认端口映射

检查是否已开启端口转发规则。以8800端口为例:

协议内部端口外部端口目标地址
TCP88008800云服务器内网 IP

这表示:当有人访问http://47.98.123.45:8800时,流量会被自动转发到服务器内部的8800端口。

提示:部分云平台默认关闭所有入站端口,需手动添加安全组规则。


2.4 防火墙配置(Ubuntu/CentOS)

即使端口映射好了,系统级防火墙仍可能拦截请求。以下是常见系统的配置方法。

Ubuntu(使用 ufw)
# 查看状态 sudo ufw status # 开放 8800 端口 sudo ufw allow 8800/tcp # 重启防火墙 sudo ufw reload
CentOS(使用 firewalld)
# 查看开放端口 sudo firewall-cmd --list-ports # 添加永久规则 sudo firewall-cmd --permanent --add-port=8800/tcp # 重载配置 sudo firewall-cmd --reload
验证服务是否可达

在本地电脑执行:

curl http://47.98.123.45:8800/health

如果返回{"status": "ok"},说明服务正常且可从外网访问。


3. 客户端与真机连接(本地电脑)

现在我们回到本地电脑,配置控制端来连接安卓设备,并调用云端的 AI 模型。

3.1 硬件与环境准备

  • 操作系统:Windows / macOS
  • Python:建议 Python 3.10+
  • 安卓设备:Android 7.0+ 手机或模拟器
  • ADB 工具:Android SDK Platform Tools
ADB 安装与环境变量配置
Windows 配置步骤:
  1. 下载 Platform Tools
  2. 解压后复制文件夹路径(如C:\platform-tools
  3. Win + R输入sysdm.cpl→ 高级 → 环境变量
  4. 在“系统变量”中找到Path,点击编辑 → 新建 → 粘贴路径
  5. 打开命令行,输入adb version验证安装成功
macOS 配置方法:

在终端中执行:

# 假设解压目录为 ~/Downloads/platform-tools export PATH=${PATH}:~/Downloads/platform-tools

为了永久生效,可以将上述命令添加到~/.zshrc~/.bash_profile中。


3.2 手机端设置

为了让电脑能控制手机,需要开启开发者权限。

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

  2. 开启 USB 调试
    返回设置主界面 → 开发者选项 → 启用“USB 调试”

  3. 安装 ADB Keyboard(可选但推荐)

    • 下载 ADB Keyboard APK 并安装
    • 进入“语言与输入法”设置 → 默认键盘 → 切换为 ADB Keyboard
    • 这样 AI 就可以通过 ADB 发送文本输入,无需手动打字

3.3 部署控制端代码(Open-AutoGLM)

在本地电脑上下载并安装 Open-AutoGLM 控制程序。

# 1. 克隆仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 安装依赖 pip install -r requirements.txt pip install -e .

注意:某些依赖可能需要编译,建议使用虚拟环境避免冲突。


3.4 连接设备

确保手机通过 USB 连接到电脑,或处于同一 WiFi 网络下。

USB 方式连接
adb devices

正常输出应类似:

List of devices attached ABCDEF1234567890 device

其中ABCDEF1234567890就是你的设备 ID。

WiFi 远程连接(推荐用于长期运行)

如果你希望摆脱数据线束缚,可以用 ADB over WiFi。

# 先用 USB 连接,启用 TCP/IP 模式 adb tcpip 5555 # 断开 USB,通过 IP 连接 adb connect 192.168.x.x:5555

手机 IP 可在“设置 → WLAN → 当前网络详情”中查看。

连接成功后,再次运行adb devices应能看到带 IP 地址的设备列表。


4. 启动 AI 代理:让 AI 接管手机

一切准备就绪,现在可以正式启动 AI 代理了。

4.1 命令行方式运行

Open-AutoGLM根目录下执行:

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

参数说明:

  • --device-id:通过adb devices获取的设备标识
  • --base-url:替换为你云服务器的公网 IP 和端口(注意/v1路径)
  • 最后的字符串:你要下达的自然语言指令

执行后,你会看到 AI 开始截图、分析界面、生成操作步骤,并通过 ADB 自动执行点击、滑动、输入等动作。


4.2 使用 Python API 进行远程控制

除了命令行,你也可以在自己的脚本中集成 Open-AutoGLM 的功能。

from phone_agent.adb import ADBConnection, list_devices # 创建连接管理器 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 模式 success, message = conn.enable_tcpip(5555) if success: ip = conn.get_device_ip() print(f"设备 IP: {ip}") # 断开连接 conn.disconnect("192.168.1.100:5555")

这种方式适合嵌入到自动化系统、Web 后台或定时任务中,实现无人值守的操作流程。


5. 常见问题排查指南

5.1 连接被拒绝(Connection Refused)

可能原因

  • 云服务器未开放对应端口
  • 防火墙未放行
  • vLLM 服务未监听0.0.0.0

解决方法

  • 检查安全组规则是否允许8800端口入站
  • 确认ufwfirewalld已添加规则
  • 检查 vLLM 启动命令是否包含--host 0.0.0.0

5.2 ADB 设备离线或频繁掉线

可能原因

  • WiFi 信号不稳定
  • 手机休眠导致 ADB 断开
  • USB 数据线接触不良

解决方法

  • 使用高质量 USB 线缆
  • 在开发者选项中关闭“USB 调试超时”
  • 设置手机永不休眠(设置 → 显示 → 休眠 → 30分钟以上)
  • 或改用有线连接保证稳定性

5.3 模型无响应或输出乱码

可能原因

  • vLLM 参数配置错误
  • 显存不足导致推理失败
  • 输入格式不符合预期

解决方法

  • 检查--max-model-len是否足够(建议 ≥4096)
  • 确保 GPU 显存充足,可通过nvidia-smi查看
  • 查看服务日志是否有报错信息
  • 尝试简化指令,避免歧义表达

6. 总结

通过本文,你应该已经掌握了如何将 Open-AutoGLM 部署在云服务器上,并通过公网 IP 实现远程调用的核心技能。整个流程包括:

  • 在云端部署 vLLM 服务并正确暴露端口
  • 配置防火墙和安全组规则,确保外部可访问
  • 在本地安装 ADB 和 Open-AutoGLM 控制端
  • 连接真实安卓设备(USB/WiFi)
  • 调用云端模型执行自然语言指令

这套系统不仅适用于个人自动化需求(如自动签到、抢购、刷视频),也可扩展为企业级移动自动化测试、客服机器人、数据采集工具等场景。

未来随着模型能力增强和边缘计算发展,这类“看得懂、会操作”的 AI 手机代理将成为人机交互的新范式。


获取更多AI镜像

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1198278.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QuickRecorder终极指南:简单高效的macOS录屏解决方案

QuickRecorder终极指南:简单高效的macOS录屏解决方案 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/GitHub_Tren…

Emotion2Vec+ Large GitHub仓库地址?原始代码获取方式说明

Emotion2Vec Large GitHub仓库地址?原始代码获取方式说明 1. Emotion2Vec Large语音情感识别系统二次开发构建by科哥 你是否正在寻找Emotion2Vec Large的完整部署方案和二次开发路径?本文将带你从零开始,深入解析这一强大语音情感识别系统的…

双卡4090D部署成功!GPT-OSS-20B启动全过程记录

双卡4090D部署成功!GPT-OSS-20B启动全过程记录 最近,我在本地环境成功完成了 GPT-OSS-20B 模型的双卡 4090D 部署。整个过程从算力准备、镜像拉取到最终通过 WebUI 实现网页推理,每一步都踩过坑也总结了经验。本文将完整还原这次部署流程&am…

Qwen1.5-0.5B能耗测试:低功耗设备运行可行性验证

Qwen1.5-0.5B能耗测试:低功耗设备运行可行性验证 1. 背景与目标:为什么关注小模型的能效表现? 在AI模型不断“变大”的趋势下,我们常常忽略了真实世界中大量场景对低功耗、低成本、可离线运行的需求。从工业边缘网关到便携式语音…

2026年成都聚四氟乙烯服务商权威测评:五强榜单与深度解析

随着新材料技术的飞速迭代与“中国制造2025”战略的深化推进,聚四氟乙烯(PTFE)及其复合材料的应用正从传统的防腐、防粘领域,向高精尖的半导体、新能源、生物医药等产业渗透。对于川渝地区,尤其是作为西部工业重镇…

【C++】--函数参数传递:传值与传引用的深度解析

前言:在 C 函数调用中,参数传递方式直接影响程序的效率、正确性和可读性。传值和传引用是两种最基本的参数传递机制,它们在内存使用、性能表现和使用场景上有着显著差异。本篇博客将详细解析这两种传递方式的工作原理、优缺点及适用场景。 一…

【C++】--指针与引用深入解析和对比

一.指针和引用的概念 指针:指针是一个变量,其值为另一个变量的内存地址。我们可以通过指针来间接访问和修改它所指向的变量的值。 代码语言:javascript AI代码解释 int main() {int x 10;int* ptr &x; // 指针ptr指向x的地址cout …

开源AI模型部署新选择:DeepSeek-R1-Distill-Qwen-1.5B实操手册

开源AI模型部署新选择:DeepSeek-R1-Distill-Qwen-1.5B实操手册 你是否在寻找一个轻量但推理能力出色的开源文本生成模型?既能处理数学题、写代码,又能进行逻辑分析,还不需要顶级显卡支持?今天要介绍的 DeepSeek-R1-Di…

快速掌握 eSpeak NG:面向新手的终极语音合成指南

快速掌握 eSpeak NG:面向新手的终极语音合成指南 【免费下载链接】espeak-ng espeak-ng: 是一个文本到语音的合成器,支持多种语言和口音,适用于Linux、Windows、Android等操作系统。 项目地址: https://gitcode.com/GitHub_Trending/es/esp…

证件照太糊怎么办?GPEN人像修复来救场

证件照太糊怎么办?GPEN人像修复来救场 你有没有遇到过这种情况:准备上传证件照时,系统提示“图片模糊,不符合要求”?明明是刚拍的照片,可放大一看,眼睛、眉毛、发丝全都糊成一片。别急&#xf…

Linux内核唤醒源终极指南:从故障诊断到性能优化深度剖析

Linux内核唤醒源终极指南:从故障诊断到性能优化深度剖析 【免费下载链接】linux Linux kernel source tree 项目地址: https://gitcode.com/GitHub_Trending/li/linux 你是否遇到过这样的情况:笔记本电脑合盖后仍然耗电严重,或者嵌入式…

Mage AI 终极快速入门指南:5分钟搭建你的第一个数据管道 [特殊字符]

Mage AI 终极快速入门指南:5分钟搭建你的第一个数据管道 🚀 【免费下载链接】mage-ai MAGE AI是一个专注于模型生命周期管理的平台,它有助于简化机器学习模型从训练到部署的过程,提供版本控制、协作、API服务化等功能,…

用Qwen-Image-Edit-2511做了个AI修图工具,附完整过程

用Qwen-Image-Edit-2511做了个AI修图工具,附完整过程 基于Qwen-Image-Edit-2511打造的AI图像编辑工具正在悄然改变内容创作的方式。这款由通义千问团队推出的增强版多模态模型,在图像一致性、几何推理和工业设计生成方面实现了显著提升。本文将带你从零开…

基于MATLAB的可见光通信系统仿真实现

一、系统架构设计 本仿真系统包含以下核心模块: 信号生成与调制:支持QPSK/16QAM/PPM调制光信道建模:Lambertian模型多径效应光电转换与噪声添加:LED驱动模型AWGN噪声同步与解调:滑动相关同步能量检测性能评估&#x…

“每单多收3欧元”的时代来了:跨境卖家如何把低价小包从“风险”改造成“可控利润”

很多跨境团队这两年吃到的红利,本质来自一件事:低价值小包的成本结构不透明——关税、清关、平台履约约束都相对“松”。但从 2025 年底到 2026 年初,欧盟与平台规则给出了非常清晰的信号:低价小包要被系统性“重新定价”。这篇文…

Qwen_Image_Cute_Animal_For_Kids如何调优?GPU算力适配实战

Qwen_Image_Cute_Animal_For_Kids如何调优?GPU算力适配实战 1. 项目背景与核心价值 你有没有试过给孩子讲一个关于小动物的故事,却苦于找不到合适的插图?现在,有了 Cute_Animal_For_Kids_Qwen_Image,这个问题迎刃而解…

Lance存储架构:解决大规模结构化数据管理的新范式

Lance存储架构:解决大规模结构化数据管理的新范式 【免费下载链接】lance lancedb/lance: 一个基于 Go 的分布式数据库管理系统,用于管理大量结构化数据。适合用于需要存储和管理大量结构化数据的项目,可以实现高性能、高可用性的数据库服务。…

OpenVR高级设置:终极VR设置工具,解锁SteamVR性能优化新境界

OpenVR高级设置:终极VR设置工具,解锁SteamVR性能优化新境界 【免费下载链接】OpenVR-AdvancedSettings OpenVR Advanced Settings Dashboard Overlay 项目地址: https://gitcode.com/gh_mirrors/op/OpenVR-AdvancedSettings OpenVR-AdvancedSetti…

异步编程终极指南:解锁非阻塞架构的实战密码

异步编程终极指南:解锁非阻塞架构的实战密码 【免费下载链接】spring-framework 项目地址: https://gitcode.com/gh_mirrors/spr/spring-framework 你是否曾为传统应用的线程阻塞而苦恼?当高并发请求如潮水般涌来时,线程池的耗尽是否…

Keyframes动画库完整使用指南:从零基础到精通实战

Keyframes动画库完整使用指南:从零基础到精通实战 【免费下载链接】Keyframes A library for converting Adobe AE shape based animations to a data format and playing it back on Android and iOS devices. 项目地址: https://gitcode.com/gh_mirrors/ke/Keyf…