跳到正文
cccskills
免费在 GitHub 公开中文介绍

mobile-eas-dev

在云端工作区通过 EAS 的 iOS 模拟器启动移动应用,并查看界面、检查代码变更。可重新加载应用或启动新会话;需要配置 `EXPO_TOKEN` 和仓库的 `.env`。

原文查看原文说明

Launch and iterate on apps/mobile from a cloud sandbox (no local Xcode or simulator) on an EAS cloud iOS simulator. Use when asked to run, start, open, or show the mobile app from a cloud workspace, or to verify a mobile change there. On a machine with real Xcode, use mobile-sim-verification instead.

ParadevAI/Paradev星标 15,724(GitHub 15,724 + cccskills 0)

实测评分 未实测

查看安装方法

适用场景

  • 在云端工作区启动应用
  • 检查代码变更后的界面
  • 使用开发账号查看应用
  • 在模拟器中重新加载应用

中文介绍

功能

此技能从云端工作区运行 apps/mobile/scripts/eas-dev.sh,在 EAS 的 iOS 模拟器中启动移动应用。如果已有连接会话,就会继续使用;否则会选择与当前检出代码相匹配的模拟器构建并启动新会话。缺少所需构建时会创建构建。使用 --reload 可通过 Metro 重新加载应用,使用 --new 可切换到新会话。技能还会通过 agent-device 查看屏幕、点击、输入文字和截屏,以确认代码变更是否显示在应用中。添加 --user 可使用开发账号登录。

适用场景

当本地没有 Xcode 或 iOS 模拟器,但需要在云端工作区打开应用、查看界面或确认改动时,可以使用此技能。

使用示例

  • “请在云端工作区启动移动应用并展示屏幕。”
  • “请在 EAS 模拟器中检查这项界面改动。”
  • “请查看使用开发账号登录后的应用。”

注意事项

需要设置 EXPO_TOKEN 并提供仓库的 .env。如果安装的 bun 版本与 .bun-version 不同,就无法进行构建匹配查询。在配有实际 Xcode 环境的机器上,应使用单独的 mobile-sim-verification 技能。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
B部分不足会创建构建并准备开发账号数据,但影响范围和确认步骤说明有限。
安装难易度所需工具和 API 密钥是否少且有说明
B部分不足需要 EXPO_TOKEN、.env 和指定版本的 bun,但未提供配置步骤。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月29日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(1)

  • SKILL.md5.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Mobile on a cloud sandbox (EAS Simulator)

A cloud sandbox is Linux: no xcrun, no simctl. apps/mobile/scripts/eas-dev.sh is the one command that gets the real dev-client app running on an EAS cloud iOS simulator, connected to this sandbox's own Metro and API. Run it:

apps/mobile/scripts/eas-dev.sh

It reuses this checkout's running session when there is one. Otherwise it installs the finished simulator build whose native fingerprint matches this checkout and starts a session, about two minutes. It builds only when no such build exists (the first time, or after a native change), about fifteen minutes. apps/mobile/AGENTS.md's "Verifying in the real app" section records why the script does each step.

apps/mobile/scripts/eas-dev.sh --reload   # load the app from Metro again; starts nothing
apps/mobile/scripts/eas-dev.sh --new      # stop the running session and start a fresh one
apps/mobile/scripts/eas-dev.sh --user maya@local.test   # sign the app in as this dev account
  • Switch accounts with --user name@local.test. It runs db:seed-dev for the account, which creates it with the shared dev password and makes it an onboarded member of admin@local.test's Pro organization. Then it signs out in Settings and signs in through "Sign in with email (dev)". It needs no app code and takes about 20 s. It works alone on a running session or with --new and --reload. Only @local.test accounts: to test as your real account, use the token that setup bakes in for the first launch.

  • Reload with --reload. It opens the dev-client URL and waits for a new iOS Bundled line in the Metro log, three tries. Never agent-device open Superset: that relaunches the app without the Metro URL and it fails with "Could not connect to the server".

  • Switch sessions with --new, never eas simulator by hand. The egress client is bound to the session it started with, so the script stops the old client and starts one for the new session. With no flag it keeps a connected client and restarts one that died.

  • When the script started Metro, each run that (re)starts the tunnel ends only when Metro has served the app a bundle; otherwise it exits non-zero and names the Metro and egress logs. With a Metro started some other way it opens the app but cannot confirm the load.

  • The dev-client URL carries disableAutoLaunch=1&disableFab=1, so no dev menu opens at launch and no gear button covers the toolbar. Each session is a fresh install, so every load passes them.

  • Logs and PID files are in .tmp/eas-dev/ of the checkout, so two checkouts do not stop each other's tunnel.

  • The fingerprint lookup refuses to run when bun --version differs from .bun-version. The dependencies that bun installs give a fingerprint no build has, and EAS would start a 15-minute build that also fails. A cloud workspace made before the pin changed has the old bun: make a new one.

The session is tagged with the workspace id. The desktop Mobile pane lists the workspace's tagged sessions, so the person can watch the simulator there without a link. The script also prints an expo.dev/simulator-preview/... URL for a browser.

Driving the simulator

Load the session and call agent-device directly:

cd apps/mobile && set -a && . ./.env.eas-simulator && set +a
agent-device snapshot -i                        # what is on screen, with @refs
agent-device press 'label="Continue"' --settle  # acts, waits, prints what changed
agent-device fill @e16 "hello" --settle
agent-device screenshot /tmp/screen.png
agent-device help                               # the rest
  • agent-device keeps one session per working directory. Run it from apps/mobile every time.
  • Through eas simulator:exec npx agent-device each command takes about 25 s. Install it globally (npm install -g agent-device) when it is missing.
  • The dev-menu sheet covers the first screen on a fresh install: press Continue, then Close.
  • iOS's "slide to type" keyboard intro is already dismissed on a session the script started.
  • SwiftUI menu items (@expo/ui Menu) are not in agent-device snapshot. Open the menu, take a screenshot, and tap the item by coordinate: agent-device press <x> <y>. This is a limit of the tool, not of the app.
  • Source edits reach the app through fast refresh in about two seconds.

Limits

  • The script forwards the relay and realtime ports but starts neither service, so host and workspace presence show as unreachable. That is fine for auth and UI checks.
  • The session stops by itself after 15 idle minutes (MOBILE_EAS_IDLE_MINUTES). Stop it sooner with eas simulator:stop from apps/mobile.
  • The Expo account runs two builds at a time; a build can wait in the queue behind the team's.

Needs EXPO_TOKEN and this repo's .env (.superset/setup.sh or .superset/setup.cloud.sh).

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

10x

免费有简介

检查 Superset 的使用情况,找出适合当前工作方式但尚未使用的功能,给出建议并介绍选项;用户选定后,可协助设置定时运行、并行工作区或共享任务等功能。

  • 查找尚未使用的 Superset 功能
  • 设置定时运行的智能体
  • 在多个工作区并行处理任务
ParadevAI/Paradev1.6万2026年10月29日 更新

automate

免费有简介

把重复任务配置为 Superset 自动化,整理智能体指令、定时或事件触发条件及运行工作区。经明确确认后创建设置,检查已保存的条件,并查看首次运行结果以调整指令。

  • 按日或按周运行任务
  • GitHub 新建拉取请求时启动任务
  • 收到 Slack 指定表情反应时触发
ParadevAI/Paradev1.6万2026年10月29日 更新

browser

免费有简介

通过 Superset 工作区的浏览器查看网页、点击、输入并检查截图或控制台信息,可用于预览运行中的网页应用、检查界面操作和表单流程。

  • 预览本地网页应用
  • 截取页面图像
  • 查看控制台错误
ParadevAI/Paradev1.6万2026年10月29日 更新

依据 Stripe 官方文档和 API 参数定义实现支付、订阅、发票及 Webhook 集成,涵盖产品选择、沙盒测试和事件处理,并通过 Webhook 判断支付与订阅状态。

  • 选择定期扣费产品
  • 实现 Checkout 或发票处理
  • 排查行为异常的 Stripe 集成
ParadevAI/Paradev1.6万2026年10月29日 更新

cdp-verification

免费有简介

通过 Chrome DevTools Protocol 操作正在运行的 Electron 桌面应用,复现界面问题并验证修改。按实际操作流程检查页面跳转,记录截图,并对照路由、滚动位置、焦点元素和保存状态等信息。

  • 在运行中的应用里复现界面问题
  • 检查修复后的页面行为
  • 验证包含页面跳转的操作流程
ParadevAI/Paradev1.6万2026年10月29日 更新

ci-triage

免费有简介

分析 GitHub Actions 失败日志,定位最早的有效错误,区分代码缺陷、环境问题、间歇性失败和原有故障,并对照基准分支说明失败与 PR 的关系及后续处理建议。

  • 调查 PR 检查失败原因
  • 区分不稳定测试与代码缺陷
  • 确认基准分支是否已有故障
ParadevAI/Paradev1.6万2026年10月29日 更新

查看 ParadevAI 的全部技能

报告此技能的问题