SoloPi is an open-source Android automation and testing system that records, replays, verifies, and diagnoses interactions on real devices. It is for mobile developers and testers who need repeatable UI tests, performance measurements, controlled execution, and evidence-based results in development or CI workflows. Its catalogue skill is the agent-facing entry point for submitting controlled SoloPi test tasks.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alipay/SoloPi --skill solopi-skillgit clone --depth 1 https://github.com/alipay/SoloPiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alipay/solopi/solopi-skill)<a href="https://agentmods.dev/skills/alipay/solopi/solopi-skill"><img src="https://agentmods.dev/badge/skills/alipay/solopi/solopi-skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alipay/solopi/solopi-skill"><img src="https://agentmods.dev/badge/skills/alipay/solopi/solopi-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00082 | $0.06794 |
| Opus 5.5 | $0.00033 | $0.02718 |
| Sonnet 5.5 | $0.00016 | $0.01359 |
| Haiku 4.5 | $0.00008 | $0.00679 |
Grade A, and why
solopi-ai scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
SoloPi AI 控制框架
将本文件所在目录作为 Skill 根目录。只使用 Skill 的薄入口:
scripts/solopi-ai --pretty <命令>
执行时把 scripts/solopi-ai 解析为绝对路径,并保持调用者当前工作目录不变。Harness 实现与内置模板随本 Skill 放在 scripts/harness/,入口默认只调用这一份实现,不依赖仓库外的同级目录或已安装的 Python 包。调用方显式配置 SOLOPI_HARNESS_CLI 时可指定另一准确 CLI;普通使用无需配置。不得自行拼接 HTTP、Scheme 或 Shell 命令代替类型化 CLI。
安装时完整复制本 Skill 目录,保留脚本执行权限;运行需要 Python 3.9+ 和设备操作所需的 ADB。Laya 权重、虚拟环境、APK 和真机证据不随 Skill 打包。独立安装与本地验证见内置工作流。
全局参数必须放在子命令前。多台设备在线时,每次调用都必须添加 --serial <adb-serial>。
快速使用
用户要“连接手机跑几个案例”“运行支付宝模板”“查看带截图的结果”时,优先读取 内置工作流,使用以下入口:
scripts/solopi-ai --pretty workflow-list
scripts/solopi-ai --serial <adb-serial> --pretty workflow-run --template alipay-more-services
scripts/solopi-ai --pretty workflow-report --artifacts <上一步返回的artifacts>
默认规则模式不加载模型。只有用户明确选择 Laya 实验时,才传 --mode laya --model <本地MLX权重目录>;
模型运行在电脑上。不要为这些模板安装 companion APK,也不要把模型输出当成验收结论。
workflow-run 自动完成预检、计划编译与校验、执行及截图报告;前置页面不满足时保留 not_tested,
不自动重跑。完成后返回 Markdown 报告路径,并说明三态结果、清理结果和截图是否齐全。
能力路由
需要判断某项 App 能力是直接 CLI、用例间接、用户交互还是暂不可安全自动化时,先读取 能力矩阵。需要证明页面、设置和动作是否已纳入覆盖时,再读取 App 功能覆盖清单。
| 用户意图 | 使用命令 | 必须读取 |
|---|---|---|
| 选择内置模板、一条命令执行、查看整屏截图报告 | workflow-list、workflow-run、workflow-report |
内置工作流 |
| 检查设备、恢复内部 ADB、查询版本和协议 | doctor、adb-connect、capabilities、app-info、app-status |
故障处理 |
| 发现被测应用与动作 | apps、actions |
CLI 参考、动作目录 |
| 查询或修改配置 | config-list、config-get、config-set |
CLI 参考、协议 |
| 启动、观察或停止交互录制 | record-start、record-status、record-stop |
CLI 参考、故障处理 |
| 查询、导出或删除用例 | cases、case-get、case-delete |
CLI 参考 |
| 创建、校验或导入用例 | case-template、case-validate、case-import |
用例编写、动作目录 |
| 查看或编辑导出用例的步骤 | case-step-list、case-step-add、case-step-update、case-step-delete、case-step-move、case-step-copy |
用例编写、动作目录 |
| 获取当前页面和真实选择器 | inspect |
用例编写 |
| 单次同步或异步回放 | run、status、result、cancel |
协议、CLI 参考 |
| 动态 Agent 观察、类型化动作、暂停与清理 | agent-session-start、agent-observe、agent-act、agent-status、agent-timeline、agent-pause/resume/end/cancel |
协议、CLI 参考 |
| 从需求/AC 编译并执行可复现验证 | verify-normalize、verify-compile、verify-validate、verify-run |
验证工程、CLI 参考 |
| 持久设备池、任务队列、矩阵调度和 CI/API 托管执行 | managed-* |
托管执行与设备池、协议 |
| 签名端侧模型安装、激活、回退、推理、基准与发布门禁 | model-*、verify-run --decision-provider |
端侧 Agent 模型部署、验证工程 |
| 重复或批量回放 | run-repeat、run-batch |
CLI 参考、协议 |
| 回放历史的列表、详情与删除 | replay-history-list、replay-history-get、replay-history-delete |
CLI 参考、协议 |
| 性能指标、实时监控和采集会话 | perf-list、perf-current、perf-display-start/status/stop、perf-start/status/stop |
性能测试 |
| 本地性能 CSV 描述性统计 | perf-analyze |
性能测试 |
| 安卓应用冷启动或暖启动耗时 | startup-time |
性能测试、CLI 参考 |
| 性能历史的列表、详情与删除 | perf-history-list、perf-history-get、perf-history-delete |
性能测试、协议 |
| CPU 或内存压力测试 | stress-start、stress-status、stress-stop |
性能测试、故障处理 |
| 独立录屏会话与 MP4 证据 | screen-record-start、screen-record-status、screen-record-stop |
CLI 参考、故障处理 |
| 相机扫码会话与只读内容 | scan-start、scan-status、scan-cancel |
CLI 参考、协议、故障处理 |
| 录屏视频差分视觉响应耗时 | video-analysis-start、video-analysis-status |
性能测试、CLI 参考 |
| 插件列表、本地安装与精确移除 | plugin-list、plugin-install、plugin-remove |
CLI 参考、故障处理 |
| 独立采集截图或日志 | screenshot、logs |
CLI 参考 |
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- .gitignore 10 B
- agents/openai.yaml 397 B
- LICENSE 11 KB
- references/action-catalog.md 8.2 KB
- references/app-feature-inventory.md 13 KB
- references/capability-matrix.md 14 KB
- references/case-authoring.md 8.6 KB
- references/cli-reference.md 33 KB
- references/managed-execution.md 5.9 KB
- references/model-deployment.md 5.1 KB
- references/performance-testing.md 16 KB
- references/protocol.md 25 KB
- references/troubleshooting.md 26 KB
- references/verification-engine.md 7.3 KB
- references/workflows.md 6.7 KB
- scripts/.gitignore 23 B
- scripts/harness/.gitignore 58 B
- scripts/harness/examples/executorch-counter-policy/manifest.json 1.4 KB
- scripts/harness/examples/executorch-counter-policy/manifest.sig 256 B
- scripts/harness/examples/executorch-counter-policy/model.pte 728 B
- scripts/harness/examples/executorch-counter-policy/README.md 652 B
- scripts/harness/examples/fastpath/alipay-more/inputs-manifest.json 406 B
- scripts/harness/examples/fastpath/alipay-more/README.md 4.4 KB
- scripts/harness/examples/fastpath/alipay-more/requirement.json 3.2 KB
- scripts/harness/examples/fastpath/alipay-multichoice/home-direct/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/home-direct/requirement.json 3.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/home-paraphrase-1/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/home-paraphrase-1/requirement.json 3.6 KB
- scripts/harness/examples/fastpath/alipay-multichoice/home-paraphrase-2/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/home-paraphrase-2/requirement.json 3.6 KB
- scripts/harness/examples/fastpath/alipay-multichoice/inputs-manifest.json 2.6 KB
- scripts/harness/examples/fastpath/alipay-multichoice/README.md 11 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-direct/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-direct/requirement.json 4.0 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase-1/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase-1/requirement.json 4.0 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase-2/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase-2/requirement.json 4.0 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase2-wrong-oracle/control-provenance.json 690 B
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase2-wrong-oracle/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-paraphrase2-wrong-oracle/requirement.json 4.1 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-wrong-oracle/policy.json 1.5 KB
- scripts/harness/examples/fastpath/alipay-multichoice/settings-wrong-oracle/requirement.json 4.1 KB
- scripts/harness/examples/fastpath/alipay-scenarios/more-services/policy.json 3.2 KB
- scripts/harness/examples/fastpath/alipay-scenarios/more-services/README.md 766 B
- scripts/harness/examples/fastpath/alipay-scenarios/more-services/requirement.json 3.7 KB
- scripts/harness/examples/fastpath/alipay-scenarios/search-input-roundtrip/policy.json 3.1 KB
- scripts/harness/examples/fastpath/alipay-scenarios/search-input-roundtrip/README.md 1.7 KB
- scripts/harness/examples/fastpath/alipay-scenarios/search-input-roundtrip/requirement.json 4.9 KB
- scripts/harness/examples/fastpath/alipay-search/blocked/policy.json 1.2 KB
- scripts/harness/examples/fastpath/alipay-search/blocked/requirement.json 2.9 KB
- scripts/harness/examples/fastpath/alipay-search/inputs-manifest.json 1.6 KB
- scripts/harness/examples/fastpath/alipay-search/normal/policy.json 1.2 KB
- scripts/harness/examples/fastpath/alipay-search/normal/requirement.json 3.2 KB
- scripts/harness/examples/fastpath/alipay-search/prompt-v2/blocked/policy.json 1.1 KB
- scripts/harness/examples/fastpath/alipay-search/prompt-v2/blocked/requirement.json 2.8 KB
- scripts/harness/examples/fastpath/alipay-search/prompt-v2/inputs-manifest.json 3.5 KB
- scripts/harness/examples/fastpath/alipay-search/prompt-v2/normal/policy.json 1.1 KB
- scripts/harness/examples/fastpath/alipay-search/prompt-v2/normal/requirement.json 3.2 KB
- scripts/harness/examples/fastpath/alipay-search/prompt-v2/README.md 5.0 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago Changed · +19 lines · -45 tokens per session 6d10c5a0b6ba
- 1mo ago First seen · 218 lines · 127 tokens per session scan A 4061512e6532
solopi-ai is a skill published in the GitHub repository alipay/SoloPi (6,348 stars, last pushed yesterday), licensed Apache-2.0. It adds 82 tokens to every session and 6,794 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
mobile-tester
You are the Mobile Tester Specialist. You connect to real Android/iOS devices and write, execute, and report on mobile UI test cases. You master THREE testing modalities.
android-ui-journey-testing
XML-specified Android UI journey testing, interactive step execution, assertion verification, and JSON outcome reporting.
Espresso Android Testing
Android UI testing with Espresso framework including view matchers, actions, assertions, idling resources, and RecyclerView testing patterns.
android-ui-test
Demonstration skill showing how to use uiautomator2-mcp-server for AI-driven Android UI testing. Also serves as the project's own automated UI test suite for continuous validation.
android-qa
Test an Android app on a real phone or an emulator using adb. Use when the user wants to install an APK they just compiled, walk through the app's screens, check the on-screen text, reproduce a bug, capture screenshots, read crash logs, or set up an Android testing environment from scratch. Covers both a physical…
playwright-for-android
End-to-end Android debug loop on an emulator. Builds the APK with a Gradle task, boots a named AVD, installs and launches the target package, then drives a single feature via adb-injected UI actions while capturing a unified logcat-and-actions timeline plus a developer-facing test report. Use when the user wants to…