ai-app-bridge-use
GitHub指导 AI 使用 App Bridge 对 Android/iOS/Flutter/Web 应用进行自动化操作、测试与诊断。通过 Intent、Script 或直接命令调用 ADB 及 UI 能力,涵盖执行流程、参数配置及故障恢复。
触发场景
安装
npx skills add mobileAiDev/ai-app-bridge --skill ai-app-bridge-use -g -y
SKILL.md
Frontmatter
{
"name": "ai-app-bridge-use",
"description": "用 AI App Bridge 操作、测试和诊断 Android、iOS、Flutter、WebView 与 Web App。以 Intent \/ Script 推进任务;独立读日志、截图、查询可直接调用命令。ADB 通过内置 adb-exec 执行。"
}
AI App Bridge
设备和 App 操作默认走 Bridge;Intent / Script 是任务执行的主要入口。 按任务性质选择,不按步骤数量限制:
| 需求 | 入口 |
|---|---|
| 观察页面、探索并作决策 | Intent:按当前观察决策;已有本地策略时可 autonomous 连续执行 |
| 代码可表达的操作、等待、分支和断言,包括一次性任务 | Script:普通 JavaScript/Python,通过 ctx.call 调用能力;新判断才 ctx.askAgent |
| 单独读日志、截图、查状态、定点诊断或明确的原子动作 | 直接调用对应 Bridge 命令,无须包装成 Intent / Script |
Script 可以边观察边处理已知分支,无须先摸清整个 App。把当前已知工作留在一次执行里;Intent 与 Script 也可互相调用。
只有用户明确指定其他工具、Bridge 确实不可用,或当前合同无法提供所需能力/语义时,才使用外部工具,并说明具体缺口。熟悉裸 ADB、某个 SDK 命令失败,都不构成离开 Bridge 的理由。正常操作无须先做全面诊断。
ADB 也通过 Bridge
ADB 的参数直接放进 adb-exec.argv,可通过 MCP、Bridge CLI、Intent command action 或 Script 调用:
// MCP:独立诊断,DEVICE 替换为实际 serial。
run({command:"adb-exec", arguments:{serial:"DEVICE", argv:["shell","getprop","sys.boot_completed"], readOnly:true}})
// Script:继承 script.target.serial。
const reply = await ctx.call("adb-exec", {argv:["shell","getprop","sys.boot_completed"], readOnly:true});
只有实际只读命令才设 readOnly:true;二进制输出用 outFile。ADB 进程退出不等于 App 业务成功。
Android 没有 App SDK 仍可用 Bridge 的 UIA 和 ADB: uia-tree / tap-uia 操作可访问控件,screenshot 截整屏,adb-exec 执行 ADB。SDK 路径失败只说明该路径的问题;按实际目标选择能力,保留未知动作回执,切路径不自动重放。
调用要点
MCP 只有 capabilities 和 run。按需查询 capabilities({command:"script",operation:"start"})(Intent 换成 command:"intent");单条能力用对应 command。已知合同可直接执行。所有业务参数放在 run.arguments,CLI 使用 kebab-case。
- Intent:
run.command:"intent",start 提供goal/target/provider。supervised 需要 agent 用当前 revision 提交decide;autonomous 使用本地agentModule。无 SDK 的 Android 可访问 UI 选择provider:"uia"。 - Script:
run.command:"script",start 的script包含schemaVersion:"aab.code-script/v1"、language、target、source/sourcePath二选一;可带waitMs:60000。默认可调用全部注册命令,包括adb-exec;源码是 trusted-local-code,不是 OS 沙箱。 - 目标:Intent 在
arguments.target,Script 在arguments.script.target。Android 带platform:"android",serial,App 任务再带packageName;iOS/Web 按当前合同填写真实设备、会话和目标身份。
首次编写或需要完整 start/decide/wait 示例时,读 执行与恢复 及发布包 docs/SCRIPT_AUTHORING.md。已有配方可用 run({command:"script",arguments:{operation:"recipes"}}),已连接 Web 可选 name:"web-steps"。
结果与继续
- MCP/CLI 看
execution判断执行,value取数据,control续跑;Script 内ctx.call则先检查ok,再读result。 waitMs每次最多 60000;超时用原operationId继续等待,不重发动作。waiting_for_agent读取control.pendingQuestion并提交decide。回复已有 result 就直接使用,否则按resultRef读取。- MCP 过旧或断开可使用 AI App Bridge CLI。断开不取消任务;按原 ID 继续或 cancel。故障按需用
doctor,重启前核对当前任务和影响。 - 提取/输出问题不等于动作失败;用已保存的
control.source.ref重读。控件引用过期先观察,结果未知保留未知;业务成功按实际证据判断。使用 freeze 后先 thaw 再继续或交付。
按需参考
- 执行与恢复:Intent 决策/autonomous,Script 等待、问题、checkpoint 和恢复。
- 目标与故障处理:selector、系统弹窗、provider、设备占用、UIA/SDK、Runtime 与防休眠。
- 结果与证据:大结果提取、表格/差量、历史分页、覆盖与归档。
上述参考中的 docs/ 相对 CLI 发布包根目录:从 command -v ai-app-bridge 解析符号链接,其 bin/.. 即包根目录;仓库内为 desktop/ai-app-bridge-cli。查所需章节即可。
版本历史
-
0.4.19
当前 2026-11-02 18:59
更新为默认 Agent 路径,明确 Bridge 及 Intent/Script 在 0.4.18 版本中的核心地位
-
0.4.17
2026-10-19 02:20
新增Web首次使用快速观测指引;优化提取策略默认行为为auto并支持无损表格;增强设备所有权管理与强制接管逻辑;完善电源租约保护及iOS恢复机制。
-
0.4.1
2026-09-22 07:54
迁移0.4.0指南并验证设备提取工作流;修复M1阶段判别器名称、域指引及生命周期示例;统一CLI/MCP紧凑JSON格式,修正错误提示与发现入口指引。
- 0.2.12 2026-07-24 11:37


