news 2026/4/3 4:44:00

Open-AutoGLM云端部署教程:公网IP映射与防火墙设置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM云端部署教程:公网IP映射与防火墙设置指南

Open-AutoGLM云端部署教程:公网IP映射与防火墙设置指南

Open-AutoGLM 是智谱开源的轻量级手机端 AI Agent 框架,专为在资源受限设备上运行多模态智能体而设计。它不是传统意义上的大模型推理服务,而是一个“能看、会想、可操作”的端云协同系统——视觉语言模型理解屏幕,规划模块拆解任务,ADB 执行层真实点击滑动。真正让 AI 从“回答问题”走向“替你做事”。

AutoGLM-Phone 是这个框架的核心落地形态。它不依赖手机本地算力,而是将屏幕截图上传至云端模型分析,再把生成的操作指令(如“点击坐标(320,680)”、“输入文字‘咖啡’”)下发回设备执行。整个过程对用户完全透明:你只需说一句“打开小红书搜美食”,它就能自动解锁手机、启动App、输入关键词、点击搜索、滚动浏览——像一个不知疲倦的数字助手,安静地完成所有细节。

但要让这套流程跑通,关键不在手机,也不在模型本身,而在于云与端之间的稳定通信链路。很多开发者卡在最后一步:模型明明在服务器上跑起来了,本地控制端却连不上;或者指令发出去了,屏幕没反应,日志里只有一行“Connection refused”。这些问题90%都源于同一个被忽视的环节:公网IP映射配置不当,或云服务器防火墙未正确放行端口。本教程不讲模型原理,不堆参数调优,只聚焦一件事——手把手带你打通从云服务器到真机的完整通路。

1. 云服务器环境准备与模型服务启动

在开始端侧配置前,必须确保云端服务已就绪且对外可达。Open-AutoGLM 的云端部分本质是 vLLM 驱动的 API 服务,需先部署好推理后端。

1.1 基础环境检查

登录你的云服务器(推荐 Ubuntu 22.04 LTS),确认以下组件已安装:

# 检查 Python 版本(需 3.10+) python3 --version # 检查 CUDA(若使用 GPU) nvidia-smi # 检查 Docker(推荐容器化部署,避免环境冲突) docker --version

注意:本教程默认你已通过pip install vllmdocker run方式成功启动了 AutoGLM-Phone 模型服务,并监听在本地http://localhost:8000/v1。如果你尚未完成这步,请先参考官方 README 启动服务,确保curl http://localhost:8000/v1/models能返回模型列表。

1.2 端口映射与公网暴露

vLLM 默认只绑定127.0.0.1:8000,这意味着它仅接受本机请求,外部网络无法访问。要让本地电脑的控制端连上它,必须做两件事:修改监听地址 + 配置端口映射

修改 vLLM 启动参数

启动命令中加入--host 0.0.0.0,使其监听所有网络接口:

# 示例:使用 vLLM 启动 AutoGLM-Phone-9b 模型 python -m vllm.entrypoints.openai.api_server \ --model zhipu/autoglm-phone-9b \ --tensor-parallel-size 1 \ --host 0.0.0.0 \ --port 8000 \ --max-model-len 8192 \ --enforce-eager

此时服务已监听0.0.0.0:8000,但还不能直接从公网访问——云服务商(如阿里云、腾讯云)默认关闭所有入站端口,需手动放行。

配置云平台安全组规则

以阿里云为例(其他平台逻辑一致):

  • 进入「云服务器 ECS」控制台 → 找到你的实例 → 点击「安全组」→ 「配置规则」
  • 添加一条入方向规则:
    • 授权策略:允许
    • 协议类型:TCP
    • 端口范围:8000/8000(或你自定义的端口,如8800
    • 授权对象:0.0.0.0/0(开放给所有IP)或更安全的你的本地公网IP/32

切勿在生产环境长期开放0.0.0.0/0。开发调试阶段可临时使用,上线前务必限制为可信IP段。

验证端口是否真正可达

在本地电脑终端执行:

# 替换为你的云服务器公网IP和端口 telnet 123.56.78.90 8000 # 或使用 curl(需安装) curl -v http://123.56.78.90:8000/v1/models

如果返回Connected to...或 JSON 响应,说明端口已通;若提示Connection refused或超时,则需回头检查:vLLM 是否加了--host 0.0.0.0?安全组是否生效?服务器本地防火墙(ufw/iptables)是否拦截?

2. 本地控制端部署与ADB连接配置

云端通了,下一步是让本地电脑成为“指挥中心”。它不运行模型,只负责截图上传、指令解析、ADB下发——轻量但关键。

2.1 ADB 工具安装与验证

ADB(Android Debug Bridge)是连接安卓设备的桥梁。无论 USB 还是 WiFi 模式,都依赖它。

  • Windows:下载 platform-tools → 解压 → 将路径添加到系统环境变量Path→ 打开 CMD 输入adb version,看到版本号即成功。
  • macOS:终端执行:
    # 使用 Homebrew(推荐) brew install android-platform-tools # 或手动下载后配置 PATH echo 'export PATH=$PATH:~/Downloads/platform-tools' >> ~/.zshrc source ~/.zshrc

验证:adb version应输出类似Android Debug Bridge version 1.0.41

2.2 手机端必要设置

手机不是插上线就能用,需开启三重权限:

  1. 开发者模式:设置 → 关于手机 → 连续点击「版本号」7次 → 弹出“您现在处于开发者模式”。
  2. USB调试:设置 → 系统 → 开发者选项 → 开启「USB调试」→ 同时勾选「USB调试(安全设置)」(部分机型需要)。
  3. ADB Keyboard(关键!)
    • 下载 ADB Keyboard APK → 安装到手机
    • 设置 → 语言与输入法 → 当前键盘 → 切换为「ADB Keyboard」

    为什么必须?AutoGLM-Phone 需通过 ADB 输入文字(如搜索关键词)。系统自带键盘无法被 ADB 控制,ADB Keyboard 是唯一能响应adb shell input text命令的输入法。

2.3 设备连接方式选择与实操

两种连接方式,按稳定性排序:USB > WiFi。WiFi 适合远程调试,但易受路由器干扰;USB 稳定可靠,推荐首次部署使用。

USB 直连(推荐新手)
  1. 用原装数据线连接手机与电脑
  2. 手机弹出「允许 USB 调试吗?」→ 勾选「始终允许」→ 点击确定
  3. 终端执行:
    adb devices # 正常输出示例: # List of devices attached # 1234567890abcdef device
    出现device状态即连接成功。1234567890abcdef就是你的--device-id
WiFi 远程连接(需先 USB 初始化)
  1. USB 连接手机并执行:
    adb tcpip 5555 # 输出:restarting in TCP mode port: 5555
  2. 断开 USB 线,确保手机与电脑在同一 WiFi 下
  3. 查看手机 IP:设置 → WLAN → 点击当前网络 → 查看「IP 地址」(如192.168.1.105
  4. 电脑终端执行:
    adb connect 192.168.1.105:5555 # 输出:connected to 192.168.1.105:5555 adb devices # 应显示:192.168.1.105:5555 device
    成功后,--device-id即为192.168.1.105:5555

3. Open-AutoGLM 控制端部署与指令调用

现在,云(模型服务)、端(手机)、控(本地电脑)三方已具备通信基础。接下来部署控制代码,发起第一次自然语言指令。

3.1 克隆仓库与安装依赖

在本地电脑(非服务器)执行:

# 克隆官方仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 创建虚拟环境(强烈推荐,避免包冲突) python3 -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt pip install -e .

注意:requirements.txt中已包含adb-shellPillowrequests等核心依赖,无需额外安装。

3.2 构建完整调用命令

这是最关键的一步。命令中三个参数必须精准对应你的实际环境:

python main.py \ --device-id 1234567890abcdef \ # ← 你的设备ID(adb devices 查得) --base-url http://123.56.78.90:8000/v1 \ # ← 云服务器公网IP + 映射端口 --model "autoglm-phone-9b" \ # ← 模型名称,需与vLLM启动时一致 "打开小红书搜索美食"

逐项核对清单

  • --device-id:必须是adb devices输出的 ID,不能是手机型号或序列号
  • --base-url:必须是http://<公网IP>:<端口>/v1不能是内网IP(如192.168.x.x)或localhost
  • --model:必须与 vLLM 启动时--model参数值完全一致(区分大小写)

小技巧:首次测试建议用最简指令,如"打开设置"。成功后再尝试复杂指令,避免因界面元素识别失败导致误判为连接问题。

3.3 Python API 方式调用(适合集成开发)

如果你计划将 AutoGLM-Phone 集成进自己的应用,而非仅用命令行,推荐使用其封装好的 Python API:

from phone_agent.adb import ADBConnection from phone_agent.agent import PhoneAgent # 1. 初始化 ADB 连接管理器 conn = ADBConnection() # 2. 连接设备(支持 USB ID 或 WiFi IP) success, msg = conn.connect("1234567890abcdef") # 或 "192.168.1.105:5555" print(f"连接结果: {msg}") # 3. 初始化 AI 代理(指向你的云服务) agent = PhoneAgent( base_url="http://123.56.78.90:8000/v1", # 云服务地址 model_name="autoglm-phone-9b", device_id="1234567890abcdef" ) # 4. 发送自然语言指令 result = agent.run("打开微信,给张三发消息:今天会议改到下午三点") print("执行结果:", result)

此方式便于调试单步操作、捕获异常、记录日志,是工程化落地的首选。

4. 常见连接故障排查与防火墙深度配置

即使严格按步骤操作,仍可能遇到连接失败。以下是高频问题与根因解决方案,按优先级排序:

4.1 “Connection refused” 错误(最常见)

现象:运行main.py时抛出requests.exceptions.ConnectionError: Max retries exceeded...
根因:本地电脑无法建立 TCP 连接到云服务器端口。
排查路径

  1. 在本地电脑执行telnet <云IP> <端口>→ 若不通,问题在云服务器层
  2. 登录云服务器,执行ss -tuln | grep :8000→ 若无输出,说明 vLLM 未监听0.0.0.0
  3. 若有输出,检查云平台安全组 → 是否放行该端口?
  4. 若安全组已放行,检查服务器本地防火墙:
    # Ubuntu 默认使用 ufw sudo ufw status verbose # 若状态为 active,需放行端口 sudo ufw allow 8000

4.2 ADB 连接不稳定(WiFi 模式)

现象adb devices偶尔显示offline,或指令执行一半中断
根因:WiFi 信号波动、路由器AP隔离、ADB daemon 重启失败
解决方案

  • 优先改用 USB 连接,排除网络干扰
  • 若必须 WiFi,在手机端启用「保持 Wi-Fi 连接」(设置 → WLAN → 高级 → 保持 Wi-Fi 连接)
  • 在电脑端定期重连:
    adb kill-server && adb start-server adb connect 192.168.1.105:5555

4.3 模型返回乱码或空响应

现象:控制台打印出大量乱码字符,或result为空字符串
根因:vLLM 启动参数与客户端期望不匹配,尤其是max-model-len--enforce-eager
解决方案

  • 确保 vLLM 启动时--max-model-len≥ 8192(AutoGLM-Phone 输入上下文较长)
  • 添加--enforce-eager参数,避免某些 GPU 上的图编译错误
  • 检查--tokenizer是否指定正确(官方镜像通常已内置,无需额外指定)

5. 安全加固建议:从开发到上线的平滑过渡

本教程以快速跑通为目标,但实际项目上线前,必须完成以下安全加固:

  • 限制公网访问范围:将安全组授权对象从0.0.0.0/0改为你的办公网络 IP 段(如203.208.100.0/24
  • 启用反向代理与 HTTPS:在云服务器 Nginx 配置中,将http://localhost:8000代理到https://your-domain.com/api,并配置 SSL 证书,避免明文传输敏感指令
  • 添加 API 认证:修改main.py或 vLLM 启动参数,加入--api-key your-secret-key,并在请求头中携带Authorization: Bearer your-secret-key
  • 禁用敏感 ADB 操作:在phone_agent/adb.py中,对adb shell input keyeventadb shell am start等高危命令增加白名单校验,防止恶意指令触发

安全不是附加功能,而是架构起点。AutoGLM-Phone 的强大在于自动化,而自动化带来的风险必须前置管控。

6. 总结:打通端云链路的关键三步

回顾整个部署流程,真正决定成败的并非模型多大、手机多新,而是三个看似简单却极易出错的环节:

  1. 云服务监听地址必须是0.0.0.0,而非127.0.0.1—— 这是让服务“走出服务器”的第一步;
  2. 云平台安全组与服务器本地防火墙必须双重放行端口—— 缺一不可,就像门禁卡和大门钥匙都要匹配;
  3. --base-url必须使用公网IP,且--device-id必须来自adb devices实时输出—— 复制粘贴时多一个空格、少一个冒号,都会导致连接失败。

当你第一次看到手机屏幕自动亮起、App 自然打开、搜索框精准输入文字,那种“AI真的在替我做事”的震撼感,远超任何技术文档的描述。Open-AutoGLM 的价值,正在于它把前沿的多模态能力,压缩进一条清晰、可复现、可调试的端云流水线。而这条流水线的基石,就是今天你亲手配置的每一个端口、每一条防火墙规则、每一次adb connect

现在,关掉教程,拿起你的手机,输入那句最想让它完成的指令——真正的智能,从你按下回车键的那一刻开始。


获取更多AI镜像

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

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

直播带货商品图处理,CV-UNet批量搞定

直播带货商品图处理&#xff0c;CV-UNet批量搞定 1. 开篇&#xff1a;为什么直播带货团队都在悄悄换掉PS&#xff1f; 你有没有见过这样的场景——凌晨两点&#xff0c;直播间刚下播&#xff0c;运营同事还在电脑前一张张抠商品图&#xff1a;手机壳要透明背景、口红要干净白…

作者头像 李华
网站建设 2026/3/31 14:42:03

SGLang对CPU友好吗?低配机器实测结果公布

SGLang对CPU友好吗&#xff1f;低配机器实测结果公布 一台8GB内存、无独显的老旧笔记本&#xff0c;能跑起SGLang吗&#xff1f; 不用GPU&#xff0c;纯靠CPU&#xff0c;吞吐量到底多少&#xff1f; 本文不讲理论&#xff0c;只晒真实数据——从启动耗时、内存占用、首token延…

作者头像 李华
网站建设 2026/3/31 9:25:26

AI安全测试工具HarmBench:自动化红队框架的实战指南

AI安全测试工具HarmBench&#xff1a;自动化红队框架的实战指南 【免费下载链接】HarmBench HarmBench: A Standardized Evaluation Framework for Automated Red Teaming and Robust Refusal 项目地址: https://gitcode.com/gh_mirrors/ha/HarmBench 在人工智能安全领域…

作者头像 李华
网站建设 2026/4/1 7:59:07

加密分析与逆向工具:高效破解数据加密的技术方案

加密分析与逆向工具&#xff1a;高效破解数据加密的技术方案 【免费下载链接】help_tool 推理算法助手(降维打击) 项目地址: https://gitcode.com/gh_mirrors/he/help_tool 在当今数字化时代&#xff0c;数据加密技术广泛应用于各类系统中&#xff0c;但加密数据的逆向…

作者头像 李华
网站建设 2026/3/15 8:21:34

解锁8个免费AI开发资源:零成本构建智能应用完全指南

解锁8个免费AI开发资源&#xff1a;零成本构建智能应用完全指南 【免费下载链接】FREE-openai-api-keys collection for free openai keys to use in your projects 项目地址: https://gitcode.com/gh_mirrors/fr/FREE-openai-api-keys 在AI开发的浪潮中&#xff0c;获取…

作者头像 李华