免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

豆包手机同款AutoGLM硬核开源:AI如何用“眼睛+大脑+手”接管你手机

发布日期:2025-12-10 08:50:42 浏览次数: 1594
作者:智能体AI

微信搜一搜,关注“智能体AI”

推荐语

豆包手机开源AutoGLM技术,让你的手机拥有能看会思考的AI管家,彻底解放双手!

核心内容:
1. AutoGLM如何通过"视觉理解+智能规划+ADB控制"实现自动化操作
2. 三大核心技术解析:AI的眼睛、大脑和手如何协同工作
3. 实际应用场景展示与未来潜力展望

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

原来使用AutoGLM,稍微用用就要收费,想不到豆包手机出来后,AutoGLM居然开源了!

你有没有想过,有一天只需要对手机说一句话,它就能自动帮你完成复杂的操作?比如“打开美团,搜索附近的火锅店,找评分最高的那家,帮我订今晚7点的位子”,然后你就可以继续做别的事,等它搞定?

这不是科幻电影,而是现在就能实现的技术。今天要和你聊的Open-AutoGLM,就是这样一个能够理解屏幕、自主操作手机的AI助手。

一、这到底是个什么东西?

简单来说,Open-AutoGLM是一个手机端的AI智能助理框架。它基于智谱AI的AutoGLM技术构建,核心能力是:能"看懂"手机屏幕上的内容,并像人一样去点击、滑动、输入,帮你完成各种任务。

想象一下,你的手机里住着一个看不见的小助手。你告诉它要做什么,它就会:

  • 观察当前屏幕显示的是什么

  • 思考下一步该做什么

  • 执行具体的操作(点击按钮、输入文字等)

  • 继续观察结果,直到任务完成

整个过程完全自动化,你只需要在开始时说明需求,最后确认支付这类敏感操作就行了。

二、它是怎么工作的?三个关键技术

1. 视觉理解:AI的"眼睛"

Open-AutoGLM使用的是AutoGLM-Phone-9B模型,这是一个多模态视觉语言模型。通俗地说,它不仅能理解文字,还能"看懂"图片。

每当需要执行操作时,系统会先给手机截个图,把这张图片发给AI模型。模型会分析图片内容:

  • 这是哪个APP?

  • 当前在什么页面?

  • 屏幕上有哪些可以点击的按钮?

  • 搜索框在哪里?

  • 有没有出现错误提示?

这就像给AI装了一双眼睛,让它能像人一样"看"手机屏幕。

2. 智能规划:AI的"大脑"

光能看还不够,还得会思考。Open-AutoGLM的规划能力体现在:

任务分解: 当你说"打开小红书搜索美食攻略"时,AI会把这个需求拆解成多个步骤:

1. 启动小红书APP
2. 找到搜索框并点击
3. 输入"美食攻略"
4. 点击搜索按钮
5. 等待结果加载

上下文理解: AI会记住之前的操作。比如你说"打开淘宝",然后说"搜索蓝牙耳机",它知道要在已经打开的淘宝里搜索,而不是重新打开APP。

错误处理: 如果遇到广告弹窗、网络加载慢等情况,AI会自动判断并处理,比如关闭弹窗、等待加载完成。

3. ADB控制:AI的"手"

AI想好了要做什么,怎么真正去操作手机呢?答案是ADB(Android Debug Bridge)。

ADB是Android系统的调试工具,通过USB数据线(或WiFi)连接手机和电脑,可以让电脑发送指令控制手机。Open-AutoGLM就是通过ADB来执行具体操作:

# 点击屏幕某个位置adb shell input tap 500 1000# 输入文字adb shell input text "蓝牙耳机"# 滑动屏幕adb shell input swipe 500 1500 500 500# 按返回键adb shell input keyevent 4

为了输入中文,系统还使用了ADB Keyboard这个专门的输入法,因为普通的ADB命令对中文支持不太好。

三、核心原理:一个循环的智能决策过程

整个系统的工作流程可以用一个循环来描述:

让我用一个实际例子说明。假设你的指令是:"打开美团,搜索附近的川菜馆"

第一轮循环:

  • 截图: 系统发现当前在手机桌面

  • AI思考: "需要启动美团APP"

  • 决策: 执行Launch操作,启动美团

  • 执行: 通过ADB命令打开美团

第二轮循环:

  • 截图: 美团首页已打开

  • AI思考: "看到了顶部的搜索框,需要点击它"

  • 决策: Tap操作,点击搜索框坐标[500, 120]

  • 执行: 模拟点击搜索框

第三轮循环:

  • 截图: 搜索框已激活,弹出键盘

  • AI思考: "需要输入搜索关键词"

  • 决策: Type操作,输入"川菜馆"

  • 执行: 通过ADB Keyboard输入文字

第四轮循环:

  • 截图: 文字已输入

  • AI思考: "需要点击搜索按钮"

  • 决策: Tap操作,点击搜索按钮

  • 执行: 点击搜索

第五轮循环:

  • 截图: 搜索结果页面

  • AI思考: "任务完成,已显示附近的川菜馆列表"

  • 决策: 返回成功状态

  • 结束: 任务完成

每一步,AI都会根据当前屏幕的实际情况做出判断。如果中间出现了广告弹窗,它会先关闭弹窗再继续;如果网络慢了,它会等待页面加载。

四、动手实践:一步步部署你自己的手机AI助手

说了这么多理论,咱们来实战一下。我会带你从零开始,一步步搭建一个能用的系统。

准备工作清单

硬件要求:

  • 一台电脑(Windows/Mac/Linux都可以)

  • 一部Android 7.0以上的手机(或者Android模拟器)

  • 一根能传输数据的USB线(很重要!有些线只能充电)

软件环境:

  • Python 3.10 或更高版本

  • 至少16GB内存(用于运行AI模型)

  • 50GB以上硬盘空间(模型文件比较大)

第一步:配置ADB环境

ADB是连接手机和电脑的桥梁,必须先装好。

  1. 下载ADB工具

访问 Android官网 下载适合你系统的版本,解压到一个好记的位置,比如 D:\adb 或 /Users/你的用户名/adb

  1. 配置环境变量

Mac用户在终端执行:

echo 'export PATH=$PATH:/Users/你的用户名/adb' >> ~/.zshrcsource ~/.zshrc

Windows用户:

  • 右键"此电脑" → "属性" → "高级系统设置"

  • 点击"环境变量"

  • 在"系统变量"中找到"Path",点击"编辑"

  • 新建一条,填入你的ADB目录路径

  1. 验证安装

打开命令行,输入:

adb version

如果看到版本信息,说明安装成功了。

4. 连接手机

手机设置里要开启两个东西:

  • 开发者模式:设置 → 关于手机 → 连续点击"版本号"7-10次,直到提示"您已处于开发者模式"

  • USB调试:设置 → 开发者选项 → 打开"USB调试"

用数据线连接手机和电脑,手机上会弹出"是否允许USB调试"的提示,点击"允许"。

然后在电脑上输入:

adb devices

你应该能看到类似这样的输出:

List of devices attachedabcd1234    device

如果显示"unauthorized",说明手机上还没允许,检查一下手机屏幕的提示。

第二步:安装ADB Keyboard

这是一个特殊的输入法,让AI能够输入中文。

  1. 下载APK文件:ADBKeyboard.apk

  2. 安装到手机:

adb install ADBKeyboard.apk
  1. 在手机上:设置 → 系统 → 语言和输入法 → 虚拟键盘 → 启用"ADB Keyboard"

第三步:部署AI模型

这是最核心也是最复杂的部分。AI模型需要相当的计算资源。

  1. 下载模型文件

模型托管在Hugging Face上,大概18GB左右:

# 先安装git-lfsgit lfs install# 下载模型(需要一段时间)git clone https://huggingface.co/zai-org/AutoGLM-Phone-9B

如果国内下载慢,可以用ModelScope镜像:

git clone https://www.modelscope.cn/ZhipuAI/AutoGLM-Phone-9B.git
  1. 安装推理引擎

我推荐用vLLM,它对多模态模型支持比较好:

pip install vllm

如果你的显卡是NVIDIA的,确保已经安装了CUDA。可以用这个命令检查:

nvidia-smi
  1. 启动模型服务

创建一个启动脚本 start_model.sh:

python3 -m vllm.entrypoints.openai.api_server \  --served-model-name autoglm-phone-9\  --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-9\  --port 8000

运行脚本:

bash start_model.sh

首次启动会加载模型到显存,需要等几分钟。看到类似这样的输出就说明成功了:

INFO:     Uvicorn running on http://0.0.0.0:8000

性能建议:

  • 显存至少需要12GB(推荐16GB以上)

  • 如果显存不够,可以用--tensor-parallel-size 2开启多卡并行

  • CPU内存建议32GB以上

第四步:安装Open-AutoGLM

终于到主程序了!

  1. 下载代码

git clone https://github.com/zai-org/Open-AutoGLM.gitcd Open-AutoGLM
  1. 安装依赖

pip install -r requirements.txtpip install -e .
  1. 测试一下

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

如果一切正常,你会看到系统开始工作:截图、分析、执行操作。手机上的设置APP应该会自动打开。

第五步:实际使用示例

现在我们来做几个实际任务,感受一下AI助手的能力。

示例1: 美团订餐

python main.py --base-url http://localhost:8000/v1 \  --model autoglm-phone-9\  "打开美团,搜索附近评分最高的川菜馆"

系统会:

  1. 启动美团APP

  2. 点击搜索框

  3. 输入"川菜馆"

  4. 等待搜索结果

  5. 按评分排序

整个过程你会在终端看到详细的日志:

==================================================💭 思考过程:--------------------------------------------------当前在桌面,需要启动美团应用--------------------------------------------------🎯 执行动作:{  "action": "Launch",  "app": "美团"}====================================================================================================💭 思考过程:--------------------------------------------------美团已打开,看到顶部有搜索框,坐标大约在[540, 150]--------------------------------------------------🎯 执行动作:{  "action": "Tap",  "element": [540, 150]}==================================================... (继续执行其他步骤)

示例2: 淘宝购物

# 也可以用Python APIfrom phone_Agent import PhoneAgentfrom phone_agent.model import ModelConfig# 配置模型model_config = ModelConfig(    base_url="http://localhost:8000/v1"    model_name="autoglm-phone-9b")# 创建Agentagent = PhoneAgent(model_config=model_config)# 执行任务result = agent.run("打开淘宝搜索蓝牙耳机,找销量最高的")print(f"任务结果: {result}")

示例3: 自定义敏感操作处理

对于支付、删除等敏感操作,系统会请求确认:

def my_confirmation(message):    """自定义确认函数"""    print(f"\n⚠️  需要确认: {message}")    choice = input("是否继续? (y/n): ")    return choice.lower() == 'y'def my_takeover(message):    """需要人工接管时的处理"""    print(f"\n🤚 需要人工操作: {message}")    input("完成后按回车继续...")agent = PhoneAgent(    model_config=model_config,    confirmation_callback=my_confirmation,    takeover_callback=my_takeover)# 这个任务会在支付前请求确认agent.run("打开美团订一份外卖")

运行时如果遇到支付环节,会暂停并提示:

⚠️  需要确认: 即将支付28.5元是否继续? (y/n): n❌ 用户取消了操作

五、它能做什么?支持的场景

Open-AutoGLM目前支持50多个主流中文APP,覆盖生活的方方面面:

生活服务类:

  • 外卖点餐:美团、饿了么

  • 打车出行:滴滴出行、高德地图

  • 酒店预订:携程、去哪儿

  • 购票:12306、猫眼电影

电商购物类:

  • 淘宝、京东、拼多多

  • 自动搜索商品

  • 筛选价格、销量

  • 加入购物车

社交娱乐类:

  • 微信:发消息、朋友圈操作

  • 抖音、快手:自动刷视频

  • 小红书:搜索笔记

  • B站:搜索视频、一键三连

工具类:

  • 备忘录记事

  • 日历添加提醒

  • 设置闹钟

  • 批量文件操作

查看完整列表:

python main.py --list-apps

六、可以执行的操作类型

系统支持人类在手机上的所有基本操作:

操作

描述

示例场景

Launch

启动APP

打开淘宝

Tap

点击

点击搜索按钮

Type

输入文字

输入搜索关键词

Swipe

滑动

向下滚动查看更多

Long Press

长按

长按删除消息

Double Tap

双击

双击点赞

Back

返回

返回上一页

Home

回桌面

退出当前APP

Wait

等待

等待页面加载

Take_over

人工接管

需要输入验证码

七、远程控制:通过WiFi使用

除了USB连接,Open-AutoGLM还支持通过WiFi远程控制手机,这在很多场景下非常有用。

使用场景:

  • 手机和电脑不在一起

  • 想躺床上用电脑控制手机

  • 多台手机同时控制

  • 服务器上部署,远程访问

配置步骤:

  1. 手机开启无线调试

  • 设置 → 开发者选项 → 无线调试 → 开启

  • 记下显示的IP地址和端口,比如 192.168.1.100:5555

  • 电脑连接手机

    adb connect 192.168.1.100:5555
    1. 验证连接

    adb devices# 应该显示: 192.168.1.100:5555    device
    1. 使用时指定设备

    python main.py \  --device-id 192.168.1.100:5555 \  --base-url http://localhost:8000/v1 \  --model autoglm-phone-9b \  "打开抖音刷视频"Python API方式:from phone_agent.adb import ADBConnection# 连接远程设备conn = ADBConnection()success, msg = conn.connect("192.168.1.100:5555")print(f"连接状态: {msg}")# 后续使用和USB连接一样agent = PhoneAgent(    model_config=model_config,    device_id="192.168.1.100:5555")

    八、它解决了什么问题?

    说了这么多技术细节,Open-AutoGLM究竟解决了什么实际问题呢?

    1. 重复性任务自动化

    每天要做的很多事情都是重复的:

    • 每天早上打开日历看今天的安排

    • 定期在某个APP上查看订单状态

    • 每周在几个平台上查找特定信息

    这些任务完全可以交给AI完成,你只需要看结果就行。

    2. 复杂流程简化

    有些任务需要跨多个APP操作:

    • "查天气预报,如果明天下雨就在备忘录里提醒我带伞"

    • "在多个外卖平台比价,找最便宜的下单"

    • "把今天拍的所有照片上传到云盘"

    AI可以理解整个流程,自动完成所有步骤。

    3. 无障碍辅助

    对于视力障碍或操作不便的用户,语音+AI控制可以极大提升手机使用体验。只需要说出需求,AI就能帮忙完成操作。

    4. 开发和测试自动化

    如果你是开发者,可以用Open-AutoGLM来:

    • 自动化APP测试

    • 模拟用户行为收集数据

    • 批量操作进行压力测试

    九、实际应用案例

    让我分享几个真实的使用场景:

    案例1: 出差助手

    # 一句话搞定所有行程安排agent.run("""帮我安排明天去上海的行程:1. 在12306买明天早上8点到上海的高铁票2. 在携程订明晚的酒店,靠近人民广场3. 在高德地图标记酒店位置4. 在日历里添加提醒""")

    案例2: 批量操作

    # 批量点赞朋友圈agent.run("打开微信,给最近3天的朋友圈前10条点赞")# 批量下载agent.run("打开小红书,搜索'美食摄影',保存前20张图片")案例3: 定时任务import scheduleimport timedef daily_news():    agent.run("""    打开今日头条,    搜索'人工智能新闻',    截图前5条,    发送到微信'我的电脑'    """)# 每天早上8点执行schedule.every().day.at("08:00").do(daily_news)while True:    schedule.run_pending(    time.sleep(60)

    十、实际使用中的注意事项

    在使用过程中,有几个需要注意的地方:

    1. 隐私和安全

    • 敏感信息: 系统会看到屏幕上的所有内容,包括聊天记录、账号信息等

    • 支付操作: 默认会在支付前请求人工确认,建议保持这个设置

    • 云端模型: 如果用云端API,屏幕截图会上传,注意数据隐私

    2. 稳定性问题

    • APP版本: 不同版本的APP界面可能不同,AI的识别可能有偏差

    • 网络延迟: 如果网络慢,等待时间可能较长

    • 异常处理: 遇到意外弹窗(广告、更新提示等)可能会卡住

    3. 成本考虑

    • 计算资源: 本地部署需要较好的显卡

    • 云端API: 如果用云端服务,会有调用费用

    • 时间成本: 某些复杂任务可能比手动操作更慢

    4. 法律合规

    • 自动化操作: 某些APP可能禁止自动化操作

    • 批量操作: 注意不要违反APP的使用条款

    • 商业使用: 商业用途需要注意版权和授权问题

    十一、常见问题排查

    在使用中可能会遇到一些问题,这里提供解决方案:

    问题1: 找不到设备

    ❌ error: no devices/emulators found

    解决方法:

    # 重启ADB服务adb kill-serveradb start-serveradb devices

    问题2: 输入中文失败

    • 检查ADB Keyboard是否安装并启用

    • 在手机设置里把ADB Keyboard设为默认输入法

    • 系统会在需要时自动切换

    问题3: 截图是黑屏 这通常是因为APP启用了屏幕保护(银行类、支付类APP常见)。

    系统会自动检测并请求人工接管。

    问题4: AI判断错误

    • 可能是屏幕太复杂,AI识别失败

    • 可以在prompts.py里调整系统提示词,增加特定场景的说明

    • 或者手动接管,完成关键步骤后再让AI继续

    问题5: 模型加载失败

    OutOfMemoryError: CUDA out of memory

    显存不足,可以:

    • 减少--max-model-len参数

    • 使用量化版本的模型

    • 升级显卡或使用云端GPU

    十二、进阶定制:二次开发

    如果你想深度定制Open-AutoGLM,这里是一些方向:

    1. 自定义System Prompt

    修改 phone_agent/config/prompts.py:

    SYSTEM_PROMPT = """你是一个专业的手机操作助手。特殊规则:- 在购物时,优先选择官方旗舰店的商品- 避免使用拼多多等平台- 遇到广告自动关闭- 每次操作前说明理由你特别擅长:{你要增强的领域}"""

    2. 添加新的APP支持

    编辑 phone_agent/config/apps.py:

    APP_PACKAGE_MAPPING = {    "你的APP名称""com.example.yourapp"    # ... 其他APP}

    3. 扩展操作类型

    在 phone_agent/actions/handler.py 添加新操作:

    def execute_custom_action(self, params):    """自定义操作"""    # 实现你的逻辑    pass

    4. 集成到自己的系统

    from phone_agent import PhoneAgentclass MyAssistant:    def __init__(self):        self.agent = PhoneAgent(...)        def handle_user_request(self, request):        # 预处理        processed = self.preprocess(request)                # 执行        result = self.agent.run(processed)                # 后处理        return self.postprocess(result)

    十三、总结

    Open-AutoGLM不是完美的,但它展示了一种可能性:AI不只是聊天,还可以真正帮你做事。

    它的价值不在于炫技,而在于解放你的时间。那些繁琐的、重复的、让你感到厌烦的手机操作,现在可以交给AI了。

    当然,技术还在发展初期,有很多不完善的地方。但正因如此,才有更多的探索空间。如果你是开发者,这是一个很好的学习和贡献的机会;如果你是普通用户,可以期待它在不久的将来变得更加好用。

    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询