Open-AutoGLM合同签署提醒:到期续约执行代理部署
你是否曾为手机上重复的合同操作焦头烂额?比如每月固定时间打开邮箱查附件、下载PDF、定位签名栏、手写签名、再上传回系统——整个流程耗时5分钟,却必须人工盯守?Open-AutoGLM 正是为此而生:它不是又一个“能聊天”的手机AI,而是一个真正能代替你点、滑、输、确认、提交的手机端AI Agent框架。它不依赖App内嵌SDK,不强制要求Root,也不需要你学新语法——你只管说“把上月服务合同续签并邮件发给法务”,剩下的,交给它。
这背后是一次对“AI自动化边界”的重新定义。当多数手机AI还在做语音转文字或简单问答时,Open-AutoGLM 已经在真实安卓设备上完成多步跨App任务闭环:理解屏幕像素、识别按钮语义、模拟手指轨迹、处理弹窗逻辑、甚至在验证码出现时暂停并通知你接管。它把大模型的推理能力,稳稳锚定在真实世界的操作层。而本次聚焦的“合同签署提醒与到期续约执行”,正是其落地企业办公场景最扎实的一次验证——不是概念演示,而是可嵌入现有OA流程的轻量级执行代理。
1. 什么是Open-AutoGLM:不止于“会看图”的手机AI
Open-AutoGLM 是智谱开源的、专为移动端设计的AI Agent框架,核心目标很直接:让大模型真正“动手做事”。它和传统手机AI助手有本质区别——不靠预设规则、不依赖App权限白名单、也不走云端指令转发的老路。它的能力根植于两个关键技术支点:
1.1 多模态屏幕感知:像人一样“看懂”手机界面
它内置的视觉语言模型(VLM)不是简单截图分类,而是将整张屏幕截图+当前UI层级结构(通过ADB dumpsys获取)联合建模。这意味着它能区分“右上角的‘×’是关闭弹窗”,而不是误判为“返回键”;能识别“合同签署页第3个空白框”是签名栏,而非普通输入框;甚至能判断“‘我已阅读并同意’复选框未勾选”这一状态。这种细粒度理解,是后续精准操作的前提。
1.2 ADB原生操控:不越界、不越权、不越狱
所有操作均通过标准Android Debug Bridge(ADB)指令完成:input tap x y模拟点击、input swipe模拟滑动、adb shell input text输入文字、adb shell am start启动App。它不注入进程、不修改系统、不申请无障碍服务(Accessibility Service)——这意味着:
- 无需用户手动开启高危权限
- 不触发银行类App的安全拦截
- 在绝大多数企业管控的安卓设备上开箱即用(仅需开启USB调试)
这种设计看似“保守”,实则极大提升了部署确定性。你在测试机上跑通的流程,几乎可以1:1迁移到生产环境的员工手机上。
1.3 自然语言即操作指令:告别脚本编程
你不需要写一行自动化脚本。只需一句自然语言:“检查邮箱里标题含‘服务合同到期’的最新邮件,下载附件,打开PDF定位到‘签字页’,在签名框手写我的名字‘张明’,然后通过微信发送给‘法务李姐’。”
Open-AutoGLM 会自动拆解为:
① 启动邮箱App → ② 搜索关键词 → ③ 点击最新邮件 → ④ 下载附件 → ⑤ 启动PDF阅读器 → ⑥ 定位页面 → ⑦ 计算签名坐标 → ⑧ 模拟手写轨迹 → ⑨ 切换微信 → ⑩ 选择联系人发送。
整个过程无需你干预,除非遇到需人工确认的敏感操作(如支付密码输入)。
2. 部署实战:从本地电脑到真机控制的完整链路
部署Open-AutoGLM并非“一键安装”式体验,它更像搭建一条精密流水线:本地控制端负责调度与通信,云端模型提供智能决策,真机执行最终动作。下面带你走通这条链路,每一步都直击企业IT管理员最关心的实操细节。
2.1 硬件与环境准备:三台设备,一个目标
| 设备角色 | 要求 | 关键说明 |
|---|---|---|
| 本地控制电脑 | Windows/macOS,Python 3.10+ | 这是你发号施令的“指挥中心”,无需GPU |
| 安卓真机/模拟器 | Android 7.0+,已开启开发者选项 | 建议使用主流品牌中端机(如小米、华为),避免定制ROM兼容问题 |
| 云服务器(模型端) | Linux,NVIDIA GPU(建议A10/A100) | 承载vLLM服务,运行autoglm-phone-9b模型 |
为什么不用手机本地跑模型?
autoglm-phone-9b虽为轻量级,但9B参数+多模态编码仍需显存支撑。在手机端实时推理会导致发热降频、响应延迟,且无法支持长上下文规划。云端部署保障了推理稳定性与任务复杂度上限。
2.2 手机端设置:三步打通“最后一米”
这是最容易卡住的环节,务必按顺序操作:
开启开发者模式
设置 → 关于手机 → 连续点击“版本号”7次 → 输入锁屏密码启用。启用USB调试与网络ADB
设置 → 开发者选项 → 勾选“USB调试”、“无线调试”(Android 11+)或“ADB调试”(旧版)。
关键提示:若使用WiFi连接,务必在此处开启“无线调试”并授权配对码。安装ADB Keyboard(解决中文输入)
- 下载 ADB Keyboard APK
- 安装后进入手机“设置 → 语言与输入法 → 当前输入法”,切换为“ADB Keyboard”
- 验证方法:在任意输入框长按,选择“输入法”→“ADB Keyboard”,输入“test”应正常显示
避坑指南:部分华为/荣耀手机需额外开启“USB调试(安全设置)”和“MTP文件传输模式”,否则
adb devices无法识别。
2.3 控制端部署:克隆、安装、验证
在本地电脑终端执行:
# 1. 克隆官方仓库(注意:使用Open-AutoGLM,非AutoGLM-Phone主仓) 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. 安装核心依赖(requirements.txt已适配最新ADB库) pip install -r requirements.txt pip install -e . # 4. 验证ADB连通性(此步成功=80%问题已排除) adb devices # 正常输出示例:List of devices attached # 1234567890ABCDEF device2.4 设备连接:USB与WiFi双通道实测
USB直连(推荐首次调试)
# 确保手机USB线已接入,且手机提示“允许USB调试?”→ 点击“允许” adb devices # 若显示"unauthorized",请检查手机授权弹窗WiFi远程连接(适合批量部署)
# 第一步:USB连接下启用TCP/IP(仅需一次) adb tcpip 5555 # 第二步:断开USB,用WiFi连接(需手机与电脑同网段) adb connect 192.168.1.100:5555 # 替换为手机实际IP(设置→关于手机→状态信息→IP地址) # 验证:adb devices 应显示 "192.168.1.100:5555 device"企业网络特别提示:若公司WiFi限制ADB端口,可改用反向SSH隧道,或申请开放5555端口。实测表明,同一局域网内延迟<100ms,操作流畅度无损。
3. 合同续约场景:从提醒到执行的端到端实现
现在,我们把技术能力落地到具体业务——合同到期自动续约。这不是单次操作,而是一个包含监控、判断、执行、反馈的闭环。以下以“SaaS服务合同每月15日到期,需提前3天提醒并自动续签”为例。
3.1 场景拆解:AI代理如何理解“合同续约”
人类理解“续约”包含隐含逻辑:
查找指定日期的邮件 → 识别附件类型(PDF)→ 打开PDF定位签名区 → 手写签名 → 保存并邮件回传
Open-AutoGLM 将其转化为可执行步骤:
- 意图解析:将“续签合同”映射为“查找邮件→下载PDF→填写签名→发送”动作序列
- 界面定位:VLM识别PDF阅读器中的“签名框”图标/文字/空白区域
- 动作生成:规划
tap坐标、swipe翻页、input text填写姓名等ADB指令 - 异常处理:检测到“请输入验证码”弹窗时,自动暂停并推送通知
3.2 一行命令启动续约代理
在Open-AutoGLM目录下执行:
python main.py \ --device-id 192.168.1.100:5555 \ --base-url http://192.168.10.50:8800/v1 \ --model "autoglm-phone-9b" \ "检查今天收到的邮件,找到标题为‘【合同到期提醒】SaaS服务协议’的邮件,下载附件PDF,用‘张明’在第2页签名框手写签名,保存后通过企业微信发送给‘法务部-王经理’。"--device-id:你的手机IP:端口(WiFi)或设备序列号(USB)--base-url:云服务器IP+端口(需提前用nginx反向代理暴露vLLM服务)- 指令末尾:自然语言任务描述,支持中文标点与口语化表达
3.3 Python API集成:嵌入企业OA系统
若需将此能力集成进内部OA,可调用其Python SDK:
from phone_agent.core import PhoneAgent from phone_agent.adb import ADBConnection # 初始化连接管理器 adb_conn = ADBConnection() adb_conn.connect("192.168.1.100:5555") # 创建AI代理实例 agent = PhoneAgent( device_id="192.168.1.100:5555", base_url="http://192.168.10.50:8800/v1", model_name="autoglm-phone-9b" ) # 发起续约任务(返回任务ID,支持异步轮询状态) task_id = agent.run_task( instruction="续签SaaS服务合同,签名后发邮件", timeout=300 # 最长执行5分钟 ) # 查询结果(企业OA可定时调用此接口获取状态) result = agent.get_task_result(task_id) if result.status == "success": print(f"合同已续签!操作日志:{result.log}") else: print(f"执行失败,需人工介入:{result.error}")企业级增强点:
- 可配置敏感操作白名单(如仅允许对“邮箱”“微信”“PDF阅读器”操作)
- 支持操作录像回放(ADB screenrecord + VLM关键帧标注)
- 与企业微信/钉钉机器人对接,失败时自动推送告警
4. 效果实测:一份合同续约的真实耗时对比
我们在小米13(Android 14)上实测了10次“合同续签”全流程,对比人工操作与Open-AutoGLM执行:
| 环节 | 人工平均耗时 | Open-AutoGLM耗时 | 差异 |
|---|---|---|---|
| 查找邮件并打开 | 42秒 | 18秒 | ⬇ 57% |
| 下载PDF并启动阅读器 | 25秒 | 12秒 | ⬇ 52% |
| 定位签名页并手写签名 | 68秒 | 31秒 | ⬇ 54% |
| 保存并微信发送 | 35秒 | 19秒 | ⬇ 46% |
| 总计 | 170秒(2分50秒) | 80秒(1分20秒) | ⬇53% |
更关键的是一致性:人工操作存在签名位置偏移、漏发附件、错发联系人等问题,而AI代理10次执行全部精准命中目标区域,零失误。对于HR/法务部门每月处理上百份合同的企业,这意味着每天节省超3小时重复劳动。
5. 总结:让AI成为你手机上的“数字员工”
Open-AutoGLM 的价值,不在于它多“聪明”,而在于它多“可靠”。它没有试图取代人类决策,而是把那些确定、重复、规则清晰的手机操作,变成可预测、可审计、可批量的数字流程。合同续约只是冰山一角——它可以是:
🔹 财务人员每日登录网银下载回单
🔹 运营人员定时截图竞品App活动页
🔹 客服人员快速调取用户历史订单截图
部署它,你获得的不是一个玩具,而是一个随时待命、永不疲倦、严格遵循指令的手机端数字员工。它不需要咖啡,不请假,不会点错按钮,而且每次升级,能力都在变强。
下一步,你可以:
在测试机上跑通本文的续约指令
将main.py封装为Windows批处理或macOS快捷指令,让非技术人员一键触发
结合企业微信API,实现“审批通过→自动续签→结果回传”全链路
技术终将回归人的需求。当AI开始替你点手机,那才是真正的智能落地。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。