AutoGLM-Phone自动化办公:日报生成与消息推送案例
1. 什么是AutoGLM-Phone?一个真正能“看懂屏幕、动手操作”的手机AI助理
你有没有想过,让手机自己完成那些重复又琐碎的操作?比如每天早上自动打开企业微信,截图工作群消息,整理成日报发到邮箱;或者在收到重要通知时,立刻弹出醒目提醒、同步语音播报,甚至自动回复确认——这些不再是科幻场景,而是AutoGLM-Phone正在真实落地的能力。
AutoGLM-Phone不是另一个聊天机器人,也不是只能回答问题的语音助手。它是智谱开源的、专为安卓设备打造的端云协同AI Agent框架,核心能力有两点:看得懂和动得了。
它用视觉语言模型(VLM)实时理解你手机屏幕上显示的每一个按钮、文字、图标和布局,就像人眼+大脑一样识别当前界面状态;再通过ADB(Android Debug Bridge)这条“数字神经”,直接模拟点击、滑动、输入、返回等真实操作。你不需要写脚本、不用学编程,只要说一句:“把今天钉钉群里的项目进度汇总成表格,发给张经理”,它就能一步步执行:解锁手机→打开钉钉→切换到指定群→逐条读取消息→提取关键信息→生成Excel→填写收件人→发送邮件。
这种“自然语言指令→视觉感知→动作规划→自动执行”的闭环,正是Phone Agent区别于传统自动化工具的本质——它不依赖固定UI路径,也不怕界面改版,而是像一个真正熟悉手机操作的同事,灵活应对各种变化。
更关键的是,它把安全放在第一位:所有涉及账号登录、支付、短信等敏感操作前,都会主动暂停并等待人工确认;验证码弹窗出现时,会截图上传,由你远程输入;整个过程支持USB直连与WiFi远程双模式,开发调试和日常使用都足够稳定。
2. 办公提效实战:从零搭建“日报自动生成+企业微信消息推送”流水线
我们以一个高频办公需求为例:每日9点自动抓取企业微信工作群中的任务更新,生成结构化日报(含负责人、截止时间、状态),并通过邮件发送给主管,同时在手机桌面弹出强提醒。
这个任务过去需要手动操作5分钟以上,现在只需一次配置,后续全自动运行。下面带你一步步实现,全程无需修改源码,全部基于Open-AutoGLM官方控制端完成。
2.1 环境准备:三步搞定本地控制端
别被“ADB”“VLM”这些词吓到——实际部署比安装一个微信还简单。你只需要三样东西:一台电脑、一部安卓手机、以及10分钟耐心。
你的电脑(Windows/macOS均可):
- 安装Python 3.10+(官网下载安装包,勾选“Add Python to PATH”)
- 下载Android SDK Platform-Tools(即ADB工具包)
- Windows用户:解压后,右键“此电脑”→属性→高级系统设置→环境变量→系统变量→Path→新建→粘贴ADB解压路径;验证命令:
adb version - macOS用户:终端执行
export PATH=${PATH}:/your/path/to/platform-tools(建议写入~/.zshrc永久生效)
你的安卓手机(Android 7.0+):
- 开启开发者模式:设置→关于手机→连续点击“版本号”7次
- 开启USB调试:设置→开发者选项→启用“USB调试”
- 安装ADB Keyboard(GitHub Release页下载APK)→设置→语言与输入法→选择“ADB Keyboard”为默认输入法(这是实现自动输入的关键)
连接方式选择:
- 日常调试推荐USB直连(稳定、免配网)
- 远程值守选WiFi连接(需手机与电脑同局域网)
2.2 一键部署:克隆代码、安装依赖、连接设备
打开终端(Windows用CMD/PowerShell,macOS用Terminal),依次执行:
# 1. 克隆官方控制端代码(Open-AutoGLM) git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM # 2. 创建虚拟环境(推荐,避免依赖冲突) python -m venv venv source venv/bin/activate # macOS/Linux # venv\Scripts\activate # Windows # 3. 安装全部依赖 pip install -r requirements.txt pip install -e . # 4. 检查设备是否识别成功 adb devices # 正常输出类似:XXXXXXX device如果adb devices返回空或unauthorized,请在手机上弹出的授权窗口中点击“允许”。首次连接WiFi时,先用USB线连一次,再执行:
# 切换ADB为网络模式(端口5555) adb tcpip 5555 # 断开USB,用WiFi连接(替换为你的手机IP) adb connect 192.168.1.100:5555小贴士:手机IP在哪找?设置→WLAN→点击当前网络→查看“IP地址”。如果连接失败,重启手机ADB服务:
adb kill-server && adb start-server
2.3 核心指令设计:让AI听懂你的“办公语言”
AutoGLM-Phone的强大,一半在模型,一半在指令表达。它不是关键词匹配,而是真正理解语义。所以写指令时,要像对同事布置任务一样清晰、具体、带上下文。
以下是我们为“日报生成+消息推送”设计的真实可用指令(可直接复制运行):
python main.py \ --device-id "emulator-5554" \ --base-url "http://192.168.1.200:8800/v1" \ --model "autoglm-phone-9b" \ "现在是工作日早上9点,请执行:1. 解锁手机;2. 打开企业微信;3. 进入名为'项目A-每日站会'的群聊;4. 向上滚动两屏,截取最近10条含'今日任务'或'待办'字样的消息;5. 提取每条消息中的负责人姓名、任务内容、截止时间(若未写则填'待确认')、当前状态(进行中/已完成/阻塞);6. 将结果整理成带表头的Markdown表格;7. 复制表格内容;8. 打开Gmail应用;9. 新建邮件,收件人zhang@company.com,主题'【日报】项目A-20240520',正文粘贴表格;10. 发送邮件;11. 返回桌面,在通知栏发送一条高优先级通知,标题'日报已发送',内容'项目A日报已通过邮件提交,请查收';12. 锁屏。"注意几个关键细节:
--device-id填adb devices显示的ID(如emulator-5554)或WiFi地址(如192.168.1.100:5555)--base-url指向你部署好的云端模型服务(如何部署vLLM服务不在本文展开,但Open-AutoGLM文档提供了完整Docker镜像)- 指令中明确写了时间条件(“现在是工作日早上9点”)、操作序列(1.2.3...)、内容判断逻辑(含“今日任务”字样)、容错处理(截止时间未写则填“待确认”)——这正是多模态Agent的智能所在:它能结合视觉识别与文本推理,动态决策
2.4 Python API进阶:封装成可调度的任务函数
命令行适合快速验证,但真正融入办公流,需要用代码封装。以下是将上述流程封装为Python函数的精简示例,支持定时触发(如配合APScheduler):
from phone_agent.adb import ADBConnection from phone_agent.agent import PhoneAgent def generate_daily_report(): # 初始化ADB连接(自动检测设备) conn = ADBConnection() devices = conn.list_devices() if not devices: print("❌ 未检测到可用设备") return False device_id = devices[0].device_id print(f" 使用设备: {device_id}") # 初始化AI代理(指向你的云服务) agent = PhoneAgent( device_id=device_id, base_url="http://192.168.1.200:8800/v1", model_name="autoglm-phone-9b" ) # 发送自然语言指令 instruction = ( "现在是工作日早上9点,请执行:1. 解锁手机;2. 打开企业微信;" "3. 进入名为'项目A-每日站会'的群聊;4. 截取最近10条含'今日任务'的消息;" "5. 提取负责人、任务、截止时间、状态;6. 整理成Markdown表格;" "7. 通过Gmail发送给zhang@company.com;8. 发送桌面通知;9. 锁屏。" ) try: result = agent.run(instruction, timeout=300) # 5分钟超时 print(f" 任务完成!最终状态: {result.status}") print(f" 输出摘要: {result.summary[:100]}...") return True except Exception as e: print(f"❌ 执行失败: {str(e)}") return False # 调用示例 if __name__ == "__main__": generate_daily_report()这段代码的核心价值在于:把AI操作变成了一个可调用、可监控、可重试的标准函数。你可以轻松接入Cron(Linux/macOS)或Task Scheduler(Windows),设置每天9:00自动运行;也可以集成到内部OA系统,当项目经理点击“生成日报”按钮时,后台静默触发。
3. 不止于日报:这些办公场景,AutoGLM-Phone已经跑通
日报只是冰山一角。我们在真实测试中发现,AutoGLM-Phone在多个办公高频场景中表现稳定,且远超传统RPA工具的适应性。以下是已验证的典型用例:
3.1 消息类:跨平台强提醒与智能响应
- 场景:销售团队需及时响应客户微信消息,但常因会议错过
- 实现:
“当微信收到新消息,且发件人昵称含‘客户’或‘VIP’时,立即在手机顶部弹出红色横幅通知,并语音播报‘重要客户消息,请速查’;若30秒内无操作,则自动回复‘您好,正在开会,稍后详聊’。” - 优势:传统方案需Root或特殊权限,而AutoGLM-Phone仅靠ADB+屏幕识别即可实现,无需越狱。
3.2 数据类:多APP数据聚合与格式转换
- 场景:财务需每日汇总钉钉审批、飞书报销、企业微信收款单
- 实现:
“依次打开钉钉→审批→我的申请→截图近3条;打开飞书→工作台→报销→截图近3条;打开企业微信→我→支付→截图近3条;将三组截图中的金额、日期、事由提取出来,合并去重,生成统一Excel,保存到‘/sdcard/Download/每日财务汇总.xlsx’。” - 优势:不同APP界面结构千差万别,但VLM能泛化识别,无需为每个APP单独写XPath。
3.3 流程类:复杂业务链路一键触发
- 场景:HR入职流程:创建企业微信账号→分配钉钉组织→开通邮箱→发送欢迎邮件
- 实现:
“根据剪贴板中的新员工姓名、部门、邮箱,依次:1. 打开企业微信管理后台,添加该员工;2. 打开钉钉管理后台,将其加入对应部门;3. 打开邮箱管理后台,创建账号;4. 打开Outlook,发送欢迎邮件,附件含《入职指南》PDF。” - 优势:整个流程跨越4个Web后台+1个客户端,AutoGLM-Phone通过ADB操控手机浏览器+PC端远程ADB桥接,实现全链路打通。
4. 实战避坑指南:那些踩过的坑,帮你省下3小时调试时间
再好的框架,落地时也难免遇到“看似简单实则卡壳”的问题。以下是我们在真实部署中总结的高频问题与解法,按发生概率排序:
4.1 设备连接类:90%的问题出在这里
| 现象 | 根本原因 | 快速解法 |
|---|---|---|
adb devices显示????????或unauthorized | 手机未授权USB调试 | 拔插USB线,手机弹窗点“允许”;或adb kill-server && adb start-server |
WiFi连接后adb shell响应极慢 | 手机省电策略限制后台网络 | 设置→电池→关闭“智能省电”或“后台冻结”;或改用USB |
adb connect IP:5555成功但adb shell报错closed | ADB服务端口被防火墙拦截 | 关闭电脑防火墙,或在路由器中放行5555端口 |
4.2 模型执行类:让AI“听话”的关键细节
- 指令总被忽略?→ 检查是否遗漏了前置动作。例如:“打开小红书搜美食”必须加“先解锁手机”,否则锁屏状态下VLM无法获取屏幕。
- 截图内容不全?→ 在指令中明确要求“向上滚动两屏”或“滑动到底部”,AutoGLM-Phone会自动执行滑动动作后再截图。
- 输入文字失败?→ 确认已安装ADB Keyboard并设为默认输入法;若仍失败,指令中加一句“长按输入框,选择‘粘贴’”。
- 验证码无法识别?→ 当前VLM对扭曲验证码识别率有限。正确做法是指令中写明:“遇到验证码弹窗时,截图并上传至<你的服务器URL>,等待人工输入后继续”。
4.3 安全与稳定性:生产环境必设的三道防线
- 敏感操作白名单:在
config.yaml中配置sensitive_actions: ["send_sms", "access_contacts", "make_payment"],所有涉及列表内动作的指令,强制暂停并等待人工确认。 - 超时熔断机制:每次
agent.run()必须设置timeout参数(建议120-300秒),避免某一步卡死导致整条流水线挂起。 - 失败自动重试:对非敏感步骤(如打开APP、截图),可在代码中封装
try-except+time.sleep(5)+重试逻辑,提升鲁棒性。
5. 总结:为什么AutoGLM-Phone是自动化办公的下一个拐点?
回顾整个实践,AutoGLM-Phone带来的改变不是“多了一个工具”,而是重构了人机协作的范式:
- 它把“写脚本”的门槛,降到了“说人话”的程度。市场专员不用学Python,也能让手机自动抓取竞品小红书笔记;HR不用懂XPath,也能一键同步百人组织架构。
- 它用视觉理解替代了脆弱的坐标点击。APP升级改版?界面元素位置变动?对AutoGLM-Phone来说只是“换了个样子”,核心逻辑完全不变。
- 它把AI从“回答者”变成了“执行者”。不再满足于告诉你“怎么操作”,而是直接替你点、滑、输、发——这才是真正意义上的“智能助理”。
当然,它并非万能:目前对强反爬网站(如部分银行APP)、极端低分辨率截图、或需要生物识别的场景,仍需人工介入。但它的进化速度极快——开源社区已贡献了OCR增强、多步动作缓存、离线轻量模型等补丁。
如果你正被重复性手机操作困扰,或者想为团队打造一个“永不疲倦的数字员工”,AutoGLM-Phone值得你花一个下午部署验证。真正的自动化,不该是让人类去适应机器,而是让机器学会理解人类的语言与意图。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。