开发与工程

serve-sim — 终端里的 iOS 模拟器遥控器

无需打开 Xcode,就能在终端中启动、安装、串流并操控 Apple 模拟器里的 Capacitor iOS 应用。

52/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 12k
最近更新
11 天前
License
MIT
ios-simulatorxcodecapacitormobile-testing
+3browser-streamaccessibility-inspectionbun

这个 Skill 能做什么,适合哪些场景?

serve-sim 是 openchamber/openchamber 仓库(一个 OpenCode AI 代理的桌面/Web 界面项目,MIT 许可,含 18 个技能)中的一个 Agent Skill,位于 .agents/skills/serve-sim/。它面向移动开发者,把通常需要 Xcode 图形界面完成的模拟器工作流搬进终端:构建模拟器应用、启动/安装/运行、开启浏览器实时串流,并可通过 CLI 执行点击、输入、手势、旋转、硬件按键、权限和可访问性检查等操作。整个过程通过 Bun 脚本分步执行,每一步都有明确的完成边界,输出以 JSON 为准。

读取 SKILL.md 指令后,技能会:用 bun run mobile:build:ios:simulator 构建模拟器应用;用 bun run mobile:sim:run 启动、安装并运行应用;用 bun run mobile:sim:serve 启动分离的浏览器串流并返回 JSON 中的 url(唯一权威串流地址);用 bunx serve-sim 执行 tap/type/button home/rotate/--list 等手动控制,坐标使用 0..1 归一化;通过 curl http://localhost:3100/ax 获取可访问性树;结束时用 bun run mobile:sim:kill 停止辅助进程。

适合
  • 移动开发者正在开发 Capacitor iOS 应用,希望代理代替自己完成构建、安装、启动而不打开 Xcode。
  • 测试工程师需要自动化 UI 冒烟测试,通过 CLI 模拟点击、输入和手势并验证结果。
  • 远程协作场景下,开发者想在浏览器中实时查看模拟器画面并给同事演示。
  • 可访问性审计人员想通过 http://localhost:3100/ax 检查应用的 accessibility 树。
  • AI 代理驱动的端到端验收流程:代理启动应用、执行交互、验证完成、清理辅助进程。

如何安装这个 Skill?

使用前请注意
  • 本评估为静态源码审阅,未执行任何脚本,运行行为未经独立验证。
  • 技能面向 macOS 专用流程,依赖 Xcode 与 bun,其他环境不可用;发布方未经注册表验证,身份未知。
  • browser 流与 camera injection 等功能的安全边界(鉴权、隔离、回滚)在文件中未充分说明,使用前请自行确认本机暴露面。
  • 技能无独立版本与变更记录,更新时需对照仓库脚本核对命令是否仍然有效。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • macOS host
  • Xcode
  • Node.js 18+
  • Bun
  • xcrun simctl

该技能随 openchamber/openchamber 仓库分发,位于 .agents/skills/serve-sim/。README 未提供单独安装该技能的步骤;仓库整体提供 Desktop 安装包、VS Code 插件和 openchamber CLI(Node.js 22+)等安装方式。源材料未说明如何将该技能文件夹复制到特定 Agent Skills 客户端目录。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/openchamber/openchamber.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/.agents/skills/serve-sim" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

在 macOS 上确保已安装 Xcode 和 Node 18+(若 xcode-select 指向 CommandLineTools,可设 DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer)。在仓库根目录依次运行:bun run mobile:build:ios:simulator(构建);bun run mobile:sim:run(启动/安装/运行);bun run mobile:sim:serve(启动串流,向用户展示返回的 JSON url);需要时用 bunx serve-sim tap 0.5 0.5、type "hello"、button home、rotate portrait 等控制;curl http://localhost:3100/ax 查看可访问性树;结束后 bun run mobile:sim:kill 停止辅助进程。注意:直接 CLI 命令需在 packages/mobile 目录下运行,否则会报 command not found;不要用分离的 gesture begin/end 模拟点击,可能被识别为长按。

这个 Skill 有哪些优点和局限?

优点
  • 无需打开 Xcode 即可完成构建、安装、启动的完整模拟器工作流。
  • 提供浏览器实时串流,便于远程查看和演示。
  • 细粒度 CLI 控制:点击、输入、手势、旋转、硬件按键、权限、摄像头注入、可访问性检查。
  • 脚本化分步执行,每步有明确完成边界,且以 JSON 输出为权威。
  • 归一化坐标(0..1)降低了对具体屏幕分辨率的依赖。
局限
  • 仅限 macOS 主机,且要求已安装 Xcode 和可启动的模拟器。
  • 依赖 Bun 和 openchamber 仓库的移动端构建环境(Capacitor 项目),不适用于任意 iOS 项目。
  • 可访问性查找失败时需报告缺失目标,技能本身不提供自动回退定位。
  • 直接 CLI 命令只能在 packages/mobile 目录运行,路径约束容易踩坑。
  • 源材料未提供测试套件或除该仓库外的使用证据。

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
serve-sim — 终端里的 iOS 模拟器遥控器 本页 52 · 谨慎使用 ★ 12k 11 天前 MIT
EAS 云端模拟器助手 60 · 推荐 ★ 2.9k 20 天前 MIT
Expo 技能评测器 48 · 谨慎使用 ★ 2.9k 20 天前 MIT
移动应用 Dogfood 测试技能 46 · 谨慎使用 ★ 1.7k 17 天前 MIT
e2e Verify —— 端到端变更验证技能 64 · 推荐 ★ 10k 11 天前 Apache-2.0

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
谨慎使用
52/ 100 五分制 2.6 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全15 / 25 · 3.0/5

技能仅控制本机模拟器,流地址绑定 localhost,无凭据读写或外发数据的迹象;要求停止辅助进程、报告缺失目标而非猜测坐标,透明度尚可。扣分:对 framebuffer 流的访问控制、camera injection、权限修改等敏感操作的确认与隔离机制未在文件中说明,回滚路径不完整。

2可靠稳定9 / 20 · 2.3/5

SKILL.md 与 package. 中引用的 mobile:build:ios:simulator、sim:run、sim:serve、sim:kill 脚本一一对应,自洽;明确了 DEVELOPER_DIR、Node 版本、包路径限制(二进制仅在 packages/mobile 可用)与失败反馈要求。扣分:未见覆盖该技能关键路径的测试或对异常输入的可诊断失败样例,静态审阅无法验证可运行性。

3适用触发9 / 15 · 3.0/5

触发条件在 description 中写得很具体(不打开 Xcode 操作 iOS 模拟器、tap/type/gesture、无障碍检查),前置条件明确限定 macOS + Xcode + Node 18+,边界清晰。扣分:未声明不适配范围(如 Android 模拟器、CI 环境),无中文支持说明,bun 与 Apple 工具链依赖对环境的可用性未评估。

4规范维护9 / 15 · 3.0/5

文档结构良好:分步脚本流程、手动控制、归一化坐标说明、前置条件齐全,许可证为 MIT,仓库有版本号、changelog 脚本与安全政策。扣分:技能本身无独立版本、变更记录或已知限制清单,维护责任仅能间接推断自仓库,发布方未经注册表验证。

5有效结果6 / 15 · 2.0/5

声称的核心价值(终端内构建、启动、流式控制模拟器)与仓库脚本体系一致,相较手动打开 Xcode 有真实边际价值,并要求消费 JSON 输出提高直接可用性。扣分:静态审阅无法验证输出是否可直接使用,多步骤构建流程成本较高,无代表性输出证据。

6证据核验4 / 10 · 2.0/5

主要声明可追溯到仓库内脚本与文档,属于可审计的一手材料;仓库整体有测试与 CI 基础设施,但未见覆盖 serve-sim 关键路径的提交测试或第三方执行证据。扣分:无独立复现,证据类型单一,覆盖面薄。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年9月9日 审查版本 f8b929edf989 评估证据[1][2][3][4][5][6][7][8][9]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

同仓库的其他 Skills

均来自 openchamber/openchamber

设计与前端

OpenChamber 主题系统技能

在修改 OpenChamber UI 时,强制使用语义化主题令牌、共享按钮/图标契约与键盘导航规范,避免硬编码颜色和重复实现。

★ 12k FS 57 谨慎使用 11 天前
开发与工程

OpenChamber 变更纪律

在修改 OpenChamber 代码库时,强制执行“最小完整变更 + 最窄级别验证”的工程纪律,防止局部修复演变成投机性重写。

★ 12k FS 52 谨慎使用 11 天前
开发与工程

OpenChamber 性能工程技能

在优化单条操作之前先消除结构性浪费:为交互、渲染、轮询、缓存与大规模数据路径提供以测量为准的性能优化方法论。

★ 12k FS 62 推荐 11 天前
开发与工程

Locale UI Patterns —— OpenChamber 界面文案国际化规范

为 OpenChamber 项目编写或修改任何用户可见文案时,确保每个语言的字典都拿到真正的翻译,而不是英文占位符。

★ 12k FS 61 推荐 11 天前
设计与前端

OpenChamber 拖拽排序技能(drag-to-reorder)

一份沉淀自真实项目的 @dnd-kit 拖拽排序实践指南,专门解决变宽条目、换行布局和移动端触摸交互中最容易踩的坑。

★ 12k FS 59 推荐 11 天前
开发与工程

OpenChamber 中继传输技能

为 OpenChamber 的端到端加密中继隧道正确编写 WebSocket、SSE 与流式端点,避免只在桌面直连下能通过的隐性中继缺陷。

★ 12k FS 58 推荐 11 天前
开发与工程

OpenChamber UI/API 解耦技能

在修改 OpenChamber 共享 UI 的数据访问时,强制执行 SDK 调用、RuntimeAPIs 与浏览器资产之间的正确分层,避免硬编码与跨运行时的状态污染。

★ 12k FS 58 推荐 11 天前
开发与工程

Clack CLI 模式规范

为 OpenChamber 终端命令定义统一的交互提示、--quiet 与 -- 输出契约,确保任何运行模式下策略校验先行、行为确定一致。

★ 12k FS 57 谨慎使用 11 天前
开发与工程

OpenChamber 桌面外壳技能

在修改 OpenChamber 的 Electron 主进程、preload、IPC 或打包逻辑时,为 AI 代理提供正确的架构边界与安全规则。

★ 12k FS 54 谨慎使用 11 天前
设计与前端

OpenChamber 设置界面模式指南

在修改 OpenChamber 设置页面、对话框和搜索行为时,强制代理使用共享原语与本地化、搜索注册约定,避免各页面各自造轮子。

★ 12k FS 54 谨慎使用 11 天前
开发与工程

OpenChamber 同步状态不变量守则

在改动会话同步、事件归约器、轮询与缓存逻辑时,一套强制执行的状态所有权与失败语义规范,防止数据误删与状态错乱。

★ 12k FS 49 谨慎使用 11 天前

相关 Skills