架构概览
熠测桌面端与 Ember 云平台的技术架构
架构概览
熠测桌面端(开源)
┌─────────────────────────────────────────┐
│ Electron 主进程 / 渲染进程 │
│ UI · 任务 · 项目资料 · Provider 配置 │
├─────────────────────────────────────────┤
│ App Server (Rust) · 本地 API / 自动化 │
├─────────────────────────────────────────┤
│ 移动端驱动 · ADB / iOS / HarmonyOS │
└─────────────────────────────────────────┘
│ HTTPS(用户自配)
▼
第三方 AI Provider技术栈
- 桌面壳:Electron
- 本地服务:Rust App Server(高性能本地 API 与设备桥接)
- 前端:现代 Web 技术栈(与仓库源码一致)
- 协议:GPLv3 开源
数据默认保存在 本机;API Key 与项目资料不经过熠测官方云(除非用户主动使用云平台能力)。
Ember 云平台(闭源)
┌──────────┐ ┌─────────────┐ ┌──────────────┐
│ lmweb │────▶│ API 网关 │────▶│ Workspace │
│ Web UI │ │ 认证 / 租户 │ │ 项目 / 权限 │
└──────────┘ └──────┬──────┘ └──────────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
设备调度服务 UI-Genie/uiagent 任务 / 队列
│ │ │
└──────────────┴──────────────┘
│
▼
云真机设备池关键组件
| 组件 | 职责 |
|---|---|
| lmweb | 控制台、指令编辑、执行监控 |
| uiagent | 多模态理解与 UI 操作编排 |
| 设备服务 | 占用、释放、屏幕流 |
| ember-mcp | IDE 侧 MCP 适配层 |
部署为 私有化 时,各服务可容器化运行于客户 K8s 或 VM 集群,存储对接客户对象存储与数据库。
二者如何协作
- QA 在 熠测桌面端 设计用例、整理回归范围
- 可执行 NL 指令同步到云平台 指令仓库
- CI 通过 AccessToken 触发 UI-Genie 在云真机执行
- 开发者在 Cursor 通过 ember-mcp 查询状态、触发调试