autoglm开源代码打造AI手机教程
AutoGLM是智谱AI推出的手机端AI智能体框架,通过"视觉理解+智能规划+ADB控制"技术链,实现手机自动化操作。该项目支持50+主流应用,能完成订餐、购物等复杂任务。部署流程包含:1)安装Python和ADB工具;2)下载18GB的AutoGLM-Phone-9B模型;3)配置手机开发者模式;4)启动模型服务。用户可通过命令行或Python API控制,系统对敏感操作设有
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用户:
- 下载Python 3.10以上版本:访问python.org
- 安装时勾选"Add Python to PATH"
- 验证安装:按
Win+R输入cmd,执行python --version
Mac用户:
# 使用Homebrew安装
brew install python@3.10
来源: [0†]
步骤2:安装ADB工具(必选)
ADB是连接手机和电脑的桥梁,用于发送控制指令。
下载安装:
- 访问Android开发者官网
- 下载适合自己系统的platform-tools
- 解压到如
D:\adb目录
配置环境变量:
- Windows:右键"此电脑"→属性→高级系统设置→环境变量→Path→新建→填入ADB路径
- Mac:打开终端执行
echo 'export PATH=$PATH:/Users/你的用户名/adb' >> ~/.zshrc
验证安装:
adb version
如果显示版本号说明安装成功。
来源: [66†]
步骤3:开启手机开发者模式
这是使用AutoGLM的前提条件,允许电脑通过ADB控制手机。
操作步骤:
- 打开手机"设置"
- 进入"关于手机"
- 连续点击"版本号"7-10次
- 看到"您已处于开发者模式"提示
- 返回"设置"→"开发者选项"→打开"USB调试"
来源: [25†]
三、核心部署流程:从零到运行
3.1 手机连接配置
通过USB数据线连接
- 用USB线连接手机和电脑
- 手机屏幕会弹出"是否允许USB调试"提示,点击"允许"
- 在电脑命令行验证连接:
adb devices
正常显示类似device字样表示连接成功。
来源: [19†]
安装ADB Keyboard(重要!)
ADB Keyboard是特殊的输入法,让AI能够输入中文。
下载安装:
- 下载ADBKeyboard.apk文件(可通过GitHub或搜索引擎获取)
- 在电脑命令行执行:
adb install ADBKeyboard.apk
- 在手机"设置"→"系统"→"语言和输入法"→"虚拟键盘"中启用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远程控制手机,更方便实用。
手机端设置:
- 打开手机"设置"→"开发者选项"→"无线调试"→开启
- 记下显示的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 使用建议
- 首次使用建议:从简单任务开始,逐步了解AI能力边界
- 敏感信息:避免在AI操作过程中输入密码、验证码等敏感信息
- 监控操作:运行时关注AI的操作过程,必要时随时人工接管
- 权限管理:只授予必要的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 核心要点回顾
通过本教程,你已经学会了:
- 环境配置:Python、ADB、开发者模式的完整配置流程
- 模型部署:从下载到启动vLLM模型服务的全过程
- 项目安装:Open-AutoGLM的克隆、依赖安装、配置优化
- 实际使用:命令行模式和Python API两种使用方式
- 安全机制:敏感操作确认和隐私保护措施
10.2 下一步学习建议
基础用户:
- 尝试更多日常应用场景,如订外卖、购物、社交互动
- 记录常用的任务指令,形成个人操作库
- 探索更多APP的支持可能性
进阶用户:
- 开发自定义应用支持配置
- 编写批量处理脚本自动化复杂工作流
- 集成其他AI工具构建智能化解决方案
开发者:
- 研究Phone Agent源码,理解视觉理解和规划算法
- 贡献代码,支持更多应用和功能
- 构建基于AutoGLM的商业化应用
10.3 未来展望
AutoGLM作为开源项目,正在快速迭代发展:
- 应用生态扩大:支持更多主流应用和场景
- 稳定性提升:通过社区反馈不断优化操作成功率
- 性能优化:降低资源占用,支持更多设备配置
- 用户友好性:开发图形化界面,降低使用门槛
更多推荐


所有评论(0)