应用开发

PXA DEVELOPER GUIDE

AI 开发与自动验收

按需加载 skills 和 agent,用同一套脚本完成构建、交互、五屏验证与排错。

中文指南 · 5 分钟阅读 · PXA 0.3.0

适用环境可选开发工具

开始前DevKit 0.3.0、已有项目、Python 3.11+ 或 DevKit 自带 Python

术语速查 →

可选的 AI 开发套件

PXA AI 套件提供四个 skills(AI 操作指引)、两个 Codex agent(分工角色)和自动验证脚本。用户选择加载后,AI 可以按同一流程修改代码、构建、运行真实 Guest、注入触摸、查看截图并迭代修复。它在开发电脑上运行,不向设备安装 AI,也不增加应用常驻内存。

AI 套件版本为 0.1.0,已配合 DevKit 0.3.0 验证;两者版本职责不同。先按 DevKit 安装 配置工具,再下载 AI 套件 Release。原 DevKit 0.3.0 附件没有被替换;后续完整 DevKit 会同时携带 ai/ 目录。

在自己的项目中加载

下载并解压 pxa-ai-kit-0.1.0.tar.gz,使用 Release 的签名清单与可信 DevKit 公钥检查来源,具体命令见归档 README。需要 Python 3.11+,也可使用 DevKit 自带 Python,无需 pip。

在项目父目录执行下面命令;如果已有应用,把 hello 换为其目录。只有新建应用才执行 init:

pxa init hello
python3 pxa-ai-kit-0.1.0/install.py list
python3 pxa-ai-kit-0.1.0/install.py install --project hello --agents --dry-run
python3 pxa-ai-kit-0.1.0/install.py install --project hello --agents

安装后,项目内的 .agents/skills/ 保存技能,.codex/agents/ 保存两个可选 agent。安装器不会修改已有 AGENTS.md、config.toml 或用户全局配置,也不会指定模型、扩大权限。Codex 会发现这些文件;若未出现,重新打开项目/任务。其他兼容 Agent Skills 的工具可以加载技能目录;没有自定义 agent 功能时仍可单 agent 完成开发与调试。

只需要调试技能时,使用 install --project hello --skill pxa-debug。重复安装相同内容没有变更;更新加 --update,仅替换套件拥有且未经修改的文件。卸载使用 remove --project hello;遇到本地改动会保留并提示,先移动需要保存的修改再卸载。

选择合适的技能

技能 适合的任务
$pxa-app-dev C++26 应用、声明式 UI、游戏循环、资源和服务声明
$pxa-debug 模拟器复现、五种屏幕、截图与触摸脚本、失败日志
$pxa-device-test 明确设备端口后的真机安装、交互、内存与状态恢复
$pxa-release 签名包、兼容检查、公钥登记和发布准备

例如向 AI 提出:

使用 $pxa-app-dev 写一个中文计数器,提供加一和归零,适配圆屏、高 DPI 和小屏。DevKit 在 /path/to/devkit。请使用 $pxa-debug 实际运行和操作,查看截图,遇到问题自行修复,再给出验证结果。

如果希望独立验收,可以明确要求“让 pxa_developer 开发,再让 pxa_tester 验收”。前者负责实现与修复,后者根据需求和实际画面检查结果。两者继承用户已有模型与权限;仅加载 agent 配置不会自动开启并行任务。

不依赖 AI 的自动验证

普通用户和 CI 也可以运行同一脚本:

python3 hello/.agents/skills/pxa-debug/scripts/verify_app.py hello \
  --pxa /path/to/devkit/bin/pxa --output hello-evidence --headless

它默认离线构建,在五种屏幕配置上启动真实 Guest,确认活动应用身份并截图,结束后关闭自己启动的进程。缺少锁定依赖时显式加 --online;希望显示实际桌面窗口时去掉 --headless。输出目录必须是项目外的新目录。脚本会写正常的项目锁、构建缓存和模拟器存档,不清除原有数据;需要全新状态时使用独立项目。

进入运行阶段后,无论成功或失败都输出 result.json,同时保留每个步骤的日志。runtime_passed 只说明启动、活动身份和指定命令通过,还须检查截图是否符合预期。总验证耗时不代表游戏 FPS 或物理触摸延迟;不支持的内存查询会记录为 unavailable。

验证按钮确实能操作

将下面内容保存为项目父目录的 hello-input.json。它适用于原始 Hello 模板的 pai-touch 画面;自己修改布局后,应先截图定位按钮,再按对应 Profile 的像素坐标调整。

{
  "pai-touch": [
    {"name": "increment", "action": "tap", "x": 148, "y": 140},
    {"name": "settle", "action": "wait", "ms": 180},
    {"name": "count-one", "action": "screenshot"}
  ]
}
python3 hello/.agents/skills/pxa-debug/scripts/verify_app.py hello \
  --pxa /path/to/devkit/bin/pxa --output hello-input-evidence --headless \
  --profiles pai-touch --scenario hello-input.json

检查 pai-touch/before.png 与 pai-touch/count-one.png,计数应从 0 变为 1。脚本还支持有界 wait、swipe 和 screenshot;完整格式保存在技能的 references/scenarios.md。非法动作、越界坐标和不安全文件名在构建前拒绝。

权限、真实设备与结果边界

全自动开发表示 AI 在用户指定范围内继续实现、调试和修复,不表示可以任意刷机、清数据或发布生产版本。用户已经授权的真机测试和发布可继续执行;没有授权的外部写入先把包和验证证据准备好,再说明具体操作。

实测记录包括带空格路径安装、重复安装与修改保护、五屏实际 Guest、点击及滑动、构建失败、归档签名与损坏检测,以及独立 AI 开发试用。具体结果和限制见 验证报告。模拟器正常不代表所有硬件都已验证;游戏的实际显示帧率、真实运行峰值与物理音频/触摸延迟需要另做对应测量。

参考实现与资料main/ai ↗tag/ai-kit-v0.1.0 ↗skills/ ↗subagents/ ↗

输入关键词,搜索全部教程。