Open-AutoGLM远程协作:团队共享设备控制权限方案

Open-AutoGLM远程协作:团队共享设备控制权限方案

1. Open-AutoGLM:智谱开源的手机端AI Agent框架

你有没有想过,让AI帮你操作手机?不是简单的语音助手,而是真正“看懂”屏幕、理解界面、自动点击滑动,像真人一样完成复杂任务。这不再是科幻——Open-AutoGLM正是这样一个由智谱(Zhipu AI)开源的手机端AI Agent框架,它把大模型的能力直接延伸到了你的安卓设备上。

这个项目的核心是AutoGLM-Phone,一个基于视觉语言模型(VLM)构建的智能助理系统。它能通过多模态方式感知手机屏幕内容,结合自然语言指令进行意图解析,并利用 ADB(Android Debug Bridge)自动执行操作流程。比如你只需要说一句:“打开小红书搜索美食推荐”,AI 就会自己启动App、输入关键词、浏览结果,甚至完成点赞或收藏动作。

而在此基础上,Phone Agent进一步强化了工程化能力,支持远程调试、人工接管机制和云端模型调用,使得整个系统不仅适合个人使用,更具备在团队协作中部署的潜力。尤其是在远程开发、自动化测试、跨地域设备管理等场景下,这套方案展现出极强的灵活性和实用性。

本文将重点介绍如何搭建一个可被多人共享访问的远程控制环境,实现团队成员对同一台测试机的协同操作与AI代理调度。


2. 实现原理与核心架构

2.1 多模态理解 + 自动化执行

Phone Agent 的工作流程可以分为四个关键步骤:

  1. 屏幕感知:每隔几秒截取一次手机屏幕图像,送入视觉语言模型进行分析。
  2. 意图理解:用户输入自然语言指令后,模型结合当前画面内容判断下一步该做什么。
  3. 动作规划:生成具体的操作序列,如“点击坐标(x, y)”、“输入文本”、“滑动”等。
  4. ADB 执行:通过 ADB 协议将这些操作发送到设备端执行。

整个过程无需 Root 权限,也不依赖特定厂商SDK,兼容绝大多数安卓7.0以上设备,包括真机和模拟器。

2.2 支持远程连接的关键设计

为了让多个开发者或测试人员能够同时接入并控制设备,系统做了以下优化:

  • WiFi ADB 模式:摆脱USB线束缚,设备只要在同一局域网内即可连接。
  • 云模型服务暴露接口:vLLM 部署的推理服务通过公网IP+端口映射对外提供/v1接口,本地控制端可通过--base-url参数指定目标地址。
  • ADB Keyboard 输入支持:解决远程环境下无法手动输入的问题,所有文字输入均由 ADB 命令完成。
  • 敏感操作确认机制:涉及支付、登录、删除等高风险行为时,系统会暂停并等待人工确认,避免误操作。

这意味着你可以把一台测试机放在办公室,人在家里也能通过网络让它自动跑脚本;或者让QA团队共用一组设备池,按需调用AI代理执行回归测试。


3. 客户端与真机连接(本地电脑配置)

要使用 Open-AutoGLM 实现远程协作,首先需要在本地电脑上配置好控制端环境。以下是详细步骤。

3.1 硬件与环境准备

确保满足以下条件:

  • 操作系统:Windows 或 macOS
  • Python 版本:建议 Python 3.10+
  • 安卓设备:Android 7.0 及以上版本的手机或模拟器
  • ADB 工具:必须安装并正确配置
ADB 安装与环境变量设置

Windows 用户

  1. 下载 Android SDK Platform Tools 并解压。
  2. Win + R输入sysdm.cpl→ “高级” → “环境变量”。
  3. 在“系统变量”中的Path添加 ADB 解压路径(例如C:\platform-tools)。
  4. 打开命令行,运行adb version,若显示版本号则说明配置成功。

macOS 用户

在终端中执行以下命令(假设文件解压至~/Downloads/platform-tools):

export PATH=${PATH}:~/Downloads/platform-tools

为永久生效,可将其写入.zshrc.bash_profile文件。


3.2 手机端设置

为了让电脑能控制手机,需开启开发者权限并安装专用输入法。

  1. 开启开发者模式
    进入「设置」→「关于手机」→ 连续点击“版本号”5~7次,直到提示已开启开发者选项。

  2. 启用 USB 调试
    返回设置主菜单 →「开发者选项」→ 开启“USB 调试”。

  3. 安装 ADB Keyboard

    • 下载 ADB Keyboard APK 并安装。
    • 进入「语言与输入法」→ 默认键盘 → 切换为 ADB Keyboard。
    • 后续所有文本输入都将通过 ADB 命令完成,无需手动打字。

4. 部署 Open-AutoGLM 控制端代码

现在我们开始部署本地控制程序。

4.1 克隆仓库并安装依赖

打开终端或命令行工具,执行:

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

注意:部分依赖可能需要编译,请确保已安装 Visual Studio Build Tools(Windows)或 Xcode Command Line Tools(macOS)。


5. 设备连接方式详解

有两种主流方式连接设备:USB 和 WiFi。推荐先用 USB 初始化,再切换为无线模式。

5.1 USB 连接方式

  1. 使用数据线将手机连接电脑。
  2. 手机弹出“允许USB调试?”提示时,点击“确定”。
  3. 在终端运行:
adb devices

输出应类似:

List of devices attached ABCDEF123456 device

表示设备已识别。


5.2 WiFi 远程连接方式(支持团队共享)

这是实现远程协作的核心环节。一旦配置完成,任何在同一网络下的成员都可以通过 IP 地址连接该设备。

步骤如下:
  1. 先用 USB 连接设备。
  2. 启用 ADB TCP/IP 模式:
adb tcpip 5555
  1. 断开 USB 数据线。
  2. 查找手机当前局域网 IP 地址(可在「设置 → WLAN → 当前网络详情」中查看),假设为192.168.1.105
  3. 执行连接命令:
adb connect 192.168.1.105:5555

连接成功后,再次运行adb devices应能看到设备以 IP 形式列出。

✅ 提示:若连接失败,请检查手机和电脑是否处于同一WiFi网络,并确认防火墙未拦截5555端口。


6. 启动 AI 代理并下发指令

一切就绪后,就可以启动 AI 代理来操控手机了。

6.1 命令行方式运行任务

在项目根目录下执行:

python main.py \ --device-id 192.168.1.105:5555 \ --base-url http://<你的云服务器公网IP>:8800/v1 \ --model "autoglm-phone-9b" \ "打开抖音搜索抖音号为:dycwo11nt61d 的博主并关注他!"

参数说明:

  • --device-id:设备标识,可用adb devices查看。支持物理ID或IP:端口格式。
  • --base-url:指向你部署的 vLLM 服务地址,确保端口已在云服务器开放(如8800)。
  • --model:指定使用的模型名称,需与服务端加载的一致。
  • 最后的字符串:你要下达的自然语言指令。

执行后,你会看到 AI 自动截图、分析界面、生成操作链,并逐步完成任务。过程中如有登录验证码或敏感操作,系统会暂停并提示人工介入。


6.2 使用 Python API 实现远程连接管理

除了命令行,你还可以在自己的脚本中集成连接逻辑,便于构建自动化平台。

from phone_agent.adb import ADBConnection, list_devices # 创建 ADB 连接管理器 conn = ADBConnection() # 连接到远程设备 success, message = conn.connect("192.168.1.105:5555") print(f"连接状态: {message}") # 列出所有已连接设备 devices = list_devices() for device in devices: print(f"{device.device_id} - {device.connection_type.value}") # (可选)从 USB 模式切换到 TCP/IP if not conn.is_wireless(): success, msg = conn.enable_tcpip(5555) ip = conn.get_device_ip() print(f"设备已启用无线调试,IP地址: {ip}") # 断开连接 conn.disconnect("192.168.1.105:5555")

这段代码可用于构建设备监控面板、任务调度系统或 CI/CD 流水线中的移动测试模块。


7. 团队协作中的权限管理与安全建议

虽然 Open-AutoGLM 功能强大,但在团队环境中使用仍需注意安全与权限控制。

7.1 共享设备的最佳实践

  • 固定设备池命名规则:如test-android-01,qa-pixel-7,方便识别用途。
  • 动态分配机制:开发一个轻量级 Web 页面展示设备状态(空闲/占用),避免冲突。
  • 操作日志记录:保存每条指令的执行时间、发起人、结果截图,便于追溯。

7.2 安全防护措施

  • 限制 ADB 端口暴露范围:不要将5555端口直接暴露在公网上,建议通过内网穿透或SSH隧道访问。
  • 启用密码认证(可选):某些定制ROM支持 ADB 密码验证,增强安全性。
  • 定期重启设备:长时间运行可能导致内存泄漏或卡顿,建议每日定时重启。
  • 关闭不必要的权限:禁止应用自启动、后台定位等非必要行为,减少干扰。

8. 常见问题排查指南

8.1 连接类问题

问题现象可能原因解决方法
adb devices无设备显示未开启USB调试 / 驱动异常重新开启USB调试,更换数据线或重装驱动
unauthorized状态未授权电脑调试手机端确认“允许USB调试”对话框
connection refusedADB未启用TCP模式先用USB执行adb tcpip 5555
连接后频繁断开WiFi信号不稳定改用有线连接,或优化路由器设置

8.2 模型与执行问题

问题现象可能原因解决方法
模型响应慢或超时显存不足 / max-model-len 设置过小检查 vLLM 启动参数,适当降低 batch size
操作错乱或无效点击屏幕分辨率适配问题确保模型训练时包含相似分辨率样本
文字输入失败ADB Keyboard 未设为默认输入法进入设置手动切换
敏感操作未暂停系统未识别高危场景检查内置规则库是否更新至最新版

9. 总结

Open-AutoGLM 不只是一个炫酷的AI手机助手,它更是一个可扩展、可远程、可协作的自动化平台。通过结合视觉语言模型与 ADB 控制能力,我们实现了真正的“自然语言驱动设备操作”。而在引入 WiFi 连接与云端模型服务后,这套系统已经具备了企业级应用的基础条件。

无论是用于:

  • 自动化测试脚本编写
  • 跨地区团队共用测试机资源
  • 批量账号运营(合规前提下)
  • 移动端用户体验研究

它都能显著提升效率,降低人力成本。

更重要的是,作为开源项目,Open-AutoGLM 鼓励社区贡献更多功能模块,比如多设备并行调度、Web可视化控制台、权限分级系统等。未来,它有望成为移动端AI自动化领域的标准基础设施之一。

如果你正在寻找一种高效、灵活、低成本的方式来管理和操作安卓设备,不妨试试 Open-AutoGLM —— 让AI替你“动手”。


获取更多AI镜像

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1194905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习YOLOv10的车辆行人检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv10深度学习框架&#xff0c;开发了一套高效精准的车辆行人联合检测系统&#xff0c;能够实时检测并区分场景中的行人&#xff08;person&#xff09;和车辆&#xff08;car&#xff09;两类目标。系统采用优化的YOLOv10网络结构&#xff0c…

TurboDiffusion日志查看技巧:webui_test.log错误排查实操手册

TurboDiffusion日志查看技巧&#xff1a;webui_test.log错误排查实操手册 1. 引言&#xff1a;为什么日志是TurboDiffusion排错的核心&#xff1f; 你有没有遇到过这种情况&#xff1a;点击“生成视频”&#xff0c;界面卡住不动&#xff0c;或者提示“生成失败”&#xff0c…

AutoGLM-Phone与Tasker对比:谁更适合自动化?实战评测

AutoGLM-Phone与Tasker对比&#xff1a;谁更适合自动化&#xff1f;实战评测 1. 引言&#xff1a;当AI遇上手机自动化 你有没有想过&#xff0c;有一天只要说一句“帮我订明天上午的高铁票”&#xff0c;手机就能自动打开12306、登录账号、选择车次并完成支付&#xff1f;这不…

马斯克兑现承诺,开源X推荐算法!100% AI驱动,0人工规则

马斯克兑现承诺&#xff0c;X平台全新推荐算法正式开源&#xff01;这套由Grok驱动的AI系统&#xff0c;完全取代了人工规则&#xff0c;通过15种行为预测精准计算每条帖子的命运。1月11日&#xff0c;马斯克在X平台上发了一条帖子&#xff0c;宣布将在7天内开源X平台全新的推荐…

从入门到精通:深入理解C++链接过程,终结undefined reference难题

第一章&#xff1a;undefined reference to 报错的本质与初识 当编译 C/C 程序时&#xff0c;出现 "undefined reference to" 错误是链接阶段最常见的问题之一。该错误并非来自编译器前端的语法检查&#xff0c;而是由链接器&#xff08;linker&#xff09;在尝试解析…

cv_unet_image-matting能否识别宠物?动物图像抠图实测

cv_unet_image-matting能否识别宠物&#xff1f;动物图像抠图实测 1. 引言&#xff1a;AI抠图也能搞定毛茸茸的宠物&#xff1f; 你有没有试过给自家猫咪或狗狗拍了张美照&#xff0c;想做成头像、贴纸或者电商主图&#xff0c;结果被复杂的毛发边缘搞得焦头烂额&#xff1f;…

SpringBoot项目里@AutoWired与@Resource区别?

大家好&#xff0c;我是锋哥。最近不少粉丝问锋哥SpringBoot项目里AutoWired与Resource区别&#xff1f;今天锋哥来总结下&#xff0c;大家可以参考。 2026年&#xff0c;锋哥又开始收Java学员了&#xff01; 在Spring Boot项目中&#xff0c;Autowired和Resource是两种用于依…

说说什么是Redis缓存击穿、缓存穿透、缓存雪崩?

大家好&#xff0c;我是锋哥。最近不少粉丝问锋哥什么是Redis缓存击穿、缓存穿透、缓存雪崩?今天锋哥来总结下&#xff0c;大家可以参考。2026年&#xff0c;锋哥又开始收Java学员了&#xff01;Redis作为高性能的键值存储解决方案&#xff0c;广泛应用于缓存机制中。然而&…

基于深度学习YOLOv10的道路交通信号检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv10目标检测算法开发了一套高效的道路交通信号检测系统&#xff0c;专门用于识别21类不同的道路交通标志和信号。系统在1376张训练图像、488张验证图像和229张测试图像组成的数据集上进行了训练和评估&#xff0c;能够准确检测包括停车标志、…

全网都在推 Claude Code,但只有这篇文章教你如何“真正”能用

身边有很多朋友都安装上Claude Code 这个 AI 神器了&#xff0c;但是总是没办法丝滑的使用&#xff0c;这篇文章就教大家如何一步一步的从安装到能正常使用。Claude Code 这个 AI 神器想必已经不用过多介绍了吧&#xff0c;但是身边有很多朋友都说安装上了&#xff0c;但是总是…

Z-Image-Turbo UI部署案例:Python启动服务+浏览器调用完整指南

Z-Image-Turbo UI部署案例&#xff1a;Python启动服务浏览器调用完整指南 Z-Image-Turbo_UI界面是一个简洁直观的图形化操作平台&#xff0c;专为图像生成任务设计。用户无需深入代码或命令行细节&#xff0c;即可通过可视化控件完成从参数设置到图像输出的全流程操作。界面布…

AI跑得太快,基础设施却拖后腿?可组合+自主式AI正在重塑企业底座

传统整体式基础设施已无法支撑自主式AI的规模化落地&#xff0c;成为企业AI扩展的最大瓶颈。未来的基础设施必须走向可组合化&#xff1a;将系统拆解为模块化组件&#xff0c;由AI智能体在云、边缘和本地之间实时编排与重构。 传统基础设施无法跟上AI的发展步伐&#xff0c;因此…

SpringBoot如何对接第三方系统?

大家好&#xff0c;我是力哥。 根据实际场景需求去选择需要的解决方案。 HTTP客户端选择方案&#xff1a;RestTemplate、Feign、WebClient。 同步方案&#xff1a;全量同步、增量同步、实时同步 三种核心方案。 一、HTTP客户端方案 Spring Boot 对接第三方接口有多种常用方…

面试官:多线程事务怎么回滚?说用@Transactional可以回去等通知了!

大家好&#xff0c;我是力哥。 最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败,则全部回滚&#xff1b; 在spring中可以使用Transact…

基于深度学习YOLOv10的铁路轨道缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv10目标检测算法&#xff0c;开发了一套高效、精准的铁路轨道缺陷智能检测系统&#xff0c;用于自动识别轨道表面的四种常见缺陷&#xff1a;裂纹&#xff08;Crack&#xff09;、断裂&#xff08;Putus&#xff09;、剥落&#xff08;Spall…

async Task方法返回null会发生什么?(C#异步编程避坑指南)

第一章&#xff1a;async Task方法返回null会发生什么&#xff1f; 在C#中&#xff0c;async Task 方法的设计初衷是表示一个将在未来完成的异步操作。然而&#xff0c;如果此类方法意外或故意返回 null&#xff0c;将会引发运行时异常&#xff0c;而非编译错误。这是因为 Task…

基于深度学习YOLOv10的钢铁腐蚀生锈检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于YOLOv10目标检测算法&#xff0c;开发了一套高精度的钢铁腐蚀生锈智能检测系统&#xff0c;专注于识别金属表面的腐蚀区域&#xff08;Corrosion&#xff09;。该系统在数据集上进行训练与优化&#xff0c;能够自动检测钢铁结构&#xff08;如桥…

Spring和SpringMVC为什么需要父子容器?

大家好&#xff0c;我是力哥。最近不少粉丝问力哥Spring和SpringMVC为什么需要父子容器&#xff1f;今天力哥来总结下&#xff0c;大家可以参考。 2026年&#xff0c;力哥又开始收Java学员了&#xff01; 在Spring框架中&#xff0c;父子容器的概念对于复杂应用的管理和模块…

Emotion2Vec+ Large部署卡顿?3步解决显存不足问题实战案例

Emotion2Vec Large部署卡顿&#xff1f;3步解决显存不足问题实战案例 1. 问题背景&#xff1a;语音情感识别系统为何启动缓慢&#xff1f; 你是不是也遇到过这种情况&#xff1a;刚部署完 Emotion2Vec Large 语音情感识别系统&#xff0c;满怀期待地打开 WebUI&#xff0c;结…

cv_resnet18_ocr-detection降本方案:低成本GPU部署节省60%

cv_resnet18_ocr-detection降本方案&#xff1a;低成本GPU部署节省60% 在OCR&#xff08;光学字符识别&#xff09;技术广泛应用的今天&#xff0c;企业对文字检测模型的部署成本越来越敏感。尤其是面对高精度需求时&#xff0c;动辄需要A100、V100等高端GPU资源&#xff0c;导…