AutoGLM开源项目实战:零基础打造你的AI手机

一、核心摘要

AutoGLM是什么?
AutoGLM是智谱AI开源的手机端AI智能体框架,能让你的手机像"贾维斯"一样听懂指令并自主操作[0†]。它通过"视觉理解+智能规划+ADB控制"三大核心技术,实现AI看懂屏幕、思考决策并自动执行手机操作[1†]。

能做什么?
可以自动完成点外卖、订机票、发微信、刷抖音等复杂操作,支持美团、淘宝、微信等50+主流应用[3†]。比如你只需说"帮我订个火锅",AI会自动打开美团、搜索附近店铺、选择并下单。

技术原理是什么?
系统通过视觉模型"看"手机截图,理解当前界面,然后像人一样思考下一步操作,最后通过ADB命令模拟点击、滑动、输入等动作[2†]。整个过程形成"观察→思考→执行"的智能闭环。

本教程适合谁?
完全零基础的新手!即使不懂代码,也能按图索骥完成部署。教程涵盖从环境配置到实际操作的完整流程,每个步骤都配有详细说明和注意事项。


二、准备工作:硬件与软件清单

2.1 必备硬件设备

设备类型 配置要求 作用说明
电脑 Windows/Mac/Linux系统,16GB内存以上 运行AI模型和开发环境
手机 Android 7.0以上系统 被控制的智能设备
数据线 能传输数据的USB线 连接手机和电脑
存储 至少50GB硬盘空间 存储模型文件和项目代码

来源: [0†]

核心解读:
硬件配置直接影响使用体验。16GB内存和50GB空间是运行AI模型的基本门槛,手机需开启开发者模式以便调试。

2.2 软件环境安装

步骤1:安装Python(必选)

Windows用户:

  1. 下载Python 3.10以上版本:访问python.org
  2. 安装时勾选"Add Python to PATH"
  3. 验证安装:按Win+R输入cmd,执行python --version

Mac用户:

# 使用Homebrew安装
brew install python@3.10

来源: [0†]

步骤2:安装ADB工具(必选)

ADB是连接手机和电脑的桥梁,用于发送控制指令。

下载安装:

  1. 访问Android开发者官网
  2. 下载适合自己系统的platform-tools
  3. 解压到如D:\adb目录

配置环境变量:

  • Windows:右键"此电脑"→属性→高级系统设置→环境变量→Path→新建→填入ADB路径
  • Mac:打开终端执行echo 'export PATH=$PATH:/Users/你的用户名/adb' >> ~/.zshrc

验证安装:

adb version

如果显示版本号说明安装成功。

来源: [66†]

步骤3:开启手机开发者模式

这是使用AutoGLM的前提条件,允许电脑通过ADB控制手机。

操作步骤:

  1. 打开手机"设置"
  2. 进入"关于手机"
  3. 连续点击"版本号"7-10次
  4. 看到"您已处于开发者模式"提示
  5. 返回"设置"→"开发者选项"→打开"USB调试"

来源: [25†]


三、核心部署流程:从零到运行

3.1 手机连接配置

通过USB数据线连接
  1. 用USB线连接手机和电脑
  2. 手机屏幕会弹出"是否允许USB调试"提示,点击"允许"
  3. 在电脑命令行验证连接:
adb devices

正常显示类似device字样表示连接成功。

来源: [19†]

安装ADB Keyboard(重要!)

ADB Keyboard是特殊的输入法,让AI能够输入中文。

下载安装:

  1. 下载ADBKeyboard.apk文件(可通过GitHub或搜索引擎获取)
  2. 在电脑命令行执行:
adb install ADBKeyboard.apk
  1. 在手机"设置"→"系统"→"语言和输入法"→"虚拟键盘"中启用ADB Keyboard

来源: [6†]

3.2 部署AI模型(核心步骤)

AutoGLM使用AutoGLM-Phone-9B多模态模型,需要下载约18GB的模型文件。

方法一:使用Hugging Face官方源(推荐国际用户)
# 安装git-lfs
git lfs install

# 克隆模型(约需18GB)
git clone https://huggingface.co/zai-org/AutoGLM-Phone-9B
方法二:使用ModelScope镜像(推荐国内用户,速度更快)
git clone https://www.modelscope.cn/ZhipuAI/AutoGLM-Phone-9B.git

来源: [1†]

安装推理引擎vLLM

vLLM是高性能的模型推理框架,支持多模态模型。

pip install vllm

验证CUDA环境(NVIDIA显卡用户):

nvidia-smi

如果显示显卡信息说明CUDA环境正常。

来源: [1†]

3.3 启动模型服务

创建启动脚本start_model.sh(Linux/Mac)或start_model.bat(Windows):

Linux/Mac用户:

python3 -m vllm.entrypoints.openai.api_server \
  --served-model-name autoglm-phone-9b \
  --allowed-local-media-path / \
  --mm-encoder-tp-mode data \
  --mm_processor_cache_type shm \
  --mm_processor_kwargs '{"max_pixels":5000000}' \
  --max-model-len 25480 \
  --chat-template-content-format string \
  --limit-mm-per-prompt '{"image":10}' \
  --model ./AutoGLM-Phone-9B \
  --port 8000

Windows用户:

python -m vllm.entrypoints.openai.api_server --served-model-name autoglm-phone-9b --port 8000 --model ./AutoGLM-Phone-9B

启动验证:
看到类似Uvicorn running on http://0.0.0.0:8000的输出说明模型服务启动成功。

来源: [1†]

3.4 安装Open-AutoGLM项目

下载项目代码
git clone https://github.com/zai-org/Open-AutoGLM.git
cd Open-AutoGLM
安装Python依赖
pip install -r requirements.txt
pip install -e .

来源: [19†]

3.5 第一次测试运行

基础测试命令
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开设置"

正常输出示例:

💭 思考过程:
当前在桌面,需要打开设置应用

🎯 执行动作: {"action": "Launch", "app": "设置"}

看到类似输出说明系统正常工作,手机上的设置APP应该会自动打开。

来源: [66†]


四、实战操作:让AI帮你完成任务

4.1 命令行模式使用

基本语法
python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "你的任务描述"
实用示例

示例1:美团订餐

python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开美团,搜索附近评分最高的川菜馆"

示例2:淘宝购物

python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开淘宝搜索蓝牙耳机,找销量最高的"

示例3:查看支持的应用列表

python main.py --list-apps

来源: [66†]

4.2 Python API编程模式

对于开发者,可以使用Python API更灵活地调用。

基本代码示例:

from phone_agent import PhoneAgent
from phone_agent.model import ModelConfig

# 配置模型
model_config = ModelConfig(
    base_url="http://localhost:8000/v1",
    model_name="autoglm-phone-9b",
)

# 创建智能体
agent = PhoneAgent(model_config=model_config)

# 执行任务
result = agent.run("打开小红书搜索美食攻略")
print(f"任务结果: {result}")

来源: [66†]

4.3 敏感操作确认机制

对于支付、删除等敏感操作,系统会暂停并请求人工确认。

自定义确认函数示例:

def my_confirmation(message):
    """自定义确认函数"""
    print(f"\n⚠️  需要确认: {message}")
    choice = input("是否继续? (y/n): ")
    return choice.lower() == 'y'

agent = PhoneAgent(
    model_config=model_config,
    confirmation_callback=my_confirmation,
)

agent.run("打开美团订一份外卖")

运行时交互:

⚠️  需要确认: 即将支付28.5元,是否继续? (y/n): 

来源: [1†]


五、进阶配置:优化与定制

5.1 远程WiFi控制

除了USB连接,还支持通过WiFi远程控制手机,更方便实用。

手机端设置:

  1. 打开手机"设置"→"开发者选项"→"无线调试"→开启
  2. 记下显示的IP地址和端口(如192.168.1.100:5555

电脑端连接:

adb connect 192.168.1.100:5555
adb devices

来源: [19†]

5.2 自定义系统提示词

可以通过修改phone_agent/config/prompts.py文件增强模型在特定领域的能力。

示例:增强电商购物能力

SYSTEM_PROMPT = """
你是一个专业的手机购物助手,擅长在淘宝、京东、拼多多等电商平台帮助用户找到最合适的商品。
在执行购物任务时,请特别注意:
1. 按照价格从低到高排序
2. 优先选择销量高、评价好的商品
3. 注意优惠券和满减活动
"""

来源: [66†]

5.3 环境变量配置

通过环境变量可以灵活配置系统行为。

设置环境变量:

  • Windows:set PHONE_AGENT_BASE_URL=http://localhost:8000/v1
  • Linux/Mac:export PHONE_AGENT_BASE_URL=http://localhost:8000/v1

可用配置项:

变量名 默认值 说明
PHONE_AGENT_BASE_URL http://localhost:8000/v1 模型API地址
PHONE_AGENT_MODEL autoglm-phone-9b 模型名称
PHONE_AGENT_MAX_STEPS 100 每个任务最大步数
PHONE_AGENT_DEVICE_ID 自动检测 ADB设备ID

来源: [66†]


六、应用场景:AI手机能做什么

6.1 生活服务类

应用类型 支持应用 典型操作
外卖点餐 美团、饿了么 搜索附近餐厅、下单、支付
打车出行 滴滴出行、高德地图 填写目的地、叫车
酒店预订 携程、去哪儿 搜索酒店、预订房间
购票服务 12306、猫眼电影 购买火车票、电影票

来源: [0†]

6.2 电商购物类

支持应用: 淘宝、京东、拼多多

可执行操作:

  • 搜索商品
  • 按价格/销量排序
  • 筛选商品条件
  • 加入购物车
  • 下单支付

示例任务:

python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开拼多多,搜索苹果手机,价格1000-2000元,按销量排序"

来源: [66†]

6.3 社交娱乐类

支持应用: 微信、抖音、快手、小红书、B站

可执行操作:

  • 发送消息
  • 朋友圈点赞评论
  • 搜索内容
  • 视频播放互动
  • 关注/取关用户

示例任务:

python main.py --base-url http://localhost:8000/v1 --model "autoglm-phone-9b" "打开微信,给妈妈发送消息'我到家了'"

来源: [0†]


七、常见问题与解决方案

7.1 安装部署问题

问题1:ADB命令不识别

解决方案:

  • 检查ADB是否正确安装到系统PATH环境变量
  • Windows用户:重启命令行窗口
  • Mac用户:执行source ~/.zshrc使环境变量生效

问题2:模型启动失败

解决方案:

  • 检查模型文件是否完整下载(约18GB)
  • 确认显存充足(建议12GB以上)
  • 尝试使用CPU运行:添加--device cpu参数

问题3:手机无法连接

解决方案:

  • 确认USB调试已开启
  • 换一根数据线重新连接
  • 尝试其他USB接口
  • 检查ADB设备列表:adb devices

来源: [70†]

7.2 运行使用问题

问题1:AI无法识别屏幕内容

解决方案:

  • 确保手机屏幕亮着且未锁屏
  • 检查截图权限
  • 重启模型服务

问题2:操作执行失败

解决方案:

  • 检查网络连接是否稳定
  • 降低执行速度:在配置中增加等待时间
  • 手动干预复杂步骤

问题3:中文输入无法使用

解决方案:

  • 确认ADB Keyboard已正确安装并启用
  • 在手机输入法设置中切换到ADB Keyboard
  • 重启手机后再次尝试

来源: [70†]


八、安全与隐私注意事项

8.1 敏感操作确认

AutoGLM内置了敏感操作确认机制,涉及支付、删除、隐私信息等操作时会暂停并请求人工确认,防止误操作带来的损失[1†]。

8.2 数据隐私保护

  • 本地部署优势:所有数据处理、屏幕识别、操作指令均在本地完成,不经过云端服务器,最大程度保护用户隐私[2†]
  • 云手机方案:也可使用云端虚拟手机环境,操作在云端进行,本地只查看结果

8.3 使用建议

  1. 首次使用建议:从简单任务开始,逐步了解AI能力边界
  2. 敏感信息:避免在AI操作过程中输入密码、验证码等敏感信息
  3. 监控操作:运行时关注AI的操作过程,必要时随时人工接管
  4. 权限管理:只授予必要的APP权限,遵循最小权限原则

来源: [0†]


九、技术进阶与二次开发

9.1 自定义应用支持

可以通过编写配置文件,让AutoGLM支持更多应用。

配置示例:

# phone_agent/config/apps.py
APPS = {
    "my_app": {
        "package_name": "com.example.myapp",
        "main_activity": ".MainActivity",
        "supported_actions": ["click", "type", "swipe"],
    }
}

9.2 批量任务处理

利用Python API可以编写脚本批量处理重复性任务。

示例:批量点赞朋友圈

import time

def like_friends_posts():
    agent = PhoneAgent(model_config=model_config)
    friends = ["朋友1", "朋友2", "朋友3"]  # 好友列表
    
    for friend in friends:
        result = agent.run(f"打开微信,进入{friend}的朋友圈,点赞最新的一条动态")
        print(f"处理{friend}: {result}")
        time.sleep(5)  # 间隔5秒,避免操作过快

like_friends_posts()

9.3 与其他AI工具集成

AutoGLM可以与其他AI工具结合,构建更强大的自动化工作流。

示例:结合ChatGPT

import openai

def ai_assistant(task):
    # 调用ChatGPT理解任务
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": task}]
    )
    
    # 使用AutoGLM执行任务
    agent = PhoneAgent(model_config=model_config)
    result = agent.run(response.choices[0].message.content)
    return result

来源: [66†]


十、总结与展望

10.1 核心要点回顾

通过本教程,你已经学会了:

  1. 环境配置:Python、ADB、开发者模式的完整配置流程
  2. 模型部署:从下载到启动vLLM模型服务的全过程
  3. 项目安装:Open-AutoGLM的克隆、依赖安装、配置优化
  4. 实际使用:命令行模式和Python API两种使用方式
  5. 安全机制:敏感操作确认和隐私保护措施

10.2 下一步学习建议

基础用户:

  • 尝试更多日常应用场景,如订外卖、购物、社交互动
  • 记录常用的任务指令,形成个人操作库
  • 探索更多APP的支持可能性

进阶用户:

  • 开发自定义应用支持配置
  • 编写批量处理脚本自动化复杂工作流
  • 集成其他AI工具构建智能化解决方案

开发者:

  • 研究Phone Agent源码,理解视觉理解和规划算法
  • 贡献代码,支持更多应用和功能
  • 构建基于AutoGLM的商业化应用

10.3 未来展望

AutoGLM作为开源项目,正在快速迭代发展:

  • 应用生态扩大:支持更多主流应用和场景
  • 稳定性提升:通过社区反馈不断优化操作成功率
  • 性能优化:降低资源占用,支持更多设备配置
  • 用户友好性:开发图形化界面,降低使用门槛
Logo

更多推荐