SoloPi

官方网站 · 下载 APK · 快速开始 · English
SoloPi 将 Android 录制回放、跨平台桌面控制和面向 AI Agent 的 Skill / Harness 放在同一条测试链路中。被测应用通常无需接入 SDK;每次任务都可以保留页面观察、动作回执和结果证据。
6.3k+ GitHub Stars · 历史 Java Trending 日榜最高第 2,曾连续 6 天上榜
| Desktop | Skill / Harness | Android App | |
|---|---|---|---|
| 适合 | 图形化设备操作与用例管理 | Agent、CLI 与自动化集成 | 手机端录制回放与性能诊断 |
| 能力 | 页面检查、节点选择、录制、回放、报告 | 动作约束、执行复核、固定验收、结构化产物 | 设备执行、性能采集、经典自动化工具 |
| 入口 | solopi-desktop/ |
solopi-skill/ |
solopi-app/ |
三者可以独立使用,也可以组合成完整链路:Desktop 提供工作台,Skill 约束 Agent 的使用方式,Harness 负责任务编排与验收,Android App 在设备侧采集和执行。
为什么使用 SoloPi
- 真实设备,低接入成本:直接观察和操作移动应用,目标应用通常无需集成 SoloPi SDK。
- 从录制到复现:记录页面节点、操作和检查条件,用固定用例重复验证真实流程。
- 让 Agent 在边界内执行:提交动作前复核当前页面和目标,页面变化时避免继续执行已经失效的旧动作。
- 完成动作不等于测试通过:使用预先定义的检查点读取业务状态,独立给出
passed、failed或not_tested。 - 证据随运行保存:保留截图、日志、动作回执和结构化报告,便于定位与复核。
快速开始
1. 查看内置工作流
在仓库根目录运行。这个命令不需要连接设备,也不会操作应用:
./solopi-skill/scripts/solopi-ai --pretty workflow-list
2. 检查 Android 设备
设备已开启 USB 调试并完成授权后:
adb devices -l
./solopi-skill/scripts/solopi-ai \
--serial <设备序列号> \
--pretty doctor
3. 启动 Desktop
需要 Node.js、npm、Python 3.9+ 和相应平台的设备工具。Desktop 文档使用 Node.js 22.14.0 验证。
cd solopi-desktop
npm ci
npm run dev
首次连接、录制与回放步骤见 Desktop 使用说明和三端设备控制指南。
4. 运行一个准备好的工作流
仓库提供需要特定应用、账号和初始页面的只读示例。确认环境符合模板要求后运行:
./solopi-skill/scripts/solopi-ai \
--serial <设备序列号> \
--pretty workflow-run \
--template alipay-more-services
运行结束后,根据输出中的 artifacts 查看本次运行报告。模板不是通用冒烟用例;应用版本、账号状态或初始页面不符合要求时,应先调整环境或编写自己的用例。
工作方式
Desktop / Agent / CLI
│
▼
Skill + Harness
计划、会话、动作约束与证据
│
▼
Android SoloPi / iOS WDA / NEXT 驱动
│
▼
观察页面 → 提交前复核 → 执行动作
│
▼
固定检查点 → 独立结果判定
Harness 把“动作是否执行”和“业务是否正确”分开处理:
passed:必需检查点和清理条件通过。failed:已确认结果不符合预期。not_tested:证据不足,无法可靠判定。
动作结果不明时不应盲目重发。Agent 的完成声明也不直接等于测试通过。
平台与成熟度
| 能力 | 状态 | 当前范围 |
|---|---|---|
| Android App 录制回放与性能工具 | 核心能力 | 支持范围取决于系统、设备、目标应用和权限 |
| Desktop 控制 Android | Beta | 已验证页面检查、录制回放及特定真实 App 流程 |
| Skill / Harness 安全执行 | Beta | 已验证受控任务中的动作复核、固定验收与证据产物 |
| iOS / WebDriverAgent | 实验能力 | 已验证原生测试应用与特定真实 App 只读流程 |
| HarmonyOS NEXT / HDC | 实验能力 | 当前以模拟器上的受控原生应用流程为限 |
| 后台屏幕、Laya、视觉辅助与消息自动回复 | 研究原型 | 默认关闭或需要额外环境,不作为通用稳定能力承诺 |
三端共用部分控制入口和结果语义,不代表 Android 的性能插件、录屏或全部设备能力已经移植到 iOS / NEXT。SoloPi 也不承诺任意应用、设备和模型上零漏拦或零误拦。完整前提与限制见三端设备控制指南和原生回归指南。
Android 经典功能
录制回放

性能工具

原项目曾介绍一机多控,但该功能因稳定性原因尚未开源,不能按当前仓库能力使用。
构建与测试
构建 Android 调试包:
./solopi-app/gradlew -p solopi-app :portal:assembleDebug
adb install -r solopi-app/portal/build/outputs/apk/debug/portal-debug.apk
运行 Harness 单元测试:
python3 -m unittest discover -s solopi-skill/scripts/harness/tests -v
若设备上已有不同签名的 SoloPi,覆盖安装会失败。首次启动和辅助功能等系统授权需要在设备上完成。Android 单元测试、Desktop 打包及更多开发命令见各模块 README。
文档
社区与贡献
欢迎通过 Issue、Pull Request 或 TesterHome SoloPi 板块讨论问题与改进。提交前请阅读贡献指南。
| 钉钉交流群 | 微信交流群 |
|---|---|
![]() |
![]() |
许可与使用边界
涉及设备、账号、图片或日志时,请使用经授权的测试环境;分享报告前检查个人信息。启用外部模型或上传图片前,请确认发送范围和被测数据适合共享。
SoloPi 以 Apache License 2.0 开源;第三方组件及素材适用各自许可证,详见 NOTICE。使用前请阅读免责声明。


