AutomaPhoneAI 是一个基于 Golang 和 React 构建的 Android 设备群控与投屏管理系统。它利用 ADB 和 Scrcpy 技术,实现了对 Android 设备的远程控制、屏幕镜像、文件管理等功能。
- 多设备管理:同时连接和管理多台 Android 设备。
- 实时投屏:基于 WebCodecs 和 WebSocket 的低延迟屏幕镜像(H.264/HEVC)。
- 远程控制:支持通过网页进行点击、滑动、输入等操作。
- 无线连接:支持通过 TCP/IP (ADB connect) 无线连接设备。
- 应用管理:快速启动、停止应用。
- 文件管理:(规划中) 文件上传与下载。
本项目不仅仅是一个远程控制工具,其核心在于结合了多个大语言/视觉模型(如 AutoGLM-Phone 和 GLM-4.7/DeepSeek),实现像真人一样智能操作手机:
- 视觉与基础操作 (AutoGLM-Phone): 负责解析屏幕(SoM)、查找UI元素、执行点击/滑动,并识别应用内的上下文(如“这是一个AI视频”)。
- 文本大脑 (高阶LLM): 当 AutoGLM-Phone 判断需要进阶文本交互时,会自动产生
smart_reply或smart_comment操作。后端(Go Server)会拦截此操作,带着上下文向高阶文本大模型(如 GLM-4.7 等)请求具有人设和温度的具体文案,最后代为敲码发送。 - 这种主从解耦的**“动作拦截”架构**保证了快速的操作响应速度,又丝滑接入了最强的文本生成能力,从而胜任微信聊天、抖音评论等需要“高情商”和长上下文记忆的业务场景。
- 后端: Golang, Fiber, GORM, ADB (gadb), Go-Redis
- 前端: React, TypeScript, Vite, TailwindCSS, Radix UI
- 大语言模型驱动 (Agent): CloudWeGo/Eino 框架
- 视频流: FFmpeg, WebCodecs, MSE
- 底层: ADB (Android Debug Bridge), Scrcpy Server
在运行本项目之前,请确保您的环境已安装以下依赖:
- Golang (1.24+)
- Node.js (20+) & pnpm
- ADB Tools: 确保
adb命令在您的系统 PATH 中。 - FFmpeg:
- 请参考
bin/README.md下载对应系统的 FFmpeg 二进制文件并放入bin/目录。
- 请参考
- Scrcpy Server:
- 项目依赖
scrcpy-server。请确保scrcpy-server-v3.3.4文件存在于项目根目录或配置指定的路径下(通常与main同级或在bin中,具体视配置而定)。
- 项目依赖
git clone https://github.com/chenxi2015/AutomaPhoneAI.git
cd AutomaPhoneAI下载依赖:
go mod download运行服务:
# 默认运行在 dev 环境,端口 8080
go run cmd/server/main.go
# 指定环境和端口
go run cmd/server/main.go -e prod -p 8088进入 web 目录:
cd web安装依赖:
pnpm install启动开发服务器:
pnpm dev前端服务通常运行在 http://localhost:5173。
配置文件位于 configs/ 目录下:
config.dev.yaml: 开发环境配置config.test.yaml: 测试环境配置config.prod.yaml: 生产环境配置
您可以根据需要在对应的配置文件中修改数据库连接、端口、第三方服务密钥等信息。
cmd/: 项目入口文件。configs/: 配置文件。internal/: 内部业务逻辑代码。pkg/: 通用工具包和库封装。web/: 前端 React 项目代码。bin/: 存放外部二进制文件(如 FFmpeg)。