EAS 云端模拟器助手
让无法本地运行模拟器的团队在 EAS 云端运行、操控并截图 Expo 应用。
文档明确说明付费、EXPO_TOKEN、远程 daemon token、计费停止、dotenv 清理和.gitignore 要求,并提供 macOS 云端确认提示与失败后重置流程;但非 macOS 默认直接启动付费服务,允许使用 npx@latest、远程下载构建物及较宽的 shell 工具范围,缺少逐次费用确认、依赖完整性校验和更明确的数据流披露,因此扣分。
核心流程、平台分支、状态轮询、超时、重试限制和具体故障处理较完整,且引用了版本范围;但命令依赖实验性 CLI、latest 标签、外部服务和未随技能提供的真实测试套件,静态审查无法复现关键路径,按静态上限不给予超过10分,仍扣除确定性和环境覆盖分。
触发语义、云端与本地边界、Mac 与非 Mac 场景、静态与开发构建模式均描述清楚;但 Windows 仅建议 WSL/Git Bash,未说明中文交互或中国大陆网络可达性,核心功能依赖 Expo/EAS 云服务和公共隧道,环境适配仍有限。
结构有 frontmatter、使用条件、前置要求、模式选择、命令表、参考文档、故障排查和限制说明,且技能与仓库均声明 MIT;但维护责任、更新负责人、变更日志和稳定版本策略不清晰,使用 latest 与实验性 API 增加文档漂移风险。
技能提供从启动、构建、安装、连接、操作、截图到停止的可直接复制流程,并明确区分实时开发和静态构建,能覆盖核心目标;但静态材料没有可验证的实际输出,外部构建、启动和网络环境成本高,无法证明在目标项目中只需轻量复核,按静态上限计分。
来源列出 Expo 文档、eas CLI 和 agent-device CLI 为事实来源,并包含版本及所谓验证时间窗口;但未提供提交的测试套件、CI 覆盖或第三方执行记录,关键结论主要来自作者文档,静态审查按上限给5分。
- EAS Simulator 是付费且实验性服务;启动前应获得明确的费用与持续时间确认,并确保异常路径也停止会话。
- EXPO_TOKEN、daemon token、ARGENT_AUTH_TOKEN、公共预览 URL 和构建物 URL 可能带来凭据或访问控制风险;避免写入版本库或不受控日志。
- 核心命令使用 npx --yes 与 latest,且依赖远程 CLI、EAS 云端和隧道;版本漂移、网络不可达或配额限制可能使流程失败。
- 文档未证明中国大陆网络可稳定访问 Expo/EAS、ngrok 替代隧道或构建物下载服务。
这个 Skill 能做什么,适合哪些场景?
该技能指导 AI 代理使用 EAS Simulator 在云端启动 iOS 模拟器或 Android 模拟器,并通过 CLI 或 agent-device 操作应用。它面向 Linux、CI、云端沙盒和缺少特定 iOS 版本的 macOS 环境。技能覆盖会话启动、应用安装、界面操作、截图、浏览器预览和停止清理。EAS Simulator 是付费服务,且 simulator 命令属于实验性 API。
它检查本机是否有可用的本地模拟器,指导代理通过 npx --yes eas-cli@latest 启动、查询、执行和停止云端模拟器会话,并使用 agent-device 安装应用、打开应用或深链接、获取界面树、按引用操作、填写文本和截图。它还指导代理选择本地 Release 构建、EAS 模拟器构建或支持 Fast Refresh 的开发构建,管理 Metro、.env.eas-simulator 和会话清理。
- Linux 开发者需要运行 iOS 应用,但机器上没有本地 iOS 模拟器。
- CI 或云端代理需要启动远程模拟器并验证应用界面。
- 开发者希望让 AI 代理点击应用、填写表单并生成截图。
- 团队需要通过浏览器查看 iOS 模拟器的实时预览。
- Expo 开发者需要在远程设备上进行支持实时刷新迭代的开发构建测试。
这个 Skill 有哪些优点和局限?
- 覆盖没有本地模拟器的 Linux、CI 和云端环境。
- 支持 CLI、AI 代理控制和 iOS 浏览器预览。
- 明确区分静态构建与开发构建,能指导实时刷新场景。
- 包含会话状态检查、计费停止和 dotenv 清理等运维注意事项。
- 采用 MIT 许可证。
- EAS Simulator 为付费服务,远程会话会消耗计划额度并产生延迟。
- simulator:* 命令是实验性且隐藏的,语法可能变化。
- Android 没有文档所述的浏览器预览。
- 需要网络、EAS 认证、Node.js 生态命令和文件系统写入权限。
- 源材料未提供测试套件,也未证明所有平台和命令组合均已验证。
如何安装这个 Skill?
README 记录的是安装整个 Expo skills 集合:npx skills@latest add expo/skills --skill '*'。Claude Code 可运行 claude plugin install expo@claude-plugins-official;Codex 可运行 codex plugin add expo@openai-curated。源材料未明确说明仅安装 eas-simulator 的独立命令。
如何使用这个 Skill?
在 Expo 项目目录中向代理提出:"Run my Expo app on a cloud iOS simulator and take a screenshot." 非 macOS 或没有本地模拟器时可使用 EAS Simulator;macOS 有本地模拟器时,应先说明需要云端还是本地。典型流程是 npx --yes eas-cli@latest simulator:start --platform ios --type agent-device --non-interactive,然后通过 npx --yes eas-cli@latest simulator:exec npx agent-device@latest ... 安装和操作应用,最后运行 npx --yes eas-cli@latest simulator:stop。执行具体构建模式前,应阅读 references/run-your-app.md;该文件内容未在本资料中提供。
这个 Skill 与同类方案有什么区别?
相较于 expo run:ios、Xcode 或 Android Studio 的本地模拟器,该技能适用于云端或远程设备场景;相较于 EAS Build,它的核心目标是运行和操控模拟器会话,而不是构建或分发应用。