当前位置: 首页 > news >正文

5个Open-AutoGLM实战案例:自动搜索、播放音乐、发送消息全演示

5个Open-AutoGLM实战案例:自动搜索、播放音乐、发送消息全演示

想象一下,你正躺在沙发上,突然想听周杰伦的新歌,但手机在充电器上。你只需要对着电脑说一句:“帮我打开网易云音乐,搜索周杰伦的《说好不哭》并播放”,然后你的手机就会自动亮屏、解锁、打开App、搜索、点击播放——整个过程完全自动,你连手指都不用动。

这就是Open-AutoGLM带来的魔法。作为智谱开源的手机端AI Agent框架,它能让你的电脑通过AI“看懂”手机屏幕,并像真人一样操作手机。今天,我将通过5个真实案例,带你一步步体验这个未来感十足的技术。

1. 快速了解:Open-AutoGLM是什么?

1.1 一句话说清楚

Open-AutoGLM是一个能让你用自然语言控制手机的AI框架。你告诉它要做什么(比如“打开微信给妈妈发消息”),它就会自动操作手机完成整个流程。

1.2 核心工作原理:像人一样操作手机

这个AI的工作方式其实很直观,就像我们人操作手机一样:

  1. 看屏幕:通过ADB(Android调试桥)获取手机截图
  2. 想一下:用多模态大模型“看懂”截图内容(这是什么App?现在在哪个页面?)
  3. 做动作:根据你的指令和看到的画面,决定下一步操作(点哪里、输入什么)
  4. 重复循环:不断“看-想-做”,直到完成任务

1.3 为什么值得尝试?

特点说明对你意味着什么
完全本地运行所有AI推理都在你电脑上完成隐私安全,截图不上传云端
自然语言控制说人话就能控制手机不用学习复杂命令
支持多种操作点击、滑动、输入、启动App等能完成大部分日常操作
开源免费代码完全开放,可自由修改零成本体验AI Agent

2. 环境准备:10分钟快速搭建

2.1 你需要准备什么?

在开始实战之前,确保你有:

  • 一台电脑:Windows、macOS或Linux都可以
  • 一部安卓手机:Android 7.0以上版本
  • 一根数据线:能传输数据的那种(不是只能充电的)
  • 稳定的网络:下载模型和依赖需要网络

2.2 电脑端环境配置

步骤1:安装Python环境

如果你还没有Python,建议安装Python 3.10或更高版本。可以在命令行输入以下命令检查:

python --version # 应该显示 Python 3.10.x 或更高

步骤2:安装ADB工具

ADB是连接电脑和手机的桥梁。不同系统安装方法不同:

Windows用户

  1. 下载ADB工具包
  2. 解压到某个文件夹(比如C:\adb
  3. 把这个文件夹路径添加到系统环境变量PATH中

macOS用户(最简单的方法):

brew install android-platform-tools

Linux用户

sudo apt update sudo apt install android-tools-adb

安装后验证:

adb version # 应该显示ADB版本信息

步骤3:下载项目代码

# 克隆Open-AutoGLM仓库 git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 安装依赖 pip install -r requirements.txt pip install -e .

2.3 手机端设置

步骤1:开启开发者模式

  1. 打开手机设置关于手机
  2. 找到版本号(不同手机可能在不同位置)
  3. 连续点击版本号7次,直到看到“您已处于开发者模式”的提示

步骤2:开启USB调试

  1. 返回设置,找到开发者选项(通常在“系统”或“关于手机”附近)
  2. 开启USB调试开关
  3. 开启USB安装(如果有这个选项)

步骤3:连接电脑并授权

  1. 用数据线连接手机和电脑
  2. 手机上会弹出“允许USB调试吗?”的提示
  3. 勾选“始终允许”,然后点击确定

步骤4:验证连接

在电脑命令行输入:

adb devices

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

List of devices attached ABCD1234567890 device

如果看到device,说明连接成功!如果看到unauthorized,需要在手机上重新授权。

2.4 安装ADB Keyboard(重要!)

为了让AI能输入中文,需要安装一个特殊的输入法:

  1. 下载ADBKeyboard.apk
  2. 通过ADB安装:
adb install ADBKeyboard.apk
  1. 在手机上启用:
    • 进入设置语言和输入法管理键盘
    • 启用ADB Keyboard

3. 案例一:自动搜索并播放音乐

3.1 场景描述

你想听某首歌,但手机不在手边,或者你想测试AI是否能准确找到并播放音乐。

3.2 完整操作流程

让我们从最简单的开始——让AI帮我们打开网易云音乐并播放周杰伦的《晴天》:

# 在Open-AutoGLM目录下运行 python main.py \ --device-id <你的设备ID> \ "打开网易云音乐,搜索周杰伦的《晴天》并播放"

AI的执行过程:

  1. 第一步:AI看到手机锁屏界面,执行“滑动解锁”操作
  2. 第二步:在桌面找到“网易云音乐”图标并点击
  3. 第三步:在App内找到搜索框并点击
  4. 第四步:输入“周杰伦 晴天”
  5. 第五步:在搜索结果中找到正确的歌曲
  6. 第六步:点击播放按钮

整个过程大约需要1-2分钟,你会看到手机自动完成所有操作。

3.3 实际效果与技巧

你可能遇到的问题和解决方案:

问题可能原因解决方案
AI找不到App图标图标位置变化或不在第一屏先说“滑动到第二屏”再找
搜索后找不到歌曲搜索结果太多,AI选错指令更具体:“搜索周杰伦的《晴天》,选择第一个结果播放”
播放按钮没反应网络加载慢在指令中加“等待3秒”

优化后的指令:

python main.py --device-id <设备ID> \ "滑动到第二屏,打开网易云音乐,在搜索框输入‘周杰伦 晴天’,等待3秒,点击第一个搜索结果,点击播放按钮"

3.4 扩展玩法

学会了基本操作后,你可以尝试更多音乐相关的自动化:

# 创建播放列表 python main.py --device-id <设备ID> \ "打开网易云音乐,搜索‘工作专注歌单’,点击收藏,然后播放" # 每日推荐 python main.py --device-id <设备ID> \ "打开网易云音乐,点击每日推荐,播放第一首歌" # 切换播放模式 python main.py --device-id <设备ID> \ "打开网易云音乐,点击正在播放的歌曲,点击循环按钮切换到随机播放"

4. 案例二:自动发送微信消息

4.1 场景描述

你在电脑前工作,需要给家人或同事发个消息,但不想拿起手机。或者你想定时自动发送某些消息。

4.2 发送单条消息

让我们从给指定联系人发送一条消息开始:

python main.py --device-id <设备ID> \ "打开微信,找到‘妈妈’,发送消息‘今晚加班,不回家吃饭了’"

执行细节观察:

  1. 联系人查找:AI会先点击微信底部的“通讯录”,然后滑动查找“妈妈”
  2. 进入聊天:找到后点击进入聊天界面
  3. 输入消息:点击输入框,输入指定文字
  4. 发送:点击发送按钮

重要提示:如果联系人有重名,AI可能会选错。建议:

  • 使用备注名而不是微信昵称
  • 或者先让AI打开与某个人的聊天记录

4.3 发送多条消息或带表情

# 发送带表情的消息 python main.py --device-id <设备ID> \ "打开微信,找到‘张三’,发送消息‘会议改到下午3点 😊 记得准时参加’" # 发送多条消息 python main.py --device-id <设备ID> \ "打开微信,找到‘项目群’,发送消息‘大家好,这是本周的工作安排:’,等待2秒,发送‘1. 完成需求文档’,等待1秒,发送‘2. 准备周三的演示’"

4.4 实用技巧:处理常见问题

问题1:微信需要解锁如果微信有应用锁,AI会在需要时请求人工接管。你可以在代码中添加回调函数处理:

from phone_agent import PhoneAgent def handle_takeover(message): print(f"需要人工操作: {message}") input("处理完后按回车继续...") agent = PhoneAgent( device_id="你的设备ID", takeover_callback=handle_takeover ) agent.run("打开微信给妈妈发消息")

问题2:消息发送失败有时网络延迟会导致发送按钮不可点击。解决方案是在关键步骤后添加等待:

python main.py --device-id <设备ID> \ "打开微信,找到‘李四’,点击输入框,输入‘测试消息’,等待2秒,点击发送按钮"

问题3:联系人太多找不到如果联系人列表很长,可以结合滑动操作:

python main.py --device-id <设备ID> \ "打开微信,点击通讯录,向下滑动3次,找到‘王五’,发送消息‘资料已发邮箱’"

4.5 高级应用:自动化客服回复

如果你经营小店,可以用这个技术实现简单的自动回复:

# 简单的自动回复脚本 responses = { "价格": "商品价格是99元,现在有优惠哦!", "发货": "一般24小时内发货,快递默认韵达", "售后": "7天无理由退换货,有问题随时联系" } for query, reply in responses.items(): # 假设客户发了某个关键词 command = f"打开微信,找到‘客户A’,发送消息‘{reply}’" # 执行命令...

当然,这只是一个简单示例。真正的智能客服需要更复杂的逻辑。

5. 案例三:自动搜索并浏览内容

5.1 场景描述

你想了解某个话题,但没时间慢慢搜索和浏览。或者你想监控某个关键词的最新信息。

5.2 在抖音搜索特定内容

让我们搜索美食博主的视频:

python main.py --device-id <设备ID> \ "打开抖音,在搜索框输入‘家常菜教程’,点击搜索,向下滑动看5个视频"

AI的执行逻辑:

  1. 识别抖音图标并打开
  2. 找到顶部的搜索按钮
  3. 点击搜索框并输入文字
  4. 点击键盘的“搜索”或“回车”
  5. 在结果页面向下滑动浏览

5.3 在小红书搜索并收藏

python main.py --device-id <设备ID> \ "打开小红书,搜索‘周末去哪玩’,点击第一个笔记,等待3秒,点击收藏按钮"

技巧:处理加载时间内容类App通常需要时间加载。如果AI点击太快可能失败,可以在关键操作后添加等待:

python main.py --device-id <设备ID> \ "打开小红书,等待3秒让App加载,点击搜索图标,输入‘健身食谱’,点击搜索,等待2秒加载结果,点击第一个笔记"

5.4 在浏览器搜索信息

python main.py --device-id <设备ID> \ "打开Chrome浏览器,在地址栏输入‘www.baidu.com’,等待页面加载,在搜索框输入‘今天天气怎么样’,点击百度一下"

浏览器操作的特殊性:

  • 地址栏和搜索框可能在不同位置
  • 页面加载时间不确定
  • 广告弹窗可能干扰操作

更稳健的指令:

python main.py --device-id <设备ID> \ "打开浏览器,点击地址栏,输入‘baidu.com’,等待5秒让页面完全加载,点击搜索框,输入‘Python教程’,点击搜索按钮"

5.5 批量信息收集脚本

如果你需要定期收集某个主题的信息,可以编写脚本:

import time from phone_agent import PhoneAgent agent = PhoneAgent(device_id="你的设备ID") search_keywords = ["AI最新进展", "机器学习", "深度学习"] for keyword in search_keywords: print(f"搜索: {keyword}") # 在抖音搜索 agent.run(f"打开抖音,搜索‘{keyword}’,向下滑动看3个视频") time.sleep(2) # 在小红书搜索 agent.run(f"打开小红书,搜索‘{keyword}’,点击第一个笔记") time.sleep(2) # 重置状态 agent.run("按Home键返回桌面")

这个脚本会自动在多个平台搜索指定关键词,帮你快速了解某个话题的全貌。

6. 案例四:自动化日常任务

6.1 场景描述

每天重复的手机操作很耗时,比如查看天气、阅读新闻、打卡签到等。这些都可以自动化。

6.2 早晨例行任务

想象一下,每天早上AI帮你完成这些事:

# 查看天气和新闻 python main.py --device-id <设备ID> \ "打开天气App,查看今天温度,截图保存,然后打开今日头条,浏览头条新闻,向下滑动阅读3条新闻" # 或者更具体的指令 python main.py --device-id <设备ID> \ "早上7点自动执行:1.打开墨迹天气看温度 2.打开微信查看未读消息 3.打开钉钉打卡"

实际执行时的分解步骤:

  1. 解锁手机
  2. 找到天气App图标并打开
  3. 等待天气信息加载
  4. 截图(如果需要保存)
  5. 返回桌面
  6. 找到新闻App并打开
  7. 滑动浏览内容

6.3 自动化签到打卡

很多App有每日签到功能,手动操作很麻烦:

# 钉钉打卡 python main.py --device-id <设备ID> \ "打开钉钉,点击工作台,找到考勤打卡,点击上班打卡" # 淘宝每日签到领金币 python main.py --device-id <设备ID> \ "打开手机淘宝,点击‘我的淘宝’,找到‘领金币’,点击签到" # 多个App连续签到 python main.py --device-id <设备ID> \ "按顺序执行:1.打开支付宝-蚂蚁森林收能量 2.打开京东-领京豆 3.打开美团-领红包"

6.4 智能家居控制

如果你的手机安装了智能家居App,还可以控制家电:

# 小米智能家居 python main.py --device-id <设备ID> \ "打开米家App,点击客厅灯,点击关闭,然后点击空调,设置为26度" # 出门前准备 python main.py --device-id <设备ID> \ "晚上10点执行:关闭所有灯,关闭空调,打开摄像头,打开报警模式"

6.5 文件管理自动化

# 整理相册 python main.py --device-id <设备ID> \ "打开相册,选择最近3天的照片,点击分享,选择微信,发送给‘文件传输助手’" # 备份重要文件 python main.py --device-id <设备ID> \ "打开文件管理器,找到‘工作文档’文件夹,长按选择,点击分享,选择百度网盘,点击上传"

7. 案例五:高级技巧与组合任务

7.1 场景描述

单一任务已经不能满足需求?让我们看看如何组合多个任务,实现更复杂的自动化流程。

7.2 完整的工作流:从搜索到分享

假设你想研究某个话题,然后分享给朋友:

# 复杂的多步任务 python main.py --device-id <设备ID> \ "执行以下任务:1.打开浏览器搜索‘AI绘画技巧’ 2.打开小红书搜索‘AI绘画’并收藏3篇笔记 3.打开微信把收藏的笔记分享给‘学习群’ 4.在群里发送消息‘这些AI绘画技巧不错,大家看看’"

这个任务涉及:

  • 浏览器操作
  • 内容平台搜索与收藏
  • 跨App分享
  • 群聊消息发送

7.3 使用Python脚本控制复杂流程

对于更复杂的任务,直接写Python脚本更灵活:

from phone_agent import PhoneAgent import time class SmartAssistant: def __init__(self, device_id): self.agent = PhoneAgent(device_id=device_id) def research_and_share(self, topic, friend_name): """研究一个话题并分享给朋友""" print(f"开始研究: {topic}") # 步骤1: 在多个平台搜索 self.agent.run(f"打开浏览器,搜索‘{topic}最新进展’") time.sleep(3) # 等待阅读 self.agent.run(f"打开知乎,搜索‘{topic}’") time.sleep(2) # 步骤2: 收藏有用内容 self.agent.run("在知乎,点击第一个回答,点击收藏") time.sleep(1) # 步骤3: 分享给朋友 self.agent.run(f"打开微信,找到‘{friend_name}’,发送消息‘我刚刚研究了{topic},发现这些内容不错:’") time.sleep(1) # 步骤4: 分享链接(这里需要实际的内容) self.agent.run("点击加号,选择相册,选择最近截图,点击发送") print("研究分享完成!") def daily_routine(self): """每日例行任务""" tasks = [ ("查看天气", "打开天气App查看今天温度和天气"), ("阅读新闻", "打开今日头条浏览头条新闻"), ("检查邮件", "打开邮箱查看未读邮件"), ("微信消息", "打开微信查看是否有重要消息"), ] for task_name, command in tasks: print(f"执行: {task_name}") self.agent.run(command) time.sleep(2) print("每日任务完成!") # 使用示例 assistant = SmartAssistant(device_id="你的设备ID") assistant.research_and_share("机器学习", "技术伙伴") # assistant.daily_routine()

7.4 错误处理与重试机制

在实际使用中,网络延迟、页面加载慢等问题可能导致操作失败。好的脚本应该有错误处理:

from phone_agent import PhoneAgent import time def safe_run(agent, command, max_retries=3): """安全执行命令,失败时重试""" for attempt in range(max_retries): try: print(f"尝试执行: {command} (第{attempt+1}次)") result = agent.run(command) if "失败" not in str(result) and "错误" not in str(result): return True except Exception as e: print(f"执行出错: {e}") if attempt < max_retries - 1: print("等待2秒后重试...") time.sleep(2) print(f"命令执行失败: {command}") return False # 使用示例 agent = PhoneAgent(device_id="你的设备ID") commands = [ "打开微信", "找到‘妈妈’", "发送消息‘晚上回家吃饭’", ] for cmd in commands: if not safe_run(agent, cmd): print("任务中断,需要人工检查") break

7.5 定时任务与自动化调度

结合Python的定时任务,可以实现真正的自动化:

import schedule import time from phone_agent import PhoneAgent class DailyScheduler: def __init__(self): self.agent = PhoneAgent(device_id="你的设备ID") def morning_tasks(self): """早晨任务""" print("执行早晨任务...") self.agent.run("打开天气App查看天气") self.agent.run("打开微信查看未读消息") print("早晨任务完成") def lunch_break(self): """午休任务""" print("午休时间,播放音乐...") self.agent.run("打开网易云音乐,播放轻音乐歌单") def evening_tasks(self): """晚上任务""" print("执行晚上任务...") self.agent.run("打开钉钉打卡下班") self.agent.run("打开智能家居关闭客厅灯") print("晚上任务完成") def run_schedule(self): """运行定时任务""" # 每天早上7:30执行 schedule.every().day.at("07:30").do(self.morning_tasks) # 每天中午12:00执行 schedule.every().day.at("12:00").do(self.lunch_break) # 每天晚上18:30执行 schedule.every().day.at("18:30").do(self.evening_tasks) print("定时任务已启动...") while True: schedule.run_pending() time.sleep(60) # 每分钟检查一次 # 启动调度器 scheduler = DailyScheduler() scheduler.run_schedule()

8. 总结与最佳实践

8.1 5个案例回顾

通过这5个实战案例,我们看到了Open-AutoGLM的强大能力:

  1. 案例一:自动播放音乐 - 展示了基本的App操作和内容搜索
  2. 案例二:自动发送消息 - 处理了社交App的复杂交互
  3. 案例三:自动搜索浏览 - 实现了信息获取的自动化
  4. 案例四:自动化日常任务 - 将重复操作交给AI
  5. 案例五:高级组合任务 - 展示了复杂工作流的构建

8.2 使用技巧总结

让AI更聪明的指令写法:

技巧差指令好指令
具体明确“打开微信发消息”“打开微信,找到‘张三’,发送消息‘会议改到3点’”
分步骤“搜索并播放音乐”“1.打开网易云音乐 2.点击搜索 3.输入‘周杰伦’ 4.点击第一首歌 5.点击播放”
添加等待“打开网页点击链接”“打开网页,等待3秒加载,然后点击第一个链接”
处理异常“点赞这个视频”“找到点赞按钮,如果找不到就向下滑动一点再找”

常见问题与解决:

  1. AI点错位置:指令更具体,添加参考点(“在搜索框右边点击放大镜图标”)
  2. 页面加载慢:在关键操作前添加等待(“等待页面加载完成”)
  3. 找不到元素:让AI先滚动再找(“向下滑动查找‘设置’按钮”)
  4. 输入法问题:确保ADB Keyboard已安装并启用

8.3 安全注意事项

虽然Open-AutoGLM很强大,但使用时要注意:

  1. 敏感操作确认:涉及支付、删除等重要操作时,最好人工确认
  2. 隐私保护:不要在指令中包含密码、敏感信息
  3. 设备安全:不要让他人远程控制你的手机
  4. 合法使用:遵守各平台的使用条款

8.4 下一步学习建议

如果你已经掌握了这些基础案例,可以尝试:

  1. 学习Python API:用代码实现更复杂的逻辑
  2. 自定义模型:训练适合自己需求的专用模型
  3. 集成其他工具:结合自动化脚本、定时任务等
  4. 开发实际应用:比如自动客服、智能助手等

Open-AutoGLM打开了手机自动化的大门。从简单的音乐播放到复杂的工作流,AI正在改变我们与设备的交互方式。现在,轮到你发挥创意,构建属于自己的智能助手了。


获取更多AI镜像

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

http://www.jsqmd.com/news/469469/

相关文章:

  • Qwen2.5-72B-GPTQ-Int4实战案例:法律文书生成+关键条款风险点识别系统搭建
  • 大模型微调新姿势:Prompt Tuning vs LoRA vs Adapter,哪种更适合你的场景?
  • USB-C多源并联快充器设计与实现
  • DAMO-YOLO在农业中的应用:农作物病虫害智能识别系统
  • 老设备优化指南:用OpenCore Legacy Patcher实现旧Mac系统焕新
  • 实测Llama-3.2-3B:Ollama部署后,写邮件、做总结到底有多快?
  • SMUDebugTool:AMD Ryzen处理器系统管理单元调试与性能优化工具
  • Ostrakon-VL-8B数据库课程设计应用:从ER图到自然语言查询的智能转换
  • YOLOv8最佳模型筛选逻辑与自定义策略详解
  • 基于STM32的智能盆栽环境闭环控制系统设计
  • Gemma-3-12b-it效果展示:微距摄影图微观结构识别+材料科学术语解释
  • 网络设备批量运维效率革命:zteOnu工具实战指南
  • MiniCPM-V-2_6开发入门:IntelliJ IDEA中的Java调用与集成实战
  • IBM MQ安装包全版本解析与下载指南
  • 自动化购票工具效率提升实战指南:从技术原理到落地应用
  • 医疗影像AI助手:MedGemma X-Ray系统部署教程与使用指南
  • 3个革命性的AI建模智能转化:从扫描数据到CAD模型的效率革命
  • 跨平台数据匹配助手:用Phi-3-mini-128k-instruct理解并执行类VLOOKUP任务
  • Qt实战:利用QGraphicsItem实现动态箭头连接(支持图形项拖拽与碰撞检测)
  • 每天节省90分钟?开源工具ok-wuthering-waves从机械操作到智能托管的游戏效率革命
  • CLIP ViT-H-14图像语义增强:结合LoRA微调适配垂直领域特征
  • Dify多智能体编排实战手册(企业级Agent协作配置白皮书)
  • DAMOYOLO-S工作流自动化:使用ComfyUI构建可视化检测流水线
  • 老旧设备重生指南:OpenCore Legacy Patcher让旧Mac焕发第二春
  • CLIP ViT-H-14图像相似度计算原理详解:余弦距离与特征空间映射
  • Fish-Speech 1.5新手指南:WebUI和API两种用法,总有一种适合你
  • ComfyUI Easy - Use插件:新手到高手的快速通道
  • LangChain集成RMBG-2.0:智能文档处理系统开发
  • PP-DocLayoutV3部署教程:Docker镜像免配置启动与局域网访问配置
  • 颠覆性抖音直播回放下载工具:从技术痛点到内容价值重构