Skip to content

架构

两种安装模式共享全部上层代码,差异仅在权限层。通过 PrivilegeBackend 接口隔离。

双 Backend

SystemBackendRemoteBackend
权限来源平台签名(uid system)ADB shell(uid 2000)
输入注入InputManager 反射AIDL 代理到 PrivilegedService
截屏SurfaceControl.screenshot()ImageReader 从 VD Surface 读取
VD 任务管理ActivityTaskManager 反射PrivilegedService 代理

运行时根据检测到的权限级别自动选择 Backend。

Agent 循环

┌──────────────────────────────────────────┐
│                                          │
│   观察(截图 + 无障碍树)                 │
│        ↓                                 │
│   思考(LLM)                             │
│        ↓                                 │
│   执行(点击 / 输入 / 滑动 / 打开 / …)  │
│        ↓                                 │
│   重复直到完成或失败                      │
│                                          │
└──────────────────────────────────────────┘

循环持续运行,直到 LLM 返回 finish(任务完成)或 fail(无法完成)。