44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# 手机 GUI Agent 自动操控
|
||
|
||
## 架构
|
||
|
||
七层管线闭环:截屏 → 理解 → 定位 → 规划 → 执行 → 验证 → 循环
|
||
|
||
```
|
||
src/
|
||
├── capture/ # L1 - ADB/scrcpy 截屏
|
||
├── vision/ # L2 - VLM 屏幕理解
|
||
├── grounding/ # L3 - 元素定位(自然语言→坐标)
|
||
├── planner/ # L4 - 任务规划与分解
|
||
├── executor/ # L5 - ADB 动作执行
|
||
└── verifier/ # L6+L7 - 验证纠错 + 状态记忆
|
||
```
|
||
|
||
## 启动
|
||
|
||
- `python -m src.main` — 主服务,端口 4380
|
||
- `python scripts/test_device.py` — 测试 ADB 连接
|
||
|
||
## 技术栈
|
||
|
||
- Python 3.11+
|
||
- ADB + scrcpy(截屏与操控)
|
||
- Qwen2.5-VL / UI-TARS-1.5(视觉理解)
|
||
- FastAPI(Web 控制台)
|
||
- Poe API / OpenRouter(LLM 调用,按用户偏好)
|
||
|
||
## 环境变量
|
||
|
||
- `DEVICE_SERIAL` — Android 设备序列号(adb devices 查看)
|
||
- `VLM_PROVIDER` — vlm 提供者:`local` / `poe` / `openrouter`
|
||
- `VLM_MODEL` — 模型名,默认 `Qwen/Qwen2.5-VL-7B-Instruct`
|
||
- `POE_API_KEY` — Poe API Key(VLM_PROVIDER=poe 时必填)
|
||
- `OPENROUTER_API_KEY` — OpenRouter Key(备用)
|
||
|
||
## 规则
|
||
|
||
- 截屏用 adb exec-out screencap,不用 scrcpy 录屏流(省资源)
|
||
- 动作执行后必须等待 + 重新截屏验证
|
||
- 所有截屏保存到 `data/screenshots/` 供调试
|
||
- 坐标系统统一为百分比 (0-1),执行时再转设备像素
|