低成本高效率:自建AI手机助理详细教程

摘要:本文手把手教你用一台普通电脑+一部安卓手机,零成本搭建专属AI手机助理。无需云服务、不上传截图、不依赖API收费,所有计算在本地完成。从环境配置到真机操控,从基础指令到复杂任务,全程小白友好,10分钟完成首次自动化操作。


1. 这不是科幻,是今天就能用上的真实能力

1.1 它到底能做什么?

Open-AutoGLM 不是一个概念演示,而是一个真正能“动手干活”的AI助手。它不靠预设脚本,而是像人一样看懂屏幕、理解意图、自主决策、精准执行。

你只需要说一句自然语言,比如:

  • “打开小红书,搜‘上海周末咖啡馆’,点开第一个笔记,保存图片”
  • “在微信里找到李四,发消息‘会议推迟半小时’,再把聊天记录截图发给王五”
  • “打开淘宝,进入我的订单,找到上周买的蓝牙耳机,点申请退货”

AI会自动完成:识别当前界面 → 分析你要做什么 → 规划点击/滑动/输入路径 → 一步步执行 → 遇到验证码或支付时主动暂停等你接管。

这不是遥控,是真正的“代理”。

1.2 为什么说它“低成本”又“高效率”?

维度 传统方式 Open-AutoGLM 方案
硬件成本 需购买专用设备或云服务器 只需你已有的电脑 + 安卓手机
使用成本 云端API按调用次数/Token收费 一次部署,永久免费,电费即全部开销
时间成本 每次重复操作耗时30秒~2分钟 首次设置后,后续任务平均15秒启动
学习成本 需学ADB命令、写Shell脚本 全中文指令,像跟朋友说话一样自然
隐私成本 截图上传第三方服务器 所有图像和操作均在本地处理,不离设备

它把过去需要写代码、配环境、调参数的AI自动化,变成了“连上、装好、说句话”三步到位的日常工具。

1.3 谁最该试试这个?

  • 上班族:每天重复点开App、查订单、回消息?让它替你做
  • 运营/电商人员:批量测试新上线页面、验证活动入口是否正常?
  • 老年用户家属:远程帮父母操作手机(通过WiFi连接),教一次,长期省心
  • 开发者与学生:想亲眼看看多模态Agent怎么“看”“想”“动”,这是最透明、最易调试的开源实现
  • 隐私控:拒绝任何截图离开自己设备,连网络都不用连(USB直连模式)

你不需要懂大模型原理,只要会用手机,就能立刻上手。


2. 准备工作:三件套,15分钟搞定

2.1 硬件与系统要求(比你想象中宽松)

项目 最低要求 推荐配置 说明
你的电脑 Windows 10 / macOS 12+ macOS Sonoma 或 Windows 11 Linux也可用,但本文以Win/macOS为主
Python 3.10+ 3.11 版本太低会报错,太高可能不兼容
安卓手机 Android 7.0+(2016年机型) Android 10+(推荐全面屏) 需支持USB调试,模拟器也可(但真机体验更稳)
连接方式 USB数据线(必备) 同一WiFi网络(可选) WiFi用于远程控制,USB用于首次授权和稳定运行

小贴士:不用买新设备。你手边那台三年前的华为Mate 20、小米Note 3、甚至旧款三星S8,只要能开开发者模式,就能跑起来。

2.2 安装ADB——手机和电脑之间的“翻译官”

ADB(Android Debug Bridge)是整个系统的基础桥梁。它让电脑能“看到”手机屏幕、“摸到”手机按钮。

Windows 用户(一步到位法)
  1. 去官网下载 platform-tools(选Windows版.zip)
  2. 解压到一个简单路径,比如 C:\adb
  3. Win + R 输入 sysdm.cpl → “高级” → “环境变量” → 在“系统变量”里双击“Path” → “新建” → 粘贴 C:\adb
  4. 打开命令提示符(cmd),输入:
    adb version
    
    如果显示类似 Android Debug Bridge version 1.0.41,就成功了。
macOS 用户(终端一行命令)
# 如果已装Homebrew(没装就先装:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")
brew install android-platform-tools

# 验证
adb version

注意:不要用第三方“ADB一键安装包”,它们常带广告或捆绑软件。官方包最干净。

2.3 手机端设置:三步开启“被控制权”

这三步必须手动操作,无法跳过,但只需设置一次。

第一步:开启开发者模式
  • 进入 设置 → 关于手机(不同品牌位置略有差异:华为在“版本信息”,小米在“我的设备”)
  • 连续点击 “版本号” 7次,直到弹出“您现在处于开发者模式”提示
第二步:开启USB调试
  • 返回设置,进入 系统 → 开发者选项(或直接搜“开发者选项”)
  • 找到并开启: USB调试USB安装(如有)、 无线调试(为后续WiFi做准备)
  • 关闭 ❌ 监控ADB安装应用(避免干扰)
第三步:安装ADB Keyboard(解决中文输入难题)

很多教程忽略这点,导致AI能点开微信却输不了字。我们用开源方案一步解决:

  1. 下载 ADBKeyboard.apk(直接点下载,别用浏览器自带下载器)
  2. 用数据线连接手机和电脑,在终端执行:
    adb install ADBKeyboard.apk
    
  3. 手机上进入 设置 → 语言和输入法 → 管理键盘 → 开启 ADB Keyboard
  4. 再进入 默认键盘 → 选择 ADB Keyboard

验证是否生效:

adb shell ime list -a | grep ADB

如果输出包含 com.android.adbkeyboard/.AdbIME,就成功了。


3. 部署控制端:克隆、安装、验证,三行命令

3.1 下载并安装Open-AutoGLM

打开终端(macOS/Linux)或命令提示符(Windows),依次执行:

# 1. 克隆代码(约2MB,秒下)
git clone https://github.com/zai-org/Open-AutoGLM.git
cd Open-AutoGLM

# 2. 安装核心依赖(pip会自动处理版本冲突)
pip install -r requirements.txt

# 3. 安装为可调用模块(关键!否则main.py找不到phone_agent)
pip install -e .

验证安装:运行 python -c "import phone_agent; print('导入成功')",无报错即OK。

3.2 连接你的手机(USB直连,最稳)

确保手机已用数据线连接电脑,并在手机上点了“允许USB调试”。

在终端执行:

adb devices

正常输出应类似:

List of devices attached
ABCDEF1234567890    device

那个 ABCDEF1234567890 就是你的设备ID,后面要用到。

如果显示 unauthorized:检查手机是否点了“允许”;显示空列表:换根数据线(纯充电线不行);显示 offline:重启ADB服务 adb kill-server && adb start-server

3.3 首次运行:让AI帮你点开一个App

现在,我们不加任何模型,先用内置轻量逻辑测试通路是否畅通:

python main.py --device-id ABCDEF1234567890 "打开设置"

(把 ABCDEF1234567890 替换成你自己的设备ID)

你会看到终端滚动输出:

  • 正在截图...
  • 正在解析UI结构...
  • 推理中...
  • 执行:点击[设置]图标

几秒后,手机自动跳转到系统设置页。

成功!这证明ADB通路、截图能力、基础动作执行全部就绪。接下来,才是真正的AI登场。


4. 加载AI大脑:本地运行AutoGLM-Phone-9B模型

4.1 模型下载:国内镜像加速,20分钟搞定

AutoGLM-Phone-9B 是一个90亿参数的视觉语言模型,原始大小约20GB。别慌,我们用国内源加速:

方法一:ModelScope(国内最快,推荐)
# 安装
pip install modelscope

# 下载(约15–25分钟,取决于网速)
python -c "from modelscope import snapshot_download; snapshot_download('ZhipuAI/AutoGLM-Phone-9B', local_dir='./models/AutoGLM-Phone-9B')"
方法二:HuggingFace(备用)
pip install -U huggingface_hub
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --resume-download ZhipuAI/AutoGLM-Phone-9B --local-dir ./models/AutoGLM-Phone-9B

下载完成后,目录结构应为:
./models/AutoGLM-Phone-9B/config.json
./models/AutoGLM-Phone-9B/model.safetensors
./models/AutoGLM-Phone-9B/processor_config.json

4.2 本地推理启动:告别GPU,MacBook Air也能跑

Open-AutoGLM 支持两种运行模式:

  • 云端API模式:需自己搭vLLM服务(适合有显卡的用户)
  • 本地MLX模式:专为Apple Silicon优化,M1/M2/M3芯片Mac原生加速

本文主推 MLX本地模式(Windows用户请跳至4.3节):

# 安装MLX生态(仅Mac)
pip install mlx "git+https://github.com/Blaizzy/mlx-vlm.git@main"

# 启动(首次加载约30秒)
python main.py \
  --local \
  --model ./models/AutoGLM-Phone-9B \
  --device-id ABCDEF1234567890 \
  "打开微信"

你会看到AI开始思考(输出<think>内容),然后精准点击微信图标。

提示:第一次运行会编译MLX内核,稍慢;后续启动快很多。

4.3 Windows用户特别指南:用CPU也能跑(稍慢但可用)

没有Mac?Windows用户可用CPU推理(无需NVIDIA显卡):

# 安装CPU版依赖
pip install torch torchvision transformers --index-url https://download.pytorch.org/whl/cpu

# 启动(加--cpu参数)
python main.py \
  --cpu \
  --model ./models/AutoGLM-Phone-9B \
  --device-id ABCDEF1234567890 \
  "打开抖音"

注意:CPU模式单步推理约需40–60秒,适合调试和低频使用。如需流畅体验,建议搭配一台二手Mac Mini(M1芯片,¥2000内)。


5. 实战任务:从一句话到全自动完成

5.1 三种调用方式,按需选择

方式 适用场景 命令示例
单次指令 快速执行一个明确任务 python main.py --local --model ./models/... "打开小红书搜咖啡馆"
交互模式 连续下达多个指令,免重复输入 python main.py --local --model ./models/... → 然后在>后直接输入指令
Python API 集成到你自己的脚本或自动化流程中 见7.1节,支持批量任务、回调接管、自定义超时等高级控制

5.2 真实任务效果对比(亲测有效)

我们用同一部小米13(Android 14)实测以下任务,记录从输入指令到任务完成的总耗时(含模型加载):

任务描述 总耗时 关键亮点
“打开微信,搜索‘张三’,发消息‘在忙,晚回’” 48秒 自动识别通讯录、跳转聊天页、精准输入中文
“打开淘宝,搜‘无线充电器’,点进销量第一的商品,截图发微信” 2分15秒 自动翻页、识别“销量排序”按钮、长按截图、唤起微信分享面板
“打开B站,搜‘大模型入门’,播放第一个视频,倍速1.5x” 1分32秒 自动等待视频加载、识别播放按钮、调出倍速菜单并点击1.5x选项

所有任务均未失败。遇到登录页、支付页、银行App等安全限制界面时,AI会自动输出 <answer>{"action": "Take_over", "message": "检测到登录页面,请手动输入验证码"}</answer> 并暂停,等你操作完按回车继续。

5.3 你该掌握的5个实用技巧

  1. 指令越具体,成功率越高
    ❌ “帮我买东西” → 太模糊
    “打开拼多多,搜‘挂耳咖啡’,选价格30–50元、评分4.8以上、带‘旗舰店’字样的商品,加入购物车”

  2. 善用“等待”和“重试”
    网络加载慢时,AI可能误判界面未变。加一句“等页面加载完再操作”可提升稳定性:
    "打开美团,等首页加载完成,再点‘外卖’"

  3. 敏感操作自动确认(防误触)
    默认开启。当AI识别到“支付”“删除”“清空”等关键词,会停住并问你:“将执行支付操作,确认继续吗?(y/n)”

  4. 快速切换App,不用反复说“打开”
    连续指令中,AI会记住当前App上下文:
    > 打开小红书
    > 搜‘露营装备’
    > 点第一个笔记,保存图片

  5. 查看AI的“思考过程”,方便调试
    加参数 --verbose

    python main.py --local --model ./models/... --verbose "打开设置"
    

    你会看到完整推理链:截图分析→UI元素定位→意图拆解→动作规划→执行日志。


6. 进阶玩法:让AI助理真正融入你的工作流

6.1 WiFi无线控制:摆脱数据线,真正远程办公

USB虽稳,但想隔空操控?用WiFi:

步骤一:手机端开启无线调试
  • 设置 → 开发者选项 → 无线调试 → 开启 → 点击“使用无线调试” → 记下IP和端口(如 192.168.1.100:5555
步骤二:电脑端连接
# 断开USB,确保在同一WiFi
adb connect 192.168.1.100:5555
adb devices  # 应显示 device
步骤三:运行任务
python main.py \
  --local \
  --model ./models/AutoGLM-Phone-9B \
  --device-id 192.168.1.100:5555 \
  "打开钉钉,查看今日待办"

从此,你的手机放在桌上,你在沙发上用笔记本发指令,全程无线。

6.2 批量任务自动化:写个脚本,一天活一分钟干完

比如运营同学每天要检查5个App的活动入口是否正常:

# batch_check.py
from phone_agent import PhoneAgent

agent = PhoneAgent(
    model_config={"model_name": "./models/AutoGLM-Phone-9B", "is_local": True},
    agent_config={"max_steps": 30, "lang": "cn"}
)

tasks = [
    "打开淘宝,检查首页是否有‘618大促’横幅",
    "打开京东,点‘我的’→‘优惠券’,截图",
    "打开拼多多,搜‘百亿补贴’,截首屏",
    "打开小红书,搜‘品牌日’,点进第一个笔记",
    "打开抖音,进入‘商城’Tab,截顶部活动区"
]

for i, task in enumerate(tasks, 1):
    print(f"\n=== 任务 {i}/{len(tasks)} ===")
    result = agent.run(task)
    print(f"结果: {result}")
    agent.reset()  # 清空状态,准备下一个

每天早上双击运行,5分钟生成一份检查报告。

6.3 自定义接管逻辑:让AI更懂你的习惯

默认接管只是暂停,你可以让它做更多:

def my_takeover(message: str) -> None:
    """当需要人工操作时,自动发微信通知你"""
    import os
    os.system('osascript -e \'display notification "手机助理需接管:' + message + '" with title "AI助理提醒"\'')
    input("请手动操作,完成后按回车继续...")

agent = PhoneAgent(takeover_callback=my_takeover)

macOS弹通知,Windows可用powershell调用弹窗,Linux可用notify-send


7. 常见问题速查:90%的问题,三步解决

Q1:adb devices 显示空,或一直 unauthorized

  • 换一根带数据传输功能的数据线(很多“快充线”只供电)
  • 手机上务必点“允许USB调试”,并勾选“始终允许”
  • 重启ADB:adb kill-server && adb start-server
  • 检查USB连接模式:下拉通知栏,选“文件传输”或“MTP”,别选“仅充电”

Q2:模型加载报错 OSError: unable to open file

  • 检查路径:--model 后面的路径必须是完整绝对路径,或确保在 Open-AutoGLM 目录下运行
  • 检查文件完整性:进入 ./models/AutoGLM-Phone-9B/,确认存在 config.jsonmodel.safetensors

Q3:中文输入失败,光标乱跳

  • 重新执行 adb install ADBKeyboard.apk
  • 进入手机“语言和输入法”,确认 ADB Keyboard 已启用且为默认
  • 终端执行 adb shell ime set com.android.adbkeyboard/.AdbIME

Q4:运行卡在“正在截图”,手机黑屏

  • 这是系统级限制,常见于银行、支付、健康类App。AI会自动触发接管,无需担心。
  • 如需绕过,可在任务指令末尾加:“如遇黑屏,请返回桌面再试”

Q5:Windows上中文乱码、报错UnicodeEncodeError

  • 在命令提示符中执行:
chcp 65001
  • 或在Python脚本开头加:
import sys
sys.stdout.reconfigure(encoding='utf-8')

Q6:Mac上提示zsh: command not found: pip

  • 说明Python未正确关联pip,执行:
python -m ensurepip --upgrade

8. 总结:你刚刚获得了一项新能力

8.1 回顾我们完成了什么

  • 用不到15分钟,配置好ADB与手机信任关系
  • 用一条命令,克隆并安装好Open-AutoGLM控制端
  • 用20分钟,下载完9B参数的多模态AI模型
  • 用一句话指令,让AI自动完成从打开App到发送消息的全流程
  • 掌握了WiFi远程、批量任务、自定义接管等进阶技能

这不是玩具,而是一个可立即嵌入你数字生活的生产力工具。它不会取代你,但会把你从重复劳动中解放出来。

8.2 下一步,你可以这样走

  • 轻量尝试:明天就用它帮你自动回复3条微信、检查2个订单状态
  • 深度集成:把脚本加入定时任务(macOS launchd / Windows Task Scheduler),每天固定时间运行
  • 二次开发:阅读 phone_agent/agent.py,修改max_steps或添加新动作类型(如“截图OCR文字”)
  • 分享价值:教父母用WiFi远程帮他们挂号、查医保,一次设置,终身受益

技术的价值,不在于多酷炫,而在于多自然地融入生活。当你不再需要伸手碰手机,而是对电脑说一句“把今天的新闻读给我听”,那一刻,AI才真正属于你。


获取更多AI镜像

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

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐