Open-AutoGLM新手教程:无需代码,用自然语言指挥AI操作手机
Open-AutoGLM新手教程:无需代码,用自然语言指挥AI操作手机
想象一下,你只需要对手机说一句“打开小红书,搜索美食视频”,它就能自动完成解锁、打开应用、点击搜索框、输入文字、浏览结果等一系列操作。这不再是科幻电影里的场景,而是今天就能用开源项目 Open-AutoGLM 实现的真实体验。
你是不是也厌倦了每天重复点击手机?或者想自动化一些繁琐的流程,但又觉得写代码太麻烦?Open-AutoGLM 就是为你准备的解决方案。它是一个基于智谱AI大模型的手机智能助理框架,最大的特点就是:你只需要用自然语言告诉它要做什么,它就能自己看懂屏幕、规划步骤、执行操作。
本文将带你从零开始,手把手教你如何部署和使用 Open-AutoGLM,让你在10分钟内就能体验到用自然语言控制手机的魔力。无论你是技术小白还是开发者,都能轻松上手。
1. 它能做什么?先看几个真实例子
在开始之前,我们先看看 Open-AutoGLM 能帮你完成哪些任务,这样你就能知道它到底有多实用。
1.1 日常操作自动化
- 打开应用并搜索:“打开抖音,搜索‘猫咪搞笑视频’并播放第一个”
- 社交消息处理:“打开微信,找到‘工作群’,发送‘会议推迟到下午3点’”
- 购物比价:“打开淘宝和京东,分别搜索‘iPhone 15’,截图价格对比”
- 内容创作:“打开小红书,发布一张图片,配文‘周末的咖啡时光’”
1.2 复杂任务串联
- 出行规划:“打开地图,搜索‘最近的星巴克’,导航过去,然后截图路线”
- 信息收集:“打开微博热搜榜,把前5条热搜标题保存到备忘录”
- 文件管理:“在相册里找到最近一周的照片,批量分享到微信文件助手”
1.3 跨应用工作流
- 阅读转存:“打开今日头条,阅读科技板块,把感兴趣的文章链接保存到备忘录”
- 购物提醒:“打开拼多多,查看‘我的订单’,如果有明天到货的,设置日历提醒”
核心价值:它就像一个24小时在线的智能助手,能理解你的自然语言指令,然后像真人一样操作你的手机,完成各种任务。
2. 准备工作:你需要这些东西
在开始部署之前,请确保你准备好了以下环境和设备。整个过程就像搭积木,一步一步来很简单。
2.1 硬件与软件要求
| 项目 | 要求 | 说明 |
|---|---|---|
| 电脑 | Windows / macOS / Linux | 推荐 Windows 10+ 或 macOS 10.15+ |
| 手机 | Android 7.0+ | 需要开启开发者模式 |
| Python | 3.10+ | 这是运行控制代码的环境 |
| 网络 | 电脑和手机在同一网络 | 用于无线连接(也可以用USB线) |
| 存储空间 | 至少2GB可用空间 | 用于安装Python包和代码 |
2.2 手机端设置(关键步骤)
这是最重要的一步,需要你在手机上完成几个设置。别担心,跟着做就行。
步骤1:开启开发者模式
- 打开手机的“设置”应用
- 找到“关于手机”或“系统信息”
- 连续点击“版本号”7次(直到出现“您已处于开发者模式”的提示)
步骤2:开启USB调试
- 返回设置主界面,现在应该能看到“开发者选项”
- 进入“开发者选项”
- 找到“USB调试”并打开它
- 找到“无线调试”也打开(如果要用WiFi连接)
步骤3:安装ADB Keyboard(解决中文输入问题)
因为Android原生的ADB命令不支持中文输入,我们需要一个特殊的输入法:
- 在手机浏览器中搜索“ADB Keyboard apk下载”
- 下载并安装这个应用(它是一个系统输入法)
- 安装后,进入手机设置 → 系统 → 语言与输入法 → 虚拟键盘
- 将“ADB Keyboard”设为默认输入法
重要提示:完成测试后,记得把输入法改回你常用的,否则可能无法正常打字。
3. 电脑端环境配置
现在我们来配置电脑端的环境,主要是安装ADB工具和Python环境。
3.1 安装ADB工具(Android调试桥)
ADB是连接电脑和手机的桥梁,Open-AutoGLM通过它来控制手机。
Windows用户安装方法:
-
下载ADB工具包
- 访问 Android开发者官网
- 下载Windows版本的platform-tools压缩包
-
解压并配置环境变量
# 假设解压到 D:\platform-tools # 1. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量 # 2. 在“系统变量”中找到Path,点击编辑 # 3. 点击“新建”,添加你的ADB路径,如:D:\platform-tools # 4. 点击确定保存所有设置 -
验证安装 打开命令提示符(Win+R,输入cmd):
adb version如果显示版本号(如
Android Debug Bridge version 1.0.41),说明安装成功。
macOS/Linux用户安装方法:
# 使用Homebrew安装(macOS)
brew install android-platform-tools
# 或者手动下载
# 1. 下载platform-tools
# 2. 解压后,在终端执行:
export PATH=$PATH:/path/to/platform-tools
# 3. 将上述命令添加到 ~/.bashrc 或 ~/.zshrc 使其永久生效
3.2 连接手机到电脑
连接手机有两种方式:USB线连接和WiFi无线连接。推荐先用USB线,稳定后再尝试无线。
方法一:USB线连接(最简单)
- 用数据线连接手机和电脑
- 在手机上弹出的“允许USB调试吗?”提示中,选择“允许”
- 在电脑终端执行:
adb devices - 如果看到类似下面的输出,说明连接成功:
记下这个设备ID(xxxxxxxx),后面会用到。List of devices attached xxxxxxxx device
方法二:WiFi无线连接(更方便)
如果你不想一直插着线,可以设置无线连接:
# 1. 先用USB线连接一次
adb devices # 确认设备已连接
# 2. 设置手机监听5555端口
adb tcpip 5555
# 3. 断开USB线,查看手机IP地址
# 在手机设置 → 关于手机 → 状态信息中查看IP地址
# 4. 通过WiFi连接
adb connect 192.168.1.100:5555 # 替换为你的手机IP
# 5. 验证连接
adb devices
# 应该能看到两个设备:一个USB,一个网络
连接问题排查:
- 如果连接失败,检查手机和电脑是否在同一WiFi网络
- 确保手机防火墙没有阻止ADB连接
- 尝试重启ADB服务:
adb kill-server && adb start-server
4. 部署Open-AutoGLM控制端
环境准备好了,现在我们来安装Open-AutoGLM的控制代码。这部分就是在你电脑上运行的程序,它会接收你的指令,然后通过ADB控制手机。
4.1 下载代码和安装依赖
打开终端(Windows用命令提示符或PowerShell),依次执行以下命令:
# 1. 克隆项目代码到本地
git clone https://github.com/zai-org/Open-AutoGLM
cd Open-AutoGLM
# 2. 创建Python虚拟环境(推荐,避免包冲突)
python -m venv venv
# 3. 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 4. 安装依赖包
pip install -r requirements.txt
# 5. 以开发模式安装当前包
pip install -e .
安装常见问题:
- 如果
pip命令报错,尝试用pip3 - 如果网络慢,可以使用国内镜像:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - 如果遇到权限问题,在命令前加
sudo(macOS/Linux)或以管理员身份运行(Windows)
4.2 验证安装是否成功
安装完成后,运行一个简单的测试命令:
python -c "import phone_agent; print('Open-AutoGLM导入成功!')"
如果没有报错,说明安装成功。如果报错,通常是缺少某个依赖包,可以尝试重新安装requirements.txt。
5. 连接AI模型服务
Open-AutoGLM需要一个AI大脑来理解你的指令和分析手机屏幕。你有两个选择:使用云端服务或本地部署。
5.1 方案一:使用CSDN星图镜像(推荐给新手)
对于大多数用户,最简单的方法是使用现成的AI服务。CSDN星图镜像广场提供了预配置的AI镜像,一键就能用。
-
访问CSDN星图镜像广场
- 打开 CSDN星图镜像广场
- 搜索“AutoGLM”或“GLM”
-
选择并启动镜像
- 找到合适的AutoGLM镜像
- 点击“一键部署”
- 等待部署完成(通常1-2分钟)
-
获取API地址
- 部署成功后,你会得到一个访问地址,比如:
http://123.45.67.89:8000 - 记下这个地址,后面会用到
- 部署成功后,你会得到一个访问地址,比如:
优点:无需自己配置模型,省时省力,适合快速体验。
5.2 方案二:本地部署模型(适合开发者)
如果你有足够的GPU资源(至少16GB显存),可以在本地部署模型:
# 1. 安装vLLM(高性能推理框架)
pip install vllm
# 2. 启动模型服务
python -m vllm.entrypoints.openai.api_server \
--model THUDM/autoglm-phone-9b \
--port 8000 \
--max-model-len 8192
硬件要求:
- GPU:RTX 3090/4090 或同等性能,至少16GB显存
- 内存:32GB以上
- 存储:50GB可用空间(下载模型权重)
5.3 方案三:使用其他兼容API
Open-AutoGLM兼容OpenAI API格式,所以你也可以使用:
- OpenAI的GPT-4V
- 其他支持视觉语言模型的API服务
- 本地部署的兼容服务
6. 第一次运行:让AI帮你操作手机
一切准备就绪!现在我们来运行第一个AI指令,体验用自然语言控制手机的神奇感觉。
6.1 基础命令格式
打开终端,进入Open-AutoGLM目录,确保虚拟环境已激活,然后运行:
python main.py \
--device-id <你的设备ID> \
--base-url <AI服务地址> \
--model "autoglm-phone-9b" \
"你的自然语言指令"
参数说明:
--device-id:通过adb devices看到的设备ID--base-url:AI模型服务的地址--model:模型名称,一般用"autoglm-phone-9b"- 最后的字符串:你要AI执行的任务描述
6.2 实际运行示例
假设你的设备ID是emulator-5554,AI服务地址是http://localhost:8000/v1,想打开抖音:
python main.py \
--device-id emulator-5554 \
--base-url http://localhost:8000/v1 \
--model "autoglm-phone-9b" \
"打开抖音"
运行后,你会看到类似这样的输出:
开始执行任务:打开抖音
步骤1:检测到当前在桌面,需要启动抖音应用
AI思考:当前屏幕显示的是手机桌面,我需要找到抖音图标并点击
执行动作:点击坐标 [540, 1200]
步骤2:抖音已打开,显示推荐页面
任务完成!
亲眼见证:你的手机会自动解锁(如果已连接),找到抖音图标,点击打开。整个过程完全自动化,你只需要在电脑前看着。
6.3 更多实用示例
示例1:搜索并关注博主
python main.py \
--device-id emulator-5554 \
--base-url http://localhost:8000/v1 \
"打开抖音,搜索抖音号为dycwo11nt61d的博主并关注他"
AI会执行:打开抖音 → 点击搜索 → 输入抖音号 → 进入博主主页 → 点击关注
示例2:微信发消息
python main.py \
--device-id emulator-5554 \
--base-url http://localhost:8000/v1 \
"打开微信,找到'家人'群,发送消息'今晚7点回家吃饭'"
示例3:跨应用操作
python main.py \
--device-id emulator-5554 \
--base-url http://localhost:8000/v1 \
"打开相机拍一张照片,然后分享到微信朋友圈"
7. 进阶使用:Python API编程控制
如果你会一点Python,可以用编程的方式更灵活地控制Open-AutoGLM,实现自动化工作流。
7.1 基本API使用
创建一个Python脚本(比如my_agent.py):
from phone_agent import PhoneAgent
from phone_agent.config import ModelConfig, AgentConfig
# 1. 配置AI模型
model_config = ModelConfig(
base_url="http://localhost:8000/v1", # 你的AI服务地址
model_name="autoglm-phone-9b",
api_key="EMPTY" # 如果是本地部署,填EMPTY
)
# 2. 配置Agent参数
agent_config = AgentConfig(
max_steps=50, # 最大执行步数
lang="cn" # 中文界面
)
# 3. 创建Agent实例
agent = PhoneAgent(
model_config=model_config,
agent_config=agent_config,
device_id="emulator-5554" # 你的设备ID
)
# 4. 执行任务
result = agent.run("打开小红书搜索周末旅游攻略")
print(f"任务结果:{result}")
7.2 添加回调函数(高级功能)
Open-AutoGLM支持回调函数,可以在特定时机执行自定义操作:
def my_confirmation_callback(message: str) -> bool:
"""敏感操作确认回调"""
print(f"⚠️ 即将执行敏感操作:{message}")
user_input = input("是否继续?(y/n): ")
return user_input.lower() == 'y'
def my_takeover_callback(message: str) -> None:
"""人工接管回调(如遇到登录页面)"""
print(f"🛑 需要人工干预:{message}")
input("请手动操作,完成后按Enter继续...")
# 创建带回调的Agent
agent = PhoneAgent(
model_config=model_config,
agent_config=agent_config,
device_id="emulator-5554",
confirmation_callback=my_confirmation_callback, # 敏感操作确认
takeover_callback=my_takeover_callback # 人工接管
)
# 现在执行涉及支付的任务时,会先询问确认
result = agent.run("打开淘宝,购买第一个商品")
7.3 批量任务执行
你可以让AI连续执行多个任务:
tasks = [
"打开天气应用,查看今天温度",
"截屏保存天气信息",
"打开微信,把截图发给'妈妈'",
"在微信里说'今天天气不错'"
]
for task in tasks:
print(f"执行任务:{task}")
result = agent.run(task)
print(f"结果:{result}")
print("-" * 50)
7.4 获取详细执行日志
如果你想了解AI的思考过程,可以启用详细日志:
import logging
# 设置日志级别为DEBUG
logging.basicConfig(level=logging.DEBUG)
# 或者直接查看每一步的思考
agent = PhoneAgent(
model_config=model_config,
agent_config=agent_config,
device_id="emulator-5554",
verbose=True # 启用详细输出
)
运行时会显示AI的完整思考过程:
思考:当前在微信聊天页面,需要找到输入框
思考:输入框在屏幕下方,坐标大约是[500, 1800]
思考:点击输入框后,需要调用键盘输入
执行:点击[500, 1800]
8. 实用技巧与问题解决
在实际使用中,你可能会遇到一些问题。这里总结了一些常见问题的解决方法和小技巧。
8.1 提高AI操作准确率
技巧1:使用更具体的指令
- ❌ 不好的指令:“打开微信发消息”
- ✅ 好的指令:“打开微信,在聊天列表中找到‘张三’,点击进入聊天页面,在输入框输入‘你好’,点击发送按钮”
技巧2:描述界面特征
“在红色背景的登录页面,找到白色的‘同意’按钮并点击”
“在蓝色标题栏下面,找到搜索图标(放大镜形状)并点击”
技巧3:分步骤执行
如果复杂任务失败,可以拆分成多个简单任务:
# 第一步:打开应用
python main.py "打开淘宝"
# 第二步:搜索商品
python main.py "在搜索框输入'手机支架'并搜索"
# 第三步:浏览结果
python main.py "滑动浏览搜索结果,点击第三个商品"
8.2 常见问题排查
问题1:ADB连接失败
症状:adb devices显示空列表或unauthorized 解决:
# 1. 检查USB线是否连接
# 2. 手机是否弹出“允许USB调试”提示
# 3. 重启ADB服务
adb kill-server
adb start-server
adb devices
# 4. 如果还是不行,尝试重启手机
问题2:AI不执行操作或执行错误
症状:AI一直在“思考”,但不点击;或点击位置不对 解决:
- 检查AI服务是否正常运行:访问
http://你的地址:端口/v1/models - 查看手机屏幕是否亮屏(AI需要看到屏幕内容)
- 尝试更简单的指令测试
- 检查是否安装了ADB Keyboard并设为默认
问题3:中文输入乱码
症状:AI输入的文字变成问号或乱码 解决:
# 1. 确认ADB Keyboard已安装并启用
# 2. 在手机上手动测试:
adb shell am broadcast -a ADB_INPUT_TEXT --es msg "测试中文"
# 3. 如果不行,重新安装ADB Keyboard
问题4:任务卡在某个步骤
症状:AI重复执行相同操作,无法继续 解决:
- 按
Ctrl+C中断任务 - 查看当前屏幕状态
- 手动完成当前步骤,然后重新开始
- 或者使用
--max-steps 20限制最大步数,避免死循环
8.3 性能优化建议
减少等待时间
默认每个操作后等待1秒,如果觉得太慢可以调整:
agent_config = AgentConfig(
max_steps=50,
step_delay=0.5, # 改为0.5秒
lang="cn"
)
使用更快的AI服务
如果使用云端服务,选择离你最近的服务器节点,减少网络延迟。
关闭不必要的手机动画
在手机开发者选项中:
- 关闭“窗口动画缩放”
- 关闭“过渡动画缩放”
- 关闭“动画程序时长缩放” 这样AI操作更快,识别更准确。
9. 实际应用场景案例
了解了基本用法后,我们来看看Open-AutoGLM在实际生活中能帮你做什么。
9.1 场景一:自动化日常任务
早晨起床流程自动化:
# 创建一个morning.sh脚本
#!/bin/bash
python main.py "关闭闹钟"
python main.py "打开天气应用,查看今天温度和天气"
python main.py "打开新闻应用,浏览头条新闻"
python main.py "打开微信,查看未读消息"
工作日报自动填写:
# 每天下午5点自动填写日报
import schedule
import time
def fill_daily_report():
tasks = [
"打开企业微信",
"点击工作台",
"点击日报",
"在今日工作内容输入'完成了项目模块开发'",
"在明日计划输入'继续优化代码'",
"点击提交"
]
for task in tasks:
agent.run(task)
time.sleep(1)
# 每天17:00执行
schedule.every().day.at("17:00").do(fill_daily_report)
9.2 场景二:批量处理手机操作
批量保存图片:
# 自动保存微信聊天中的所有图片
for i in range(10): # 假设有10张图片
agent.run("长按当前图片")
agent.run("点击保存到相册")
agent.run("向右滑动到下一张图片")
清理手机存储:
python main.py "打开文件管理器"
python main.py "进入下载文件夹"
python main.py "选择所有.zip文件"
python main.py "点击删除"
python main.py "确认删除"
9.3 场景三:自动化测试与监控
应用功能测试:
# 自动化测试某个App的功能
test_cases = [
("测试登录功能", "打开App,点击登录,输入测试账号,点击登录按钮"),
("测试搜索功能", "在搜索框输入'test',点击搜索,验证结果"),
("测试设置功能", "点击我的,进入设置,修改主题为深色模式"),
]
for test_name, instruction in test_cases:
print(f"开始测试:{test_name}")
result = agent.run(instruction)
# 这里可以添加截图、记录日志等
print(f"测试结果:{result}")
网站监控:
# 定时检查某个网站或服务
import requests
def check_website():
agent.run("打开浏览器")
agent.run("输入网址'https://status.example.com'")
agent.run("截图当前页面")
# 这里可以添加图片识别,判断服务状态
print("检查完成")
# 每30分钟检查一次
schedule.every(30).minutes.do(check_website)
9.4 场景四:辅助特殊人群
视力障碍者辅助:
# 通过语音指令操作手机
import speech_recognition as sr
def voice_control():
r = sr.Recognizer()
with sr.Microphone() as source:
print("请说出指令...")
audio = r.listen(source)
try:
command = r.recognize_google(audio, language='zh-CN')
print(f"识别到指令:{command}")
agent.run(command)
except:
print("无法识别语音")
# 循环监听语音指令
while True:
voice_control()
老年人手机助手:
# 简化复杂操作
python main.py "打开微信,找到儿子,打视频电话"
python main.py "打开支付宝,出示付款码"
python main.py "打开健康宝,扫描场所码"
10. 安全注意事项与最佳实践
虽然Open-AutoGLM很强大,但使用时需要注意安全,避免不必要的风险。
10.1 安全使用建议
1. 使用测试手机或模拟器
- 建议在备用手机或Android模拟器上测试
- 避免在主力机上测试,防止误操作
- 模拟器推荐:BlueStacks、NoxPlayer、Android Studio自带的模拟器
2. 启用操作确认
对于涉及支付、删除等重要操作,务必启用确认回调:
def safe_confirmation(message):
if any(keyword in message for keyword in ["支付", "删除", "转账", "确认"]):
print(f"警告:{message}")
return False # 默认拒绝敏感操作
return True
agent = PhoneAgent(confirmation_callback=safe_confirmation)
3. 限制操作范围
# 只允许操作特定应用
ALLOWED_APPS = ["微信", "抖音", "浏览器"]
def check_app_allowed():
current_app = get_current_app()
if current_app not in ALLOWED_APPS:
print(f"不允许操作 {current_app},任务终止")
return False
return True
10.2 隐私保护
1. 不要分享屏幕截图
Open-AutoGLM会将屏幕截图发送给AI服务,确保:
- 使用可信的AI服务提供商
- 不要在敏感页面(银行、支付、私密聊天)运行
- 测试完成后及时清理截图缓存
2. 使用本地模型
如果担心隐私,可以在本地部署模型:
# 本地部署,数据不出本地
python -m vllm.entrypoints.openai.api_server \
--model /path/to/local/model \
--port 8000
3. 定期清理数据
# 清理ADB缓存
adb shell rm -rf /sdcard/tmp.png
# 清理本地截图
rm -rf /tmp/phone_agent_screenshots/
10.3 性能最佳实践
1. 优化指令描述
- 明确具体:不要说“打开那个应用”,要说“打开微信”
- 分步骤:复杂任务拆分成简单指令
- 提供上下文:描述界面特征帮助AI识别
2. 合理设置参数
agent_config = AgentConfig(
max_steps=30, # 根据任务复杂度调整
step_delay=0.8, # 操作间隔,太快可能识别不准
thinking_timeout=10, # AI思考超时时间
retry_times=2 # 失败重试次数
)
3. 监控运行状态
import time
start_time = time.time()
result = agent.run("你的指令")
end_time = time.time()
print(f"任务耗时:{end_time - start_time:.2f}秒")
print(f"执行步数:agent.step_count")
11. 总结与下一步
11.1 学习回顾
通过本教程,你应该已经掌握了:
- 环境搭建:配置ADB、安装Open-AutoGLM、连接手机
- 基础使用:用自然语言指令控制手机完成简单任务
- 进阶编程:使用Python API实现自动化工作流
- 问题解决:排查常见连接和操作问题
- 安全实践:安全使用AI自动化工具
11.2 核心要点总结
- 无需编程:用自然语言就能控制手机,大大降低了使用门槛
- 多应用支持:支持微信、抖音、淘宝等50+主流应用
- 智能理解:AI能看懂屏幕内容,自主规划操作步骤
- 安全机制:支持敏感操作确认和人工接管
- 灵活扩展:提供Python API,可以集成到各种自动化流程中
11.3 下一步学习建议
如果你对这个技术感兴趣,可以继续深入:
- 学习Prompt Engineering:如何写出更好的指令,让AI更准确地理解你的意图
- 研究源码结构:理解Open-AutoGLM的内部工作原理
- 尝试自定义模型:训练针对特定应用的专用模型
- 集成到工作流:将手机自动化与电脑自动化结合,实现端到端的自动化
- 探索更多应用场景:自动化测试、数据采集、智能助手等
11.4 开始你的第一个项目
现在,尝试用Open-AutoGLM解决一个你实际遇到的问题:
- 选择一个重复性任务:比如每天都要做的手机操作
- 设计指令流程:拆分成AI能理解的步骤
- 编写脚本:用Python或直接命令行运行
- 测试优化:运行测试,根据结果调整指令
- 定时执行:设置定时任务,让AI自动完成
记住,最好的学习方式就是动手实践。从简单的任务开始,逐步尝试更复杂的自动化流程。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐

所有评论(0)