🔥 不花一分钱打造你的专属"豆包手机"!Open-AutoGLM 保姆级搭建教程,让 AI 帮你操作手机

464 阅读17分钟

前言:豆包手机火了,但你也可以拥有自己的 AI 手机助手!

最近,字节跳动的"豆包手机"刷屏了整个科技圈。一部能让 AI 自动操作手机、帮你点外卖、刷短视频、处理日常任务的智能手机,听起来是不是很酷?但问题来了——豆包手机价格不菲,而且可能还得抢购才能买到。

好消息是:你完全可以不花一分钱,用自己现有的 Android 手机打造一个专属的"豆包手机"!

智谱 AI 在豆包手机爆火之际,深夜开源了 Open-AutoGLM 项目。这个项目基于 AutoGLM 技术,能够让你的普通 Android 手机摇身一变,成为可以通过自然语言控制的智能 AI 手机助手。想象一下,你只需要对手机说"帮我在美团上搜索附近的火锅店",AI 就会自动打开美团、搜索、筛选,甚至帮你下单——这就是 Open-AutoGLM 的魔力所在。

今天,我将带你从零开始,手把手教你部署 Open-AutoGLM,让你的手机也能拥有"豆包手机"的核心功能。全程保姆级教程,包含所有坑点和解决方案,确保你能一步步成功部署。

💡 小贴士:如果你在开发过程中需要强大的 AI 编程助手,可以试试 Claude Code 国内代理服务,帮助你更高效地完成技术开发工作。


一、什么是 Open-AutoGLM?为什么值得折腾?

1.1 项目背景

Open-AutoGLM 是智谱 AI 开源的一个手机端智能助手框架,基于 AutoGLM 技术栈构建。它的核心能力是:

  • 多模态理解:通过视觉语言模型理解手机屏幕内容
  • 自然语言交互:你用人话告诉它要做什么,它就能执行
  • 自动化操作:支持点击、滑动、输入、长按、双击等所有常规操作
  • 应用广泛:支持微信、淘宝、抖音、美团等 50+ 主流中文应用

一句话概括:Open-AutoGLM 就是一个能"看懂"屏幕、"听懂"人话、"会操作"手机的 AI 智能体。

1.2 Open-AutoGLM vs 豆包手机

很多人会问:Open-AutoGLM 和豆包手机有什么区别?

对比项Open-AutoGLM豆包手机
成本完全免费(开源)需要购买硬件
硬件要求任何 Android 手机特定型号
定制性高度可定制相对封闭
技术门槛需要一定技术基础开箱即用
更新迭代社区驱动官方维护

如果你是技术爱好者,追求自由定制和低成本,Open-AutoGLM 绝对是更好的选择。

1.3 它能做什么?

Open-AutoGLM 的应用场景非常广泛:

  • 📱 日常任务自动化:自动回复微信消息、定时发朋友圈
  • 🛒 购物助手:自动在淘宝/京东上搜索比价、加购物车
  • 🍜 外卖点餐:自动在美团/饿了么上下单
  • 📹 内容刷刷刷:自动在抖音/快手上刷视频并点赞
  • 📊 数据采集:自动收集APP内的信息并整理
  • 🎮 游戏辅助:自动完成游戏内的重复性任务

二、技术架构深度解析

在动手之前,我们需要理解 Open-AutoGLM 的技术原理,这样遇到问题时才能快速定位。

2.1 核心组件

Open-AutoGLM 由以下几个核心部分组成:

┌─────────────────────────────────────────┐
│          用户自然语言指令               │
└──────────────┬──────────────────────────┘
               ↓
┌─────────────────────────────────────────┐
│    AutoGLM-Phone-9B 模型(视觉+语言)   │
│    - 理解屏幕内容                        │
│    - 规划操作步骤                        │
│    - 生成执行指令                        │
└──────────────┬──────────────────────────┘
               ↓
┌─────────────────────────────────────────┐
│         ADB (Android Debug Bridge)      │
│    - 截取屏幕                            │
│    - 执行点击/滑动                       │
│    - 输入文本                            │
└──────────────┬──────────────────────────┘
               ↓
┌─────────────────────────────────────────┐
│           Android 手机设备               │
└─────────────────────────────────────────┘

2.2 AutoGLM-Phone-9B 模型详解

这是整个系统的"大脑",基于 GLM-4V-9B 架构:

  • 参数规模:9B(90亿参数)
  • 上下文长度:25,480 tokens
  • 图像处理能力:支持最多 10 张图像同时处理
  • 最大像素:5,000,000 pixels

模型能力

  1. 屏幕理解:识别界面元素、按钮位置、文字内容
  2. 任务规划:将用户指令拆解为一系列操作步骤
  3. 智能判断:根据当前屏幕状态决定下一步操作

2.3 工作流程

1. 用户输入指令:"帮我在美团搜索附近的火锅店"2. ADB 截取当前屏幕
     ↓
3. AutoGLM-Phone-9B 分析屏幕
     ↓
4. 模型生成操作计划:
   - 步骤1:打开美团APP
   - 步骤2:点击搜索框
   - 步骤3:输入"火锅"
   - 步骤4:点击搜索按钮
     ↓
5. 通过 ADB 逐步执行操作
     ↓
6. 每一步完成后重新截屏,确认状态
     ↓
7. 循环直到任务完成

三、环境准备:你需要什么?

3.1 硬件要求

必需设备

  • Android 手机(Android 7.0 及以上)

    • 建议内存 ≥ 4GB
    • 支持 USB 调试
    • 电量充足或连接充电器
  • 电脑(Windows/macOS/Linux)

    • CPU:推荐 4 核以上
    • 内存:≥ 8GB(本地部署模型需要 16GB+)
    • 硬盘:≥ 30GB 可用空间(模型约 20GB)
  • USB 数据线

    • 支持数据传输(非仅充电线)

可选设备

  • 如果本地配置不够,可以使用云服务器部署模型

3.2 软件要求

必备软件

  1. Python 3.8+

    • 推荐使用 Python 3.10 或 3.11
  2. Git

    • 用于克隆项目代码
  3. ADB 工具

    • Android Debug Bridge
    • 用于与手机通信

推荐工具

  • Anaconda/Miniconda(管理 Python 环境)
  • Visual Studio Code(代码编辑)

3.3 账号准备

根据你选择的部署方式,可能需要:

方案A:使用云端 API(推荐新手)

  • 智谱 AI BigModel API Key
  • 或者 ModelScope API Key

方案B:本地部署模型

  • Hugging Face 账号(下载模型)
  • 或者使用 ModelScope 镜像

四、手机配置:开启开发者模式

这是非常重要的一步,必须正确配置才能让电脑控制手机。

4.1 开启开发者选项

不同品牌手机略有差异,但大同小异:

通用方法

  1. 打开设置关于手机
  2. 连续点击版本号 7 次
  3. 输入锁屏密码
  4. 提示"您已处于开发者模式"

常见品牌路径

  • 小米:设置 → 我的设备 → 全部参数 → 点击 MIUI 版本
  • 华为:设置 → 系统和更新 → 关于手机 → 点击版本号
  • OPPO/Vivo:设置 → 关于手机 → 点击版本号
  • 三星:设置 → 关于设备 → 软件信息 → 点击版本号

4.2 开启 USB 调试

开启开发者选项后:

  1. 返回设置主界面
  2. 找到开发者选项(可能在"系统"或"更多设置"中)
  3. 打开USB 调试开关
  4. 重要:部分手机还需要开启:
    • USB 调试(安全设置)
    • USB 安装
    • 禁用权限监控(小米)

4.3 连接电脑测试

  1. 用 USB 数据线连接手机和电脑
  2. 手机会弹出"允许 USB 调试吗?"
  3. 勾选"始终允许",点击确定

Windows 用户注意

  • 首次连接需要安装手机驱动
  • 可以使用豌豆荚、360 手机助手等工具自动安装驱动
  • 或者去手机官网下载对应驱动

五、电脑环境配置

5.1 安装 ADB 工具

ADB 是 Android 官方的调试工具,必须安装。

macOS 安装

# 使用 Homebrew 安装
brew install android-platform-tools

# 验证安装
adb version

Windows 安装

  1. 下载 Platform Tools:developer.android.com/tools/relea…
  2. 解压到任意目录,如 C:\adb
  3. 添加到系统 PATH:
    • 右键"此电脑" → 属性 → 高级系统设置
    • 环境变量 → 系统变量 → Path → 新建
    • 添加 C:\adb
  4. 打开命令提示符,输入 adb version 验证

Linux 安装

# Ubuntu/Debian
sudo apt-get install android-tools-adb

# Fedora
sudo dnf install android-tools

# 验证
adb version

5.2 测试 ADB 连接

手机连接电脑后,在终端/命令提示符中执行:

adb devices

正常输出

List of devices attached
12345678	device

常见问题

显示 "unauthorized"

  • 解决:检查手机是否弹出授权提示,点击"允许"

显示空列表

  • 解决:
    1. 重新插拔 USB 线
    2. 换一个 USB 接口
    3. 检查数据线是否支持数据传输
    4. 重启 adb 服务:
      adb kill-server
      adb start-server
      

显示 "offline"

  • 解决:
    1. 重启手机
    2. 重新连接

5.3 安装 Python 环境

推荐使用 Anaconda

  1. 下载 Anaconda:www.anaconda.com/download
  2. 安装完成后,创建虚拟环境:
# 创建 Python 3.10 环境
conda create -n autoglm python=3.10

# 激活环境
conda activate autoglm

# 验证
python --version

不使用 Anaconda

确保系统已安装 Python 3.8+:

python3 --version
pip3 --version

六、Open-AutoGLM 项目部署

6.1 克隆项目

# 克隆 GitHub 仓库
git clone https://github.com/zai-org/Open-AutoGLM.git

# 进入项目目录
cd Open-AutoGLM

# 查看文件结构
ls -la

项目结构解析

Open-AutoGLM/
├── phone_agent/          # 核心代码
│   ├── model.py         # 模型配置
│   ├── agent.py         # Agent 逻辑
│   └── adb_controller.py # ADB 控制
├── examples/            # 示例代码
├── requirements.txt     # 依赖列表
├── main.py             # 主程序入口
└── README.md           # 项目说明

6.2 安装依赖

# 升级 pip
pip install --upgrade pip

# 安装项目依赖
pip install -r requirements.txt

# 安装项目本身
pip install -e .

依赖包说明

  • openai:调用 OpenAI 格式的 API
  • pillow:图像处理
  • requests:HTTP 请求
  • pydantic:数据验证

常见安装错误

网络超时

# 使用国内镜像
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

权限错误(macOS/Linux)

# 使用 --user 参数
pip install --user -r requirements.txt

七、模型部署方案选择

Open-AutoGLM 支持多种部署方式,根据你的实际情况选择。

7.1 方案对比

方案优点缺点适合人群
云端 API无需本地算力
即开即用
需要付费
依赖网络
新手、低配电脑
本地 vLLM完全免费
响应快速
需要高配置
部署复杂
有GPU的用户
云服务器性能稳定
24小时运行
需租服务器长期使用者

7.2 方案A:使用智谱 BigModel API(推荐新手)

步骤1:注册并获取 API Key

  1. 访问:open.bigmodel.cn/
  2. 注册账号并实名认证
  3. 进入控制台 → API Keys
  4. 创建新的 API Key 并复制保存

步骤2:配置环境变量

# Linux/macOS
export BIGMODEL_API_KEY="your-api-key-here"

# Windows (CMD)
set BIGMODEL_API_KEY=your-api-key-here

# Windows (PowerShell)
$env:BIGMODEL_API_KEY="your-api-key-here"

步骤3:运行示例

python main.py \
  --base-url https://open.bigmodel.cn/api/paas/v4 \
  --model "autoglm-phone" \
  --apikey "your-api-key-here" \
  "打开微信"

费用说明

  • 新用户通常有免费额度
  • 付费后约 ¥0.01-0.05 / 次调用
  • 适合测试和轻度使用

7.3 方案B:本地部署 vLLM(免费但需要高配置)

硬件要求

  • GPU:NVIDIA RTX 3090 / 4090 或更高
  • 显存:≥ 24GB
  • 内存:≥ 32GB
  • 硬盘:≥ 50GB SSD

步骤1:安装 vLLM

# 安装 CUDA(如果没有)
# 参考:https://developer.nvidia.com/cuda-downloads

# 安装 vLLM
pip install vllm

步骤2:下载模型

# 从 Hugging Face 下载(需要科学上网)
huggingface-cli download zai-org/AutoGLM-Phone-9B

# 或使用 ModelScope(国内镜像)
pip install modelscope
modelscope download --model zai-org/AutoGLM-Phone-9B

步骤3:启动 vLLM 服务

python -m vllm.entrypoints.openai.api_server \
  --served-model-name autoglm-phone-9b \
  --model zai-org/AutoGLM-Phone-9B \
  --port 8000 \
  --mm-encoder-tp-mode data \
  --mm_processor_cache_type shm \
  --mm_processor_kwargs '{"max_pixels":5000000}' \
  --max-model-len 25480 \
  --limit-mm-per-prompt '{"image":10}'

参数说明

  • --served-model-name:服务名称
  • --model:模型路径
  • --port:服务端口
  • --mm-encoder-tp-mode:多模态编码器模式
  • --max-model-len:最大上下文长度

步骤4:测试服务

# 新开一个终端,测试API
curl http://localhost:8000/v1/models

步骤5:连接 Open-AutoGLM

python main.py \
  --base-url http://localhost:8000/v1 \
  --model "autoglm-phone-9b" \
  "打开设置"

7.4 方案C:租用云服务器(平衡方案)

如果本地没有 GPU,可以租用云服务器:

推荐平台

费用:约 ¥2-5 / 小时

配置建议

  • GPU:RTX 3090 / A40
  • 显存:24GB
  • 镜像:PyTorch + CUDA 11.8

部署步骤

  1. 租用服务器并启动
  2. 上传或克隆 Open-AutoGLM 代码
  3. 按照方案B的步骤安装和启动 vLLM
  4. 配置服务器公网IP访问(注意安全)

八、开始使用:实战案例

8.1 基础操作示例

示例1:打开应用

python main.py \
  --base-url http://localhost:8000/v1 \
  --model "autoglm-phone-9b" \
  "打开微信"

执行过程

  1. 截取当前屏幕
  2. 识别微信图标位置
  3. 点击微信图标
  4. 等待应用打开

示例2:搜索功能

python main.py \
  --base-url http://localhost:8000/v1 \
  --model "autoglm-phone-9b" \
  "打开美团搜索附近的火锅店"

执行步骤

Step 1: 识别并打开美团APP
Step 2: 定位搜索框并点击
Step 3: 输入"火锅"
Step 4: 点击搜索按钮
Step 5: 等待结果加载
Step 6: 任务完成

8.2 进阶使用:Python API

除了命令行,你还可以在 Python 代码中直接调用:

from phone_agent import PhoneAgent
from phone_agent.model import ModelConfig

# 配置模型
config = ModelConfig(
    base_url="http://localhost:8000/v1",
    model_name="autoglm-phone-9b",
    api_key="your-api-key"  # 如果需要
)

# 创建 Agent
agent = PhoneAgent(model_config=config)

# 执行任务
result = agent.run("打开抖音并点赞第一个视频")

print(f"任务状态: {result.status}")
print(f"执行步骤: {result.steps}")

8.3 复杂任务自动化

场景:自动回复微信消息

from phone_agent import PhoneAgent
from phone_agent.model import ModelConfig

config = ModelConfig(base_url="http://localhost:8000/v1", model_name="autoglm-phone-9b")
agent = PhoneAgent(model_config=config)

# 定义回复逻辑
def auto_reply():
    # 打开微信
    agent.run("打开微信")

    # 检查是否有新消息
    result = agent.run("检查是否有新消息")

    if "新消息" in result.message:
        # 点击进入聊天
        agent.run("点击第一个新消息")

        # 发送回复
        agent.run("输入'我现在有事,稍后回复您'并发送")

        # 返回微信首页
        agent.run("返回")

# 每5分钟执行一次
import time
while True:
    auto_reply()
    time.sleep(300)  # 等待5分钟

九、常见问题与解决方案

9.1 ADB 连接问题

问题1:adb devices 显示空

# 解决方案:
# 1. 检查USB线是否支持数据传输
# 2. 尝试不同的USB接口
# 3. 重启adb服务
adb kill-server
adb start-server
adb devices

# 4. Windows用户安装驱动
# 使用豌豆荚或360手机助手自动安装

问题2:unauthorized 错误

# 手机端操作:
# 1. 撤销USB调试授权:设置 → 开发者选项 → 撤销USB调试授权
# 2. 重新连接USB
# 3. 在手机上点击"允许"并勾选"始终允许"

问题3:offline 状态

# 解决方案:
adb reconnect
# 如果不行,重启手机

9.2 模型运行问题

问题1:CUDA Out of Memory

# 显存不足,尝试:
# 1. 减少 max-model-len
python -m vllm.entrypoints.openai.api_server \
  --model zai-org/AutoGLM-Phone-9B \
  --max-model-len 8192  # 减小上下文长度

# 2. 使用量化模型(如果有)
# 3. 减少并发请求数

问题2:模型下载失败

# 使用国内镜像:
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download zai-org/AutoGLM-Phone-9B

# 或使用 ModelScope
pip install modelscope
modelscope download --model zai-org/AutoGLM-Phone-9B

9.3 操作执行问题

问题1:点击位置不准确

  • 原因:不同手机分辨率不同,坐标可能偏移
  • 解决
    # 在配置中调整 DPI 校准
    agent.config.dpi_scale = 1.2  # 根据实际调整
    

问题2:操作速度过快

  • 原因:模型执行速度快于应用响应
  • 解决
    # 增加等待时间
    agent.config.action_delay = 2.0  # 每步操作间隔2秒
    

9.4 权限问题

问题:某些操作需要无障碍权限

部分高级功能可能需要开启无障碍服务:

  1. 设置 → 辅助功能 → 无障碍
  2. 找到 ADB Keyboard(如果已安装)
  3. 开启服务

十、性能优化与最佳实践

10.1 提升响应速度

1. 使用 SGLang 替代 vLLM

SGLang 在某些场景下性能更优:

# 安装 SGLang
pip install sglang

# 启动服务
python -m sglang.launch_server \
  --model zai-org/AutoGLM-Phone-9B \
  --port 8000

2. 启用模型缓存

# 设置缓存目录
export HF_HOME=/path/to/cache
export TRANSFORMERS_CACHE=/path/to/cache

3. 批量处理

如果有多个任务,使用批量执行:

tasks = [
    "打开微信",
    "打开抖音",
    "打开美团"
]

for task in tasks:
    agent.run(task)

10.2 降低成本

1. 使用免费 API 额度

  • 智谱 AI 新用户有免费额度
  • ModelScope 提供有限的免费调用

2. 本地缓存结果

对于重复任务,缓存执行结果:

import json

cache = {}

def run_with_cache(task):
    if task in cache:
        return cache[task]

    result = agent.run(task)
    cache[task] = result
    return result

10.3 安全建议

1. 不要在公网暴露 vLLM 服务

如果必须远程访问:

# 使用 Nginx 反向代理 + SSL
# 或者使用 SSH 隧道
ssh -L 8000:localhost:8000 user@server

2. 保护 API Key

# 不要硬编码在代码中
# 使用环境变量或配置文件

# .env 文件
BIGMODEL_API_KEY=your-key-here

# Python 读取
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv("BIGMODEL_API_KEY")

3. 限制手机权限

  • 只授予必要的 USB 调试权限
  • 使用完毕后关闭 USB 调试
  • 定期清理 ADB 授权列表

十一、进阶扩展:打造个性化 AI 助手

11.1 自定义指令模板

创建常用任务的快捷指令:

# tasks.json
{
    "morning_routine": [
        "打开微信查看消息",
        "打开日历查看今日日程",
        "打开天气APP查看天气"
    ],
    "shopping": [
        "打开淘宝",
        "搜索 {product_name}",
        "按价格排序",
        "收藏前3个商品"
    ]
}

# 执行
import json

with open("tasks.json") as f:
    tasks = json.load(f)

for task in tasks["morning_routine"]:
    agent.run(task)

11.2 集成语音控制

结合语音识别,实现语音控制手机:

import speech_recognition as sr

def voice_control():
    recognizer = sr.Recognizer()

    with sr.Microphone() as source:
        print("请说出指令...")
        audio = recognizer.listen(source)

    try:
        command = recognizer.recognize_google(audio, language="zh-CN")
        print(f"识别到指令: {command}")

        result = agent.run(command)
        print(f"执行结果: {result}")

    except Exception as e:
        print(f"识别失败: {e}")

# 持续监听
while True:
    voice_control()

11.3 定时任务调度

使用 APScheduler 实现定时自动化:

from apscheduler.schedulers.blocking import BlockingScheduler

scheduler = BlockingScheduler()

# 每天早上8点执行
@scheduler.scheduled_job('cron', hour=8)
def morning_task():
    agent.run("打开微信查看消息")
    agent.run("打开日历查看今日安排")

# 每小时执行
@scheduler.scheduled_job('interval', hours=1)
def hourly_task():
    agent.run("打开新闻APP刷新内容")

scheduler.start()

十二、总结与展望

12.1 项目总结

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

Open-AutoGLM 的原理和架构

从零开始配置开发环境

多种模型部署方案的选择和实施

基础和进阶的使用方法

常见问题的排查和解决

性能优化和安全建议

个性化扩展的实现思路

恭喜你!你的手机现在已经具备了"豆包手机"的核心能力,而且完全免费、可定制、更自由!

12.2 社区与资源

如果你在使用过程中遇到问题,可以参考以下资源:

12.3 未来展望

Open-AutoGLM 项目还在快速迭代中,未来可能的方向:

  • 🚀 支持 iOS 设备(通过 WebDriverAgent)
  • 🤖 多智能体协作(多台手机协同工作)
  • 🧠 更强的推理能力(升级到更大的模型)
  • 🌐 云端协同(手机 + 云端混合推理)
  • 📱 更多应用适配(覆盖更多APP和场景)

12.4 注意事项与免责声明

⚠️ 重要提示

  1. 合法合规:仅用于个人学习和合法用途,不要用于自动化刷单、恶意操作等违法行为
  2. 隐私保护:注意保护个人隐私信息,不要泄露截图中的敏感数据
  3. 账号安全:自动化操作可能触发平台风控,请谨慎使用
  4. 电量管理:长时间运行会消耗手机电量,建议连接充电器

写在最后

豆包手机的出现,让我们看到了 AI 与硬件结合的巨大潜力。而 Open-AutoGLM 的开源,则让这种能力真正走向了大众。

不需要花费数千元购买特定设备,只需要一台普通的 Android 手机、一点点技术基础和折腾精神,你就能拥有一个专属的、可定制的 AI 手机助手。

这就是开源的魅力——技术不再是少数人的特权,而是每个人都可以触及的未来。

如果这篇教程对你有帮助,欢迎点赞、收藏、分享给更多朋友。也期待你在评论区分享你的使用体验和创意玩法!

让我们一起探索 AI 时代的无限可能!🚀


参考资料

📝 作者信息:消防大队VUE支队 📅 发布时间:2025-12-15 🏷️ 标签:#AI #AutoGLM #Android #开源 #AI Agent #人工智能


全文共计约 8500 字,阅读时长约 15 分钟