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:开启开发者模式
  1. 打开手机的“设置”应用
  2. 找到“关于手机”或“系统信息”
  3. 连续点击“版本号”7次(直到出现“您已处于开发者模式”的提示)
步骤2:开启USB调试
  1. 返回设置主界面,现在应该能看到“开发者选项”
  2. 进入“开发者选项”
  3. 找到“USB调试”并打开它
  4. 找到“无线调试”也打开(如果要用WiFi连接)
步骤3:安装ADB Keyboard(解决中文输入问题)

因为Android原生的ADB命令不支持中文输入,我们需要一个特殊的输入法:

  1. 在手机浏览器中搜索“ADB Keyboard apk下载”
  2. 下载并安装这个应用(它是一个系统输入法)
  3. 安装后,进入手机设置 → 系统 → 语言与输入法 → 虚拟键盘
  4. 将“ADB Keyboard”设为默认输入法

重要提示:完成测试后,记得把输入法改回你常用的,否则可能无法正常打字。

3. 电脑端环境配置

现在我们来配置电脑端的环境,主要是安装ADB工具和Python环境。

3.1 安装ADB工具(Android调试桥)

ADB是连接电脑和手机的桥梁,Open-AutoGLM通过它来控制手机。

Windows用户安装方法:
  1. 下载ADB工具包

  2. 解压并配置环境变量

    # 假设解压到 D:\platform-tools
    # 1. 右键“此电脑” → 属性 → 高级系统设置 → 环境变量
    # 2. 在“系统变量”中找到Path,点击编辑
    # 3. 点击“新建”,添加你的ADB路径,如:D:\platform-tools
    # 4. 点击确定保存所有设置
    
  3. 验证安装 打开命令提示符(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线连接(最简单)
  1. 用数据线连接手机和电脑
  2. 在手机上弹出的“允许USB调试吗?”提示中,选择“允许”
  3. 在电脑终端执行:
    adb devices
    
  4. 如果看到类似下面的输出,说明连接成功:
    List of devices attached
    xxxxxxxx        device
    
    记下这个设备ID(xxxxxxxx),后面会用到。
方法二: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镜像,一键就能用。

  1. 访问CSDN星图镜像广场

  2. 选择并启动镜像

    • 找到合适的AutoGLM镜像
    • 点击“一键部署”
    • 等待部署完成(通常1-2分钟)
  3. 获取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一直在“思考”,但不点击;或点击位置不对 解决

  1. 检查AI服务是否正常运行:访问http://你的地址:端口/v1/models
  2. 查看手机屏幕是否亮屏(AI需要看到屏幕内容)
  3. 尝试更简单的指令测试
  4. 检查是否安装了ADB Keyboard并设为默认
问题3:中文输入乱码

症状:AI输入的文字变成问号或乱码 解决

# 1. 确认ADB Keyboard已安装并启用
# 2. 在手机上手动测试:
adb shell am broadcast -a ADB_INPUT_TEXT --es msg "测试中文"
# 3. 如果不行,重新安装ADB Keyboard
问题4:任务卡在某个步骤

症状:AI重复执行相同操作,无法继续 解决

  1. Ctrl+C中断任务
  2. 查看当前屏幕状态
  3. 手动完成当前步骤,然后重新开始
  4. 或者使用--max-steps 20限制最大步数,避免死循环

8.3 性能优化建议

减少等待时间

默认每个操作后等待1秒,如果觉得太慢可以调整:

agent_config = AgentConfig(
    max_steps=50,
    step_delay=0.5,  # 改为0.5秒
    lang="cn"
)
使用更快的AI服务

如果使用云端服务,选择离你最近的服务器节点,减少网络延迟。

关闭不必要的手机动画

在手机开发者选项中:

  1. 关闭“窗口动画缩放”
  2. 关闭“过渡动画缩放”
  3. 关闭“动画程序时长缩放” 这样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 学习回顾

通过本教程,你应该已经掌握了:

  1. 环境搭建:配置ADB、安装Open-AutoGLM、连接手机
  2. 基础使用:用自然语言指令控制手机完成简单任务
  3. 进阶编程:使用Python API实现自动化工作流
  4. 问题解决:排查常见连接和操作问题
  5. 安全实践:安全使用AI自动化工具

11.2 核心要点总结

  • 无需编程:用自然语言就能控制手机,大大降低了使用门槛
  • 多应用支持:支持微信、抖音、淘宝等50+主流应用
  • 智能理解:AI能看懂屏幕内容,自主规划操作步骤
  • 安全机制:支持敏感操作确认和人工接管
  • 灵活扩展:提供Python API,可以集成到各种自动化流程中

11.3 下一步学习建议

如果你对这个技术感兴趣,可以继续深入:

  1. 学习Prompt Engineering:如何写出更好的指令,让AI更准确地理解你的意图
  2. 研究源码结构:理解Open-AutoGLM的内部工作原理
  3. 尝试自定义模型:训练针对特定应用的专用模型
  4. 集成到工作流:将手机自动化与电脑自动化结合,实现端到端的自动化
  5. 探索更多应用场景:自动化测试、数据采集、智能助手等

11.4 开始你的第一个项目

现在,尝试用Open-AutoGLM解决一个你实际遇到的问题:

  1. 选择一个重复性任务:比如每天都要做的手机操作
  2. 设计指令流程:拆分成AI能理解的步骤
  3. 编写脚本:用Python或直接命令行运行
  4. 测试优化:运行测试,根据结果调整指令
  5. 定时执行:设置定时任务,让AI自动完成

记住,最好的学习方式就是动手实践。从简单的任务开始,逐步尝试更复杂的自动化流程。


获取更多AI镜像

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

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐