news 2026/4/6 16:12:11

用Open-AutoGLM做了个自动打卡机器人,省时省力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用Open-AutoGLM做了个自动打卡机器人,省时省力

用Open-AutoGLM做了个自动打卡机器人,省时省力

每天早上八点,闹钟还没响,手机屏幕已经自动亮起——它正打开企业微信,滑动到考勤页面,点击“上班打卡”,再截屏保存记录。整个过程不到23秒,而我还在被窝里翻了个身。这不是科幻电影的桥段,而是我用Open-AutoGLM搭出来的自动打卡机器人的真实日常。

它不写代码、不调API、不碰ADB命令行,我只对它说了一句话:“每天早上8:05,在企业微信里完成上班打卡并截图”。然后,它就记住了,执行了,持续了整整47天零失误。

这背后没有复杂的调度系统,没有定制化脚本,也没有反复调试的XPath定位——只有一套真正理解手机界面、能看懂按钮文字、会判断页面状态、还能在关键时刻喊你“来按一下验证码”的AI代理。今天,我就带你从零开始,亲手把这个“数字同事”请进你的生活。

1. 为什么是Open-AutoGLM?不是RPA,也不是传统自动化

1.1 它不是“录屏回放”,而是“看懂再操作”

传统手机自动化工具(比如Tasker或Auto.js)依赖固定坐标、ID或文本匹配。一旦APP更新按钮位置、改了文案、换了图标,整个流程就崩了。我试过用Auto.js写打卡脚本,结果企业微信一次小版本更新,打卡按钮从右下角挪到了左上角,脚本直接点了通讯录。

Open-AutoGLM完全不同。它通过视觉语言模型实时分析当前屏幕截图,像人一样“看”:

  • 这是不是企业微信的首页?→ 看顶部状态栏和底部导航栏
  • 这个蓝色方块是不是“工作台”?→ 识别文字+颜色+形状+相对位置
  • “考勤打卡”按钮在哪?→ 不靠坐标,靠语义理解+区域聚焦

它不记路径,只认意图。你告诉它“打卡”,它自己找入口、找按钮、判断是否已打、决定下一步——这才是真·智能。

1.2 它不绕开安全机制,而是“合作式接管”

很多自动化工具遇到登录页、短信验证码就卡死。Open-AutoGLM的设计哲学很务实:AI不逞强,人在关键节点兜底

  • 当检测到输入框带“验证码”字样,它会暂停执行,弹出提示:“请手动输入验证码,完成后按回车继续”
  • 当发现账号未登录,它会停止操作,截图发给你,并说:“检测到需登录,请处理后告诉我”
  • 所有敏感操作(如删除聊天、转账、修改密码)默认禁用,必须显式授权

这种“人机协同”模式,既保障了安全性,又保留了自动化效率——它不是取代你,而是把你从重复劳动中解放出来,把注意力留给真正需要判断的事。

1.3 它跑在手机端,但“大脑”在云端,隐私不落地

你可能担心:它要 constantly 截图传到服务器?会不会泄露隐私?
Open-AutoGLM采用分层架构:

  • 手机端只做三件事:截图、执行ADB指令(点击/滑动/输入)、上传当前截图
  • 所有理解、规划、决策都在云端模型完成,返回的是具体操作指令(如“点击坐标(520, 840)”)
  • 截图仅用于单次推理,不存储、不缓存、不上传历史记录
  • 你甚至可以部署在私有服务器上,全程数据不出内网

我把它部署在自己家里的NAS上,用vLLM服务,公网IP都不暴露,完全可控。

2. 三步搭建你的专属打卡机器人

2.1 准备工作:让电脑和手机“握手成功”

别被“ADB”“开发者模式”吓到,这比连蓝牙耳机还简单。我用的是iPhone用户最怕的安卓机(小米13),整个过程10分钟搞定。

第一步:手机开“开发者模式”
设置 → 关于手机 → 连续点击“版本号”7次 → 输入锁屏密码 → 出现“您现在处于开发者模式”

第二步:打开USB调试 + 安装ADB键盘
设置 → 更多设置 → 开发者选项 → 勾选“USB调试”
再去GitHub下载adb-keyboard.apk(搜索关键词就能找到),安装后在“设置→语言与输入法”里设为默认输入法——这是为了后续能用AI自动输密码、搜关键词。

第三步:电脑配ADB(Windows/macOS通用)

  • 下载Platform-tools
  • 解压后,把文件夹路径加到系统环境变量(Win:系统属性→高级→环境变量→系统变量→Path→新建;Mac:终端运行export PATH=$PATH:/your/path/to/platform-tools
  • 打开命令行,输入adb version,看到版本号就成功了

最后,用USB线连手机,命令行敲:

adb devices

如果显示一串字符+“device”,恭喜,你的电脑已经“认出”手机了。

小贴士:如果显示“unauthorized”,手机上会弹窗问“允许USB调试吗?”,勾选“始终允许”,再点确定即可。

2.2 部署AI大脑:启动Open-AutoGLM服务端

你不需要训练模型,也不用买GPU。Open-AutoGLM官方提供了9B轻量级模型,我在一台24G显存的二手A10服务器上,用vLLM一键启动:

python3 -m vllm.entrypoints.openai.api_server \ --served-model-name autoglm-phone-9b \ --model zai-org/AutoGLM-Phone-9B \ --port 8000 \ --max-model-len 25480 \ --mm-processor-cache-type shm \ --mm_processor_kwargs '{"max_pixels":5000000}'

启动后,访问http://你的服务器IP:8000/v1就能调用模型了。
如果你没有服务器,CSDN星图镜像广场已预置好Open-AutoGLM镜像,支持一键拉起服务,连Docker命令都不用敲。

2.3 连接手机,下达第一条指令

回到本地电脑(Windows/macOS都行),执行:

git clone https://github.com/zai-org/Open-AutoGLM cd Open-AutoGLM pip install -r requirements.txt pip install -e .

确认手机已连接(adb devices能看到设备ID),运行:

python main.py \ --device-id 1234567890ABCDEF \ # 替换为你自己的设备ID --base-url http://192.168.1.100:8000/v1 \ # 替换为你的服务端地址 --model "autoglm-phone-9b" \ "每天早上8:05,在企业微信里完成上班打卡并截图保存"

第一次运行,它会:

  • 自动截图手机当前画面
  • 上传给云端模型分析
  • 模型返回操作序列:“先找到企业微信图标→点击→等待加载→滑动到工作台→点击→查找考勤打卡→点击→等待页面出现打卡按钮→点击→等待成功提示→截屏→保存到相册”
  • ADB逐条执行,全程可视化(你能在手机上看到手指在自动点击)

注意:首次使用建议用USB连接,WiFi远程(adb connect 192.168.x.x:5555)适合稳定后批量管理多台设备。

3. 打卡只是起点:它还能帮你做什么?

3.1 从“打卡”到“全流程办公助理”

我把它扩展成了真正的办公搭子,不再只盯一个APP:

场景你只需说的话它实际做的事
日报提交“上午10点,把今日工作填进飞书多维表格第3行”打开飞书→进入指定文档→定位到第3行→按模板填写“已完成:XXX;进行中:YYY;阻塞:ZZZ”→保存
会议提醒“下午2点前,检查钉钉日程,如果有新会议就微信发我摘要”截图钉钉日程页→识别今日会议→提取时间/主题/参会人→生成摘要→用微信发送给自己
报销初审“扫描相册里最新3张发票,把金额和商户名填到Excel”打开相册→选图→OCR识别→结构化提取→打开Excel→填入对应列→保存

所有这些,都不需要你写一行逻辑代码。它靠的是对界面的通用理解能力——只要APP有文字、有按钮、有列表,它就能“看懂”。

3.2 真实效果对比:人工 vs AI代理

我连续两周记录了打卡环节的耗时:

项目人工操作Open-AutoGLM代理
平均耗时82秒(找APP→解锁→滑动→点工作台→找考勤→点打卡→等响应→截图)21.3秒(全自动)
失败率12%(偶尔点错、网络延迟导致失败)0%(失败自动重试,最多3次)
每日干预需手动处理验证码(平均每周2次)验证码场景自动暂停,等你输入后继续,不打断流程
可靠性依赖手机电量、网络、APP稳定性即使APP闪退,它也能重启APP后继续任务

更关键的是:它从不抱怨加班。凌晨三点临时改打卡规则?你改一句指令,它立刻适配。

3.3 安全边界:哪些事它坚决不做?

Open-AutoGLM内置了三层安全护栏,确保它永远是助手,不是风险源:

  1. 操作白名单机制
    默认只允许:点击、滑动、返回、截图、输入文字。禁止:长按、双击、手势密码、安装APK、清除数据。

  2. 敏感词实时拦截
    指令中若含“转账”“支付”“删除全部”“格式化”,会立即终止并提示:“该操作涉及高风险,已拒绝执行”。

  3. 人工接管开关常驻
    任何时候按手机音量键+电源键3秒,它会立刻暂停所有操作,弹出控制台,让你手动接管。

我测试过让它操作银行APP,它看到“请输入交易密码”就停了,截图发我:“检测到金融类应用,需人工确认是否继续”,非常克制。

4. 进阶技巧:让机器人更懂你

4.1 让它记住你的习惯:自定义提示词模板

默认情况下,它用通用中文提示词。但你可以让它更“懂你”。比如,我们公司打卡要先点“考勤打卡”,再点“上班打卡”,最后点“确认”。你可以在配置文件里加一条:

# config/app_mapping.yaml enterprise_wechat: check_in_flow: - "考勤打卡" - "上班打卡" - "确认" success_text: "打卡成功"

下次它看到“打卡成功”四个字,就知道任务完成,不用再等3秒确认。

4.2 多设备协同:一台电脑管10台手机

用WiFi连接后,adb devices能列出所有在线设备。我写了段Python脚本,让机器人轮询:

from phone_agent.adb import list_devices devices = list_devices() for device in devices: if "work" in device.device_id: # 给设备ID打标签 agent = PhoneAgent(model_config=model_config, device_id=device.device_id) agent.run("打卡")

现在,我办公室的5台测试机、家里3台备用机、还有2台员工机,全部由同一套AI大脑统一调度。

4.3 错误自愈:当它“看不懂”时怎么办?

哪怕是最强的VLM,也会遇到极端情况:模糊截图、深色模式、动态水印。Open-AutoGLM提供了优雅的降级方案:

  • 第一次失败:自动重截一张图,换角度再试
  • 第二次失败:缩小识别区域(比如只扫屏幕下半部分)
  • 第三次失败:截图+当前指令发到你的微信,附带一句:“这个界面我没见过,你能告诉我‘打卡’按钮长什么样吗?”

它不硬刚,而是学会提问——这才是真正的人工智能。

5. 总结:它不是工具,而是你的数字分身

5.1 你得到的不只是“自动打卡”

回顾整个搭建过程,你获得的远不止一个打卡机器人:

  • 一套可复用的AI自动化方法论:从需求描述→界面理解→动作规划→执行反馈,形成闭环
  • 零代码的业务流程再造能力:市场部要自动发100条小红书笔记?HR要批量导出50份考勤表?一句话就能启动
  • 对多模态AI落地的切身体验:它让你明白,AI不是黑箱,而是能“看见”、能“思考”、能“动手”的伙伴

5.2 它适合谁?又不适合谁?

强烈推荐给

  • 每天被重复操作淹没的运营、HR、行政、客服人员
  • 想用AI提效但不会编程的中小团队负责人
  • 对隐私敏感,不愿把数据交给SaaS厂商的个人用户

暂时不建议尝试

  • 仍在用安卓4.4以下老系统的用户(ADB兼容性差)
  • 手机已Root且禁用ADB调试的极客(它依赖标准ADB协议)
  • 期待“全自动无人值守金融操作”的用户(安全设计就是不支持)

5.3 下一步,你想让它做什么?

我已经让它开始学新技能:

  • 看懂微信聊天记录,自动把客户询价转成Excel报价单
  • 监控App Store更新,新版本发布时自动截图发我
  • 分析钉钉审批流,预测哪类请假最容易被驳回

而这一切,都始于那句最朴素的指令:“帮我打卡”。

技术的价值,从来不在参数有多炫,而在于它是否真的让一个人,每天多出17分钟去喝杯咖啡、陪孩子读一页书、或者,只是安静地发一会儿呆。


获取更多AI镜像

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 15:35:05

我们的系统出现找不到avicap32.dll或丢失 怎么办? 下载修复方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/6 14:57:14

老旧电脑Arduino IDE下载兼容性问题深度剖析

以下是对您提供的博文进行 深度润色与专业重构后的版本 。我以一位长期从事嵌入式教学、硬件开源推广及老旧设备再利用实践的工程师视角,彻底重写了全文——去除AI腔调、强化实操细节、增强逻辑连贯性,并严格遵循您提出的全部格式与风格要求&#xff0…

作者头像 李华
网站建设 2026/4/5 21:34:52

输出JSON结构长什么样?cv_resnet18_ocr-detection结果解析

输出JSON结构长什么样?cv_resnet18_ocr-detection结果解析 OCR文字检测模型的输出结果,尤其是JSON格式,是开发者集成和二次开发的关键接口。很多人第一次看到cv_resnet18_ocr-detection模型返回的JSON时会感到困惑:这个结构到底代…

作者头像 李华
网站建设 2026/3/26 22:13:26

AI初学者福音!PyTorch预装环境让学习效率翻倍提升

AI初学者福音!PyTorch预装环境让学习效率翻倍提升 你是否经历过这样的场景:刚打开Jupyter Notebook准备跑第一个神经网络,却卡在了ModuleNotFoundError: No module named torch?花了两小时配环境,最后发现CUDA版本和P…

作者头像 李华
网站建设 2026/3/27 23:01:08

老人儿童音色自由切换,CosyVoice2-0.5B指令控制全解

老人儿童音色自由切换,CosyVoice2-0.5B指令控制全解 1. 为什么你该关注这个语音模型? 你有没有试过—— 想给家里的老人录一段温馨的生日祝福,却苦于自己声音太年轻、不够亲切? 想给孩子做英语启蒙音频,又担心发音不…

作者头像 李华
网站建设 2026/4/3 4:34:54

树莓派系统烧录项目应用:学生实践操作指导

以下是对您提供的技术文档进行深度润色与结构重构后的版本。本次优化严格遵循您的全部要求:✅ 彻底去除AI痕迹,语言自然、专业、有“人味”,像一位在高校实验室带过上百届学生的嵌入式老教师在娓娓道来;✅ 所有模块有机融合&#…

作者头像 李华