serve-sim

GitHub

用于在终端中控制 iOS 模拟器,包括构建、启动应用、提供浏览器流以及执行点击、输入、旋转等交互操作,无需打开 Xcode。

.agents/skills/serve-sim/SKILL.md openchamber/openchamber

Trigger Scenarios

需要运行或测试 iOS 模拟器应用 通过命令行控制模拟器交互(如点击、输入) 获取模拟器的实时预览流地址

Install

npx skills add openchamber/openchamber --skill serve-sim -g -y
More Options

Non-standard path

npx skills add https://github.com/openchamber/openchamber/tree/main/.agents/skills/serve-sim -g -y

Use without installing

npx skills use openchamber/openchamber@serve-sim

指定 Agent (Claude Code)

npx skills add openchamber/openchamber --skill serve-sim -a claude-code -g -y

安装 repo 全部 skill

npx skills add openchamber/openchamber --all -g -y

预览 repo 内 skill

npx skills add openchamber/openchamber --list

SKILL.md

Frontmatter
{
    "name": "serve-sim",
    "description": "Use when working with the OpenChamber iOS Simulator app without opening Xcode - boot\/install\/launch the Capacitor iOS app, start a browser stream, tap\/type\/gesture\/rotate, inspect accessibility, or hand a simulator URL to the user."
}

serve-sim

Scripted Workflow

Run the discrete scripts from the repository root:

  1. Build the simulator app:

    bun run mobile:build:ios:simulator
    
  2. Boot if needed, install, and launch:

    bun run mobile:sim:run
    
  3. Start the detached browser stream:

    bun run mobile:sim:serve
    

    Surface the returned JSON url; it is the only authoritative stream address.

  4. Stop helpers when finished unless the user asks to keep them running:

    bun run mobile:sim:kill
    

Completion means the app launched, the returned stream URL was surfaced, and requested interactions were verified.

Manual Controls

  • Tap normalized coordinates: bunx serve-sim tap 0.5 0.5
  • Type focused text: bunx serve-sim type "hello"
  • Hardware home: bunx serve-sim button home
  • Rotate: bunx serve-sim rotate portrait
  • List streams: bunx serve-sim --list -q
  • Accessibility tree: curl http://localhost:3100/ax

Run direct CLI commands from packages/mobile. serve-sim is installed in that package and is absent from the root node_modules/.bin.

Coordinates are normalized 0..1, not pixels. Prefer tap for simple taps; do not emulate taps using separate gesture begin/end commands because that can register as long press.

If accessibility lookup cannot identify a target, report the missing target instead of guessing coordinates.

Preconditions

  • macOS host.
  • Xcode installed; use DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer if xcode-select points at CommandLineTools.
  • Node 18+.
  • At least one simulator can be booted with xcrun simctl.

Version History

  • 6cd8058 Current 2026-11-03 06:04

    文档重构:消除重复内容,修复矛盾规则,精简上下文以优化 Agent 加载效率。

  • 2db90f7 2026-08-20 04:55

    优化了 Agent 技能指导说明;此前版本新增了单命令移动模拟器开发循环及更新文档。

  • 74b1bd8 2026-07-25 10:37

Same Skill Collection

.agents/skills/changelog-authoring/SKILL.md
.agents/skills/clack-cli-patterns/SKILL.md
.agents/skills/communication-style/SKILL.md
.agents/skills/desktop-shell/SKILL.md
.agents/skills/drag-to-reorder/SKILL.md
.agents/skills/enterprise-boundary/SKILL.md
.agents/skills/isolated-space-boundary/SKILL.md
.agents/skills/locale-ui-patterns/SKILL.md
.agents/skills/openchamber-change-discipline/SKILL.md
.agents/skills/opencode-v2/SKILL.md
.agents/skills/pr-review/SKILL.md
.agents/skills/relay-transport/SKILL.md
.agents/skills/rtl-layout/SKILL.md
.agents/skills/settings-ui-patterns/SKILL.md
.agents/skills/sync-state-invariants/SKILL.md
.agents/skills/theme-system/SKILL.md
.agents/skills/triage-issues/SKILL.md
.agents/skills/triage-prs/SKILL.md
.agents/skills/ui-api-decoupling/SKILL.md
.agents/skills/update-changelog/SKILL.md
.agents/skills/writing-for-agents/SKILL.md
.agents/skills/performance-engineering/SKILL.md

Metadata

Files
0
Version
6cd8058
Hash
e9e4e3cf
Indexed
2026-07-25 10:37

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-11-03 18:06
浙ICP备14020137号-1