突破数据孤岛:基于 Lite Agent 远程控制台的真机 App 自动化架构与实战
作者:Lite Agent 团队
归档日期:2026-10-18
分类:系统架构 / 移动端自动化 / AI Agent 落地实践
一、背景与挑战:从“API 集成”到“物理端触达”
在构建个人专属智能助理与企业级 AI Agent 的过程中,我们不可避免地会遇到大量**“围墙花园”式的数据孤岛**:
- 诸如外卖、电商(如京东、淘宝)、即时配送等高频生活服务应用,几乎不对个人开发者提供完备开放的 OpenAPI;
- 移动端 App 普遍部署了严格的反爬风控与动态签名校验,使得常规逆向 HTTP 调用的维护成本极高且极易失效;
- 传统的端侧自动化(如 Appium、UIAutomator2)通常要求沉重的测试环境侵入,缺乏统一的多机调度中枢与严格的安全审核防线。
为了解决这一问题,Lite Agent 在最新架构中推出了 Phone App 移动自动化执行体系。用户无需触碰物理设备,只需在 Web 控制台下达目标,即可驱动远端真机(如 OnePlus 9)安全、平稳地完成 App 内搜索、筛选与结构化数据采集,并全量回流至中枢统一决策。
二、系统总体架构:云端中枢与端侧执行体的解耦
Lite Agent 采用“云端中枢管控 + 本地边缘执行”的分离式拓扑结构,兼顾了公网访问的便利性与物理设备直连的低延迟要求。
┌────────────────────────────────────────────────────────┐
│ 用户 / 管理员 (Web 浏览器) │
└───────────────────────────┬────────────────────────────┘
│ 1. 提交关键词 / 审批 DSL 脚本
▼
┌────────────────────────────────────────────────────────┐
│ Lite Agent Web Dashboard 控制台 │
└───────────────────────────┬────────────────────────────┘
│ 2. HTTPS REST API (Token 鉴权)
▼
┌────────────────────────────────────────────────────────┐
│ Lite Agent 云端中枢 (Hub / VPS1) │
│ - 任务审批与规范化哈希鉴权 (Canonical Hash) │
│ - 租约锁与状态机 (CAS 原子竞争保护) │
│ - 批次 / 子任务持久化与事件审计数据库 (SQLite) │
└───────────────────────────┬────────────────────────────┘
│ 3. 轮询认领租约 (Task Lease)
▼
┌────────────────────────────────────────────────────────┐
│ 本地边缘执行端 (Mac Worker Client) │
│ - 长链接心跳保活与单调时钟守护 (Deadline 预算) │
│ - 任务驱动适配器 (HandsetsDriver) │
└───────────────────────────┬────────────────────────────┘
│ 4. 本地高速 Socket 通信
▼
┌────────────────────────────────────────────────────────┐
│ Android 调试守护进程 (hs daemon :9008) │
│ - 原生无障碍通道 (Accessibility) 原子注入 │
│ - 屏幕高保真 UI 树与 XML 结构化导出 │
└───────────────────────────┬────────────────────────────┘
│ 5. USB / ADB 直连驱动
▼
┌────────────────────────────────────────────────────────┐
│ 真实物理手机 (OnePlus 9 / Android 14) │
│ - 瞬时呼出搜索栏、原子注入关键词并提交 │
│ - 提取高保真商品卡片 (标题、标价、销量) │
│ - 任务完成后全自动执行 restore_ready 复位返回首页 │
└────────────────────────────────────────────────────────┘
1. 云端中枢(Hub)
- 多设备状态管理:实时追踪接入设备的就绪状态(
ready、paused、needs_human_action)。 - 审批鉴权与安全门禁:支持“固定预审模式”与“AI 生成受限 DSL 模式”。自定义 DSL 必须通过白名单校验,由服务端计算防篡改的规范化哈希(Canonical Hash),经管理员审批后方可流转至队列。
- 租约锁(CAS):基于单次授权消费与原子锁,避免多 Worker 争抢或重复执行。
2. 边缘端 Worker(Mac Worker Client)
- 部署于连接物理手机的宿主机(如本地 Mac mini 或工控机)。
- 维持与云端中枢的心跳保活,以毫秒级响应领取排队中的任务租约。
- 桥接无侵入式驱动框架
hs(Handsets),通过原生无障碍通道(Accessibility)进行事件驱动与布局抓取。
3. Web 控制台(Web Dashboard)
- 一键批次派发:支持直接输入商品关键词,选择目标 App(如京东)与指定设备。
- DSL 脚本在线调试与驳回:在待审核状态下,可直观微调动作步骤(
open_app、tap、fill、submit等)并重新签名。 - 三态结果展示与审计流:清晰呈现“完全符合”、“待核实”、“不符合”的三态结果分类卡片,并实时展示执行端审计事件。
三、四大核心设计原则与工程防线
1. 严格受限的白名单 DSL(防代码注入)
移动自动化绝不接收任意的 Shell 命令或动态 Python 代码。所有可执行动作被严格限制为白名单原子指令:
{
"jd": [
{ "action": "open_app", "package": "com.jingdong.app.mall" },
{ "action": "tap", "target": "#b51" },
{ "action": "fill", "target": "class=android.widget.EditText", "text": "机械键盘" },
{ "action": "submit" },
{ "action": "wait_for", "target": "综合推荐", "timeout": 8.0 },
{ "action": "extract", "schema": "product_card" },
{ "action": "back" }
]
}
后端在入库前执行严格的 AST 校验,杜绝 eval、exec、系统命令及特殊连接符(; | \ $`)。
2. 单调时钟总时限与预算硬约束(Deadlines & Budgets)
移动端操作极易受网络卡顿、弹窗遮挡或渲染抖动影响。为防止 Worker 挂起耗尽资源,系统引入显式预算配置:
@dataclass
class SearchBudget:
max_candidates: int = 20 # 最大候选截取数量
max_detail_visits: int = 10 # 允许下钻商详页深度
max_results: int = 5 # 最终聚合输出条数
total_timeout_seconds: int = 180 # 单调时钟绝对截止时间
所有底层驱动调用(dump_ui、tap、fill、wait_for)均向深层传递 deadline = time.monotonic() + total_timeout_seconds。一旦超时,立即执行受控短路并返回 timed_out 回执,绝不脑补虚假成功。
3. 设备状态机与复位熔断机制
真机自动化最忌讳“上一次任务的残局污染下一次任务”。系统设计了严格的设备恢复生命周期:
- 任务后前置复位:无论任务执行成功、失败还是收到取消信号,
finally块内强制触发restore_ready(自动连续回退至首页,必要时重启 App)。 - 熔断与暂停:若设备复位检查未通过,中枢立即将该设备标记为
paused,拒绝接受后续派发。 - 人工恢复一键重置:Web 控制台右上角提供“恢复设备”按钮,人工检查排查物理阻碍后点击即可重置状态回
ready。
4. 真实容器边界解析(XML vs 扁平文本)
在解析电商商品列表时,许多简单脚本仅靠全屏扁平文本抓取,极易导致“A 商品的标题匹配了 B 商品的价格,合成了不存在的幻觉商品”。
Lite Agent 采用严格的 XML 节点层级遍历:
- 严格定位
RecyclerView下的卡片容器根节点; - 在独立卡片子树内闭环提取
title、amount、verified_badges(京东自营/官方直降标签); - 若 XML 结构损坏或未提取到有效数据,明确报告
extraction_failed,绝不盲目回退为扁平字符串拼接。
四、真实环境闭环验证:一加 9 + 京东 App
在最新一轮的工程验收中,系统在真实公网与硬件环境下完成了全流程闭环验证:
- 硬件环境:OnePlus 9 (LE2110 / Snapdragon 888),运行 Android 14。
- 被测应用:京东 App 16.1.0(无任何破解或 Patch,官方线上版本)。
- 中枢服务器:Debian Linux VPS(腾讯云外网机器,运行 Lite Agent Hub)。
- 执行终端:本地开发机启动的 Mac Worker 守护进程。
实测时序追踪(以批次 batch-d739dfbd7708 为例):
- 21:23:47:用户在 Web 控制台点击“执行任务 ▶️”,中枢原子流转状态至
queued并生成lease-f759198f6bd5; - 21:23:48:本地 Worker 轮询认领租约,单调时钟计时器启动;
- 21:23:49:Worker 调度
HandsetsDriver,以物理中心坐标(540, 285)瞬时进入京东搜索页,利用无障碍通道向EditText原子注入“机械键盘”并触发 IME 提交; - 21:24:02:搜索列表完成异步渲染,Worker 导出高保真 XML 树并提取出 5 件有效商品(罗技 MX Keys、苹果妙控键盘、迈从等真实报价与销量);
- 21:24:15:Worker 执行
restore_ready安全复位至京东首页,向中枢提交标准TaskReceipt; - 21:24:16:Web 控制台实时刷新呈现商品卡片,批次状态置为
succeeded。
全流程执行端净耗时约 26 秒,且物理手机平稳复位,随时待命响应下一轮调度。
五、总结与展望
通过 Lite Agent 移动自动化平台,我们成功将大模型 Agent 的认知能力与物理真机的原生操作能力连接在一起,实现了三大价值:
- 数据护城河跨越:无需依赖厂商 API,即可获取第一手、真实可信的端内报价与商品事实;
- 工业级鲁棒性:通过哈希审批、超时熔断、租约竞争与自动复位机制,彻底解决了手机自动化常态化崩溃、脱缰的痛点;
- 轻量与易用:一键式 Web 控制台与开箱即用的 Worker 客户端,让非技术人员也能轻松驾驭复杂的真机任务。
后续,我们将进一步探索结合端侧视觉大模型(VLM)的多模态自动化能力,让 Agent 具备更强的抗界面变动能力与复杂操作交互推理能力。
