news 2026/3/23 3:46:08

Open-AutoGLM新手教程:从安装到远程控制全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-AutoGLM新手教程:从安装到远程控制全流程

Open-AutoGLM新手教程:从安装到远程控制全流程

1. 这不是另一个自动化工具,而是一个能“看懂”手机屏幕的AI助手

你有没有试过让手机自己完成一连串操作?比如“打开小红书,搜‘周末咖啡馆’,点开第三条笔记,截图发给微信好友”——过去这需要写脚本、反复调试坐标、处理弹窗,现在,Open-AutoGLM 让它变成一句话的事。

这不是概念演示,也不是实验室玩具。它是智谱AI开源的真实可用的手机端AI Agent框架,核心能力就三点:看得见(理解当前屏幕)、听得懂(解析自然语言指令)、动得了(通过ADB自动点击、滑动、输入)。它不依赖预设规则,而是像人一样观察界面、推理意图、规划动作。

这篇文章不讲大道理,只带你从零开始:
在你的电脑上装好控制端
让你的安卓手机被正确识别
配好输入法,解决中文乱码问题
启动本地模型服务或连接云端API
用一句“打开抖音搜dycwo11nt61d并关注”,亲眼看到手机自己执行全过程
进阶:WiFi远程控制、多设备并发、调试每一步决策

全程不需要你懂深度学习,只要你会用命令行、会点手机设置。我们跳过所有“理论上可行”的环节,只保留真正跑得通的步骤。

2. 准备工作:三件套缺一不可

在敲下第一行代码前,请确认你手边有这三样东西。少一样,后面90%的问题都出在这里。

2.1 你的电脑:系统与Python环境

  • 操作系统:Windows 10/11、macOS 12+ 或 Ubuntu 20.04+(Linux用户最省心)
  • Python版本:必须是3.10 或 3.11(3.12暂未完全适配,3.9以下会报错)

    快速验证:打开终端,输入python --version,看到Python 3.10.xPython 3.11.x就行

  • 注意:Windows用户强烈建议用WSL2(Windows Subsystem for Linux),原生CMD/PowerShell容易遇到编码和路径问题。这不是可选项,是避坑刚需。

2.2 你的安卓手机:不止要能开机,还要“能对话”

  • 系统版本:Android 7.0(Nougat)及以上(2016年后的主流机型基本都满足)
  • 关键设置:必须开启开发者模式USB调试

    怎么开?

    1. 进入「设置」→「关于手机」→ 连续点击「版本号」7次,直到弹出“您已处于开发者模式”
    2. 返回「设置」主菜单 → 找到并进入「开发者选项」→ 开启「USB调试」
    3. 别漏了这个:有些手机(如小米、华为)还需开启「USB调试(安全设置)」,否则ADB只能识别设备,无法操作

2.3 ADB工具:手机与电脑之间的“翻译官”

ADB(Android Debug Bridge)是整个流程的底层通信桥梁。它不是可选插件,而是必须安装的基础工具。

  • macOS用户(推荐):

    # 先装Homebrew(如果还没装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 再装ADB brew install android-platform-tools # 验证 adb version
  • Ubuntu/Debian用户

    sudo apt update && sudo apt install android-tools-adb android-tools-fastboot adb version
  • Windows用户(WSL2内操作):

    sudo apt update && sudo apt install android-tools-adb android-tools-fastboot adb version

    如果坚持用原生Windows,请去 Google官方平台工具页 下载zip包,解压后把文件夹路径加到系统环境变量PATH里。但再次提醒:WSL2体验更稳。

3. 手机端配置:两步搞定,告别“输入乱码”

很多新手卡在第一步:手机能连上,但AI让输“小红书”,屏幕上却蹦出一堆问号或英文。根源只有一个——没装对输入法。Open-AutoGLM靠ADB Keyboard模拟输入,它专为命令行设计,支持中文,但需要手动启用。

3.1 安装ADB Keyboard(5秒完成)

在你的电脑终端里,执行这一行命令(自动下载+安装):

curl -O https://github.com/senzhk/ADBKeyBoard/raw/master/ADBKeyboard.apk && adb install ADBKeyboard.apk

成功提示是Success。如果报错adb: no devices/emulators found,说明手机没连好或USB调试没开,请回退到第2节检查。

3.2 启用并设为默认输入法(关键!)

安装完只是第一步,必须告诉手机:“以后所有文字输入,都交给ADB Keyboard来干”。
在终端里,一次性执行这三行:

adb shell ime enable com.android.adbkeyboard/.AdbIME adb shell ime set com.android.adbkeyboard/.AdbIME adb shell settings get secure default_input_method

最后一行输出必须是com.android.adbkeyboard/.AdbIME。如果不是,请重复执行前两行。

为什么这步不能跳?
因为安卓系统默认输入法(如Gboard、百度输入法)无法被ADB命令直接调用。只有ADB Keyboard这个“为命令行而生”的输入法,才能精准接收adb shell input text "小红书"这样的指令,并正确渲染中文。

4. 控制端部署:克隆、安装、启动,三步到位

现在,你的电脑和手机已经“握手成功”,接下来是让AI大脑上线。

4.1 克隆代码并创建纯净环境

别直接在系统Python里装,用虚拟环境隔离,避免依赖冲突:

git clone https://github.com/zai-org/Open-AutoGLM.git cd Open-AutoGLM python3 -m venv venv source venv/bin/activate # Windows用户用:venv\Scripts\activate

4.2 安装依赖(重点:vLLM必须装)

Open-AutoGLM本身轻量,但它的“眼睛”(视觉模型)需要vLLM推理框架驱动。这一步决定你后续能不能跑起来:

pip install --upgrade pip pip install -r requirements.txt pip install vllm==0.6.3.post1 # 指定版本,新版有兼容问题 pip install -e .

验证安装:

python -c "from phone_agent import PhoneAgent; print(' 控制端安装成功')"

4.3 连接手机:USB直连是最稳的起点

用数据线把手机连到电脑,然后在终端运行:

adb devices

正确输出长这样:

List of attached devices 1234567890abcdef device

如果显示unauthorized,请在手机弹出的授权框里点“允许”或“始终允许”。

5. 模型服务:本地启动 or 云端接入?选一个马上开干

Open-AutoGLM的“大脑”可以自己部署,也可以直接调用现成的云服务。新手强烈建议先走云端路线,5分钟就能看到效果;等熟悉了再挑战本地部署。

5.1 方案A:零配置,用z.ai云服务(推荐新手)

z.ai提供免费额度,无需GPU,开箱即用:

  1. 访问 z.ai注册页,注册账号(邮箱即可)
  2. 登录后,在Dashboard找到API Key(一串以sk-开头的字符)
  3. 在终端里,用这一行命令让AI开始干活:
    python main.py \ --device-id $(adb devices | sed -n '2p' | awk '{print $1}') \ --base-url https://api.z.ai/api/paas/v4 \ --model autoglm-phone-9b \ --apikey YOUR_API_KEY_HERE \ "打开淘宝搜索iPhone 15"

    替换YOUR_API_KEY_HERE为你自己的密钥。执行后,你会看到手机自动亮屏、解锁(如果锁屏)、打开淘宝、输入搜索词、点击搜索——全程无人干预。

5.2 方案B:本地部署vLLM服务(适合有GPU用户)

如果你有RTX 3090/4090或A100显卡,想完全掌控模型,按此步骤:

# 启动vLLM服务(需10-20分钟首次下载模型) python3 -m vllm.entrypoints.openai.api_server \ --model zai-org/AutoGLM-Phone-9B-Multilingual \ --served-model-name autoglm-phone-9b-multilingual \ --port 8000 \ --max-model-len 25480 \ --mm-processor-cache-type shm \ --mm-processor-kwargs "{\"max_pixels\":5000000}"

启动成功后,终端会显示Uvicorn running on http://0.0.0.0:8000
然后用这行命令测试:

curl http://localhost:8000/v1/models

有JSON返回,说明服务活了。

5.3 本地调用:把上面的URL换成你的localhost

服务跑起来后,命令只需改两个地方:

python main.py \ --device-id $(adb devices | sed -n '2p' | awk '{print $1}') \ --base-url http://localhost:8000/v1 \ # ← 改这里 --model autoglm-phone-9b-multilingual \ # ← 改这里 "打开高德地图,搜索最近的加油站"

6. 远程控制:扔掉数据线,让手机在隔壁房间听你指挥

USB线连着虽然稳定,但不够酷。WiFi远程控制才是Open-AutoGLM的真正亮点——手机放桌上,你在沙发上发指令,它照样执行。

6.1 两种WiFi连接法,总有一种适合你

  • 方法1:Android 11+ 原生无线调试(最简单)

    1. 手机连WiFi,进「开发者选项」→ 开启「无线调试」
    2. 点击「无线调试」→ 「使用配对码配对设备」→ 记下IP、端口、配对码
    3. 电脑终端执行:
      adb pair 192.168.1.100:37847 # IP和端口替换成你手机显示的 # 输入配对码,回车 adb connect 192.168.1.100:5555 # 连接端口通常是5555
  • 方法2:通用TCP/IP模式(所有安卓都支持)

    1. 先用USB线连好手机,确保adb devices能识别
    2. 执行:
      adb tcpip 5555 # 让手机监听5555端口
    3. 拔掉USB线,查手机WiFi IP(设置→WiFi→点当前网络→IP地址)
    4. 执行:
      adb connect 192.168.1.100:5555 # 替换为你手机的真实IP

6.2 远程执行命令:参数里指定IP就行

连接成功后,命令和之前几乎一样,只加一个--device-id

python main.py \ --device-id 192.168.1.100:5555 \ # ← 关键!填你手机的IP:端口 --base-url https://api.z.ai/api/paas/v4 \ --model autoglm-phone-9b \ --apikey YOUR_API_KEY \ "截个当前屏幕图,用微信发给文件传输助手"

手机不用插线,只要在同一WiFi下,指令秒达。

7. 故障排查:90%的问题,都在这五个检查点

部署时出错?别急着重装。先按顺序检查这五点,80%的问题当场解决。

7.1 “adb devices 显示空”?检查物理层

  • USB线是否支持数据传输?(换一根确认,很多充电线不行)
  • 手机是否弹出“允许USB调试”对话框?点了“允许”没?
  • 开发者选项里,“USB调试”和“USB调试(安全设置)”是否都开了?
  • 重启ADB服务:adb kill-server && adb start-server

7.2 “输入中文变乱码”?回到第3.2节

  • adb shell settings get secure default_input_method输出是否为com.android.adbkeyboard/.AdbIME
  • 如果是Windows原生环境,加这行再运行:
$env:PYTHONIOENCODING="utf-8"

7.3 “模型服务连不上”?分两头查

  • 本地服务curl http://localhost:8000/v1/models是否返回JSON?
    • 否 → 查vLLM启动日志,常见错误:CUDA显存不足(需24GB+)、模型下载中断(删掉~/.cache/huggingface重试)
  • 云端服务curl -H "Authorization: Bearer YOUR_KEY" https://api.z.ai/api/paas/v4/models
    • 否 → 检查API Key是否复制完整,有无空格;或访问z.ai控制台看服务状态

7.4 “任务执行一半卡住”?看屏幕状态

Open-AutoGLM依赖实时截图做决策。如果手机屏幕黑了、锁屏了、或者弹出权限请求(如“允许XX访问位置”),它会停住等待。
解决方案:

  • 手机保持亮屏(设置→显示→休眠时间调长)
  • 关闭锁屏密码(或设置为“无”)
  • 首次运行时,手动点掉所有系统弹窗(如“允许存储访问”)

7.5 “执行结果不对”?用详细模式看AI怎么想的

--verbose参数,让AI把每一步思考和动作都打印出来:

python main.py --verbose --device-id ... "打开微信发消息"

你会看到类似:

[思考] 当前屏幕在桌面,需要找到微信图标 [动作] Tap on element at [320, 650] [思考] 已进入微信,首页有“聊天”列表,需点击“文件传输助手” [动作] Scroll and tap on "文件传输助手"

这比盲猜快十倍。

8. 进阶玩法:让一个AI同时管三台手机

公司测试组要批量测App?家里有三台旧手机当智能中控?Open-AutoGLM原生支持多设备并发。

8.1 查看所有已连接设备

adb devices -l # -l参数显示详细信息

输出示例:

1234567890abcdef device product:star2qltezc model:SM_G9650 device:star2qltesq transport_id:1 9876543210fedcba device product:walleye model:Pixel_2 device:walleye transport_id:2

8.2 Python脚本并发控制(抄作业版)

把下面代码保存为multi_control.py,修改设备ID和任务,一键启动:

from concurrent.futures import ThreadPoolExecutor from phone_agent import PhoneAgent from phone_agent.model import ModelConfig # 配置你的模型服务(这里用z.ai云服务) model_config = ModelConfig( base_url="https://api.z.ai/api/paas/v4", model_name="autoglm-phone-9b", api_key="YOUR_API_KEY" ) # 定义设备ID和对应任务 tasks = { "1234567890abcdef": "打开Chrome,访问csdn.net", "9876543210fedcba": "打开微博,搜索#AI#", "abcdef1234567890": "打开知乎,搜索‘大模型入门’" } def run_on_device(device_id, task): agent = PhoneAgent(model_config=model_config, device_id=device_id) try: result = agent.run(task, timeout=120) # 2分钟超时 return f" {device_id[:6]}: {task[:20]}... → {result[:50]}" except Exception as e: return f" {device_id[:6]}: {str(e)[:50]}" # 并发执行(最多3台同时跑) with ThreadPoolExecutor(max_workers=3) as executor: results = list(executor.map(lambda x: run_on_device(*x), tasks.items())) for r in results: print(r)

运行python multi_control.py,三台手机将同步开始执行各自的任务。

9. 总结:你现在已经掌握了移动AI自动化的钥匙

回顾一下,你刚刚完成了什么:
🔹 让一台普通安卓手机,具备了“看、听、动”的AI能力
🔹 绕过了所有复杂的UI自动化脚本,用自然语言下达指令
🔹 实现了USB直连、WiFi远程、多设备并发三种控制模式
🔹 掌握了从环境配置、故障排查到进阶开发的全链路技能

Open-AutoGLM的价值,不在于它多炫技,而在于它把过去需要专业工程师花几天写的自动化脚本,压缩成了一句话。电商运营批量上架商品、测试工程师回归验证、老人子女远程帮操作手机……这些场景,现在都变得触手可及。

下一步,你可以:
➡ 尝试更复杂的指令,比如“对比京东和淘宝上同款耳机的价格,截图发我”
➡ 把常用指令写成Shell脚本,一键执行
➡ 结合Cron定时任务,让手机每天早上8点自动抓取天气预报

技术的意义,从来不是堆砌参数,而是让复杂变简单。你已经跨过了那道门槛。


获取更多AI镜像

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

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

小白也能懂的语音合成:IndexTTS 2.0从0开始教学

小白也能懂的语音合成:IndexTTS 2.0从0开始教学 你有没有过这样的经历? 剪完一段3秒的短视频,反复对口型,配音却总差半拍; 想给自己的vlog配个有情绪的声音,结果生成的语音像机器人念说明书; 朋…

作者头像 李华
网站建设 2026/3/15 1:01:02

基于单片机控制EasyAnimateV5-7b-zh-InP视频播放系统

基于单片机控制EasyAnimateV5-7b-zh-InP视频播放系统 1. 引言 想象一下,在智能家居、工业控制或教育展示场景中,我们需要一个轻量级但功能强大的视频播放系统。传统方案往往需要复杂的硬件配置和高昂的成本,而今天我们将介绍一种创新方案&a…

作者头像 李华
网站建设 2026/3/13 2:43:30

Local AI MusicGen完整部署:含FFmpeg音频后处理链路配置

Local AI MusicGen完整部署:含FFmpeg音频后处理链路配置 1. 为什么你需要一个本地AI作曲工具 你有没有过这样的时刻:正在剪辑一段短视频,突然发现缺一段恰到好处的背景音乐;或者为一张概念图配乐时,反复试听几十首版…

作者头像 李华
网站建设 2026/3/19 22:04:29

开箱即用!GLM-4.7-Flash镜像一键部署全攻略

开箱即用!GLM-4.7-Flash镜像一键部署全攻略 你是否试过下载一个大模型,结果卡在环境配置、依赖冲突、显存报错的循环里?是否在深夜调试vLLM参数时,对着CUDA out of memory发呆?别再重复造轮子了——这次我们直接跳过所…

作者头像 李华
网站建设 2026/3/12 22:35:42

如何3步解决Zotero文献管理痛点?Zotero Style插件效率提升指南

如何3步解决Zotero文献管理痛点?Zotero Style插件效率提升指南 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件,提供了一系列功能来增强 Zotero 的用户体验,如阅读进度可视化和标签管理,适合研究人员和学者。 项…

作者头像 李华
网站建设 2026/3/14 3:24:32

Qwen3-VL-8B入门必看:chat.html前端结构解析与自定义UI修改方法

Qwen3-VL-8B入门必看:chat.html前端结构解析与自定义UI修改方法 1. 为什么从chat.html开始学Qwen3-VL-8B 很多人第一次接触Qwen3-VL-8B时,会直接去研究vLLM参数或代理服务器配置,结果卡在“界面打不开”“消息发不出去”这类问题上。其实&a…

作者头像 李华