不需要Root,不需要装App,浏览器+视觉模型就能自动化Android
这个项目发布没多久,Star 数还在 30 出头,但做的事挺有意思——用浏览器直接控制 Android 手机,中间靠视觉大模型来理解屏幕、决定下一步操作。它的重点不是在手机上再装一个控制 App,而是用 WebUSB/WebADB 接上已经开启 USB 调试的设备;模型接口可以走本地,也可以走云端 OpenAI 兼容 API。
01
它到底在做什么
WebDroid-Agent 把三件事串在了一起:WebUSB 连手机、视觉模型看屏幕、ADB 发指令。你用 Chrome 或 Edge 打开页面,插上数据线,手机开启 USB 调试并授权,然后在聊天框里输入「打开设置,进入 Wi-Fi 页面」,剩下的交给模型。它截图 → 发给模型 → 模型返回一个 JSON 动作 → 前端解析并通过 ADB 执行 → 再截图 → 循环,直到任务完成或达到步数上限。
链路示意:
Chromium WebUSB -> Tango/WebADB -> Android ADB
静态部署: 浏览器 fetch -> OpenAI 兼容 /v1/chat/completions -> 视觉模型
Docker: 浏览器 fetch -> 同源本地代理 -> OpenAI 兼容 API -> 视觉模型02
动作协议长什么样
模型每一步只需要返回一个 JSON,不带任何解释文本:
{ "action": "tap", "x": 540, "y": 1280, "reason": "点击搜索框" }
{ "action": "swipe", "fromX": 540, "fromY": 1700, "toX": 540, "toY": 500, "durationMs": 400, "reason": "向下滚动" }
{ "action": "take_over", "message": "需要用户输入验证码" }
支持的动作包括:launch(启动 App)、tap、swipe、input_text、long_press、double_tap、key、wait,以及 take_over(请求人工接管)、done(任务完成)等。解析器同时兼容 Open-AutoGLM 风格的动作输出,两种格式都认。
03
两种部署方式的区别
静态部署最简单,npm install && npm run dev 跑起来就行,浏览器直接请求你填的模型 API。这里有一个坑:静态部署时,你的模型 API 必须允许浏览器跨域请求(CORS),否则请求会被拦截。
Docker 部署多一个本地 Node 代理层,浏览器请求打到同源地址,容器再转发给模型 API,CORS 问题消失。但注意不要把这个代理暴露到公网,因为它会转发任意填入的 API 地址。
# Docker 快速启动
npm run docker:build
docker run --rm -p 8080:8080 webdroid-agent
# 然后用 Chrome/Edge 打开 http://localhost:8080
04
安全边界在哪里
项目在执行前做了几层约束:模型输出必须能解析成受支持的动作类型;坐标会校验是否在屏幕范围内;文本输入限制长度并拒绝控制字符;自动执行有最大步数上限(默认 50 步);敏感动作可以要求人工确认才执行。
但这些约束是技术层面的,不是业务层面的。项目自己也明确说了,不建议用于支付、下单、授权、验证码、账号设置这类高风险操作——模型可能误判,出了事没有回滚机制。把它定位成本地实验和原型验证工具更合适。
05
上手门槛
硬性要求有几个:必须用 Chromium 系浏览器(Chrome 或 Edge),Firefox 不支持 WebUSB;Android 设备要开 USB 调试,数据线要能传数据不能只充电;需要一个支持 image_url 输入的 OpenAI 兼容视觉模型 API,本地跑 Ollama 或用云端接口都行。
输入中文时,如果用默认的 ADB 文本输入方式可能有问题,需要在设备上安装并启用 ADB Keyboard(com.android.adbkeyboard/.AdbIME)才能正常处理中文和特殊字符。
06
适合谁用
想验证某个视觉模型能不能真正理解手机界面的,想调试手机 Agent 动作协议和坐标映射的,或者想快速搭一个「模型控手机」原型看看效果的——这个项目可以直接拿来用。不需要从零实现 WebUSB 连接和 ADB 指令层,核心链路已经打通,专注在模型和任务设计上就行。
对需要稳定长期运行、多设备调度或生产级别可靠性的场景,它目前还不够格,作者自己也没有这个定位。
项目本身的代码结构比较清晰,TypeScript 写的,用 React + Vite,有完整的单元测试覆盖动作解析、坐标映射和 Agent 循环这几个核心模块。感兴趣的话去 GitHub 看看,给个 Star 支持一下作者。你在用视觉模型做手机自动化有遇到什么有意思的坑,欢迎留言聊聊。
github开源地址




发表评论取消回复