Repolode
callstackincubator

callstackincubator/simlock

为并行运行的编码智能体分配 iOS 模拟器、Android 模拟器和真机,避免相互抢占同一设备。

Star
612
Fork
30
未关闭 Issue
47
最近提交
17小时前

这是什么?

Simlock 是一个控制平面,用于让多个编码智能体同时针对移动端目标工作。每个智能体申请设备后,会获得一台已启动并通过检查的设备,并在租约释放前独占使用。机器资源不足时,新请求会排队;无人使用的设备会被自动清理。

它支持 iOS 模拟器、Android 模拟器和已接入的真机,通过 npm 安装,使用 CLI 操作,例如 doctor 检查环境,lease 按平台和机型申请设备。可以先从一台 Mac 开始,资源不够时再加入更多 Mac 或 Linux 机器,并通过网关统一为一个访问地址。

文档涵盖智能体接入、在设备所在机器上运行 worker 守护进程、网关配置,以及完整的命令、配置项、事件和错误参考。

核心功能

  • 01为各个智能体分配 iOS 模拟器、Android 模拟器和已接入的真机。
  • 02设备在释放前由单个智能体独占使用。
  • 03没有空闲设备时自动创建,机器满载时排队等待。
  • 04自动清理不再使用的设备。
  • 05可从单台 Mac 扩展到由网关统一管理的多台 Mac 和 Linux 机器。

适用场景

  • 让多个编码智能体并行测试同一个移动应用,互不干扰。
  • 在团队的自动化移动开发流程中共享一台 Mac 上的模拟器。
  • 通过单一入口统一调度多台机器上的模拟器和模拟器。

快速上手

  1. 1

    使用 npm 全局安装 simlock

    npm i -g simlock
  2. 2

    使用 doctor 命令检查本机环境

    simlock doctor
  3. 3

    租用一台 iPhone 16 模拟器

    simlock lease --platform ios --device "iPhone 16"

使用前须知

  • 文档托管在外部网站上,而非代码仓库中。
  • iOS 模拟器需要运行在 macOS 上,因此 iOS 支持依赖 Mac。

收录于专题

标签

#ios-simulator#android-emulator#agents#mobile-testing#device-farm#typescript#emulators#simulators

常见问题

simlock 是什么?
为并行运行的编码智能体分配 iOS 模拟器、Android 模拟器和真机,避免相互抢占同一设备。 Simlock 是一个控制平面,用于让多个编码智能体同时针对移动端目标工作。每个智能体申请设备后,会获得一台已启动并通过检查的设备,并在租约释放前独占使用。机器资源不足时,新请求会排队;无人使用的设备会被自动清理。
simlock 可以免费使用吗?用的什么许可证?
simlock 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
simlock 还在维护吗?
活跃维护中。simlock 最近一次提交是在 2026年11月6日。
simlock 适合用来做什么?
让多个编码智能体并行测试同一个移动应用,互不干扰。 在团队的自动化移动开发流程中共享一台 Mac 上的模拟器。 通过单一入口统一调度多台机器上的模拟器和模拟器。
simlock 怎么安装和运行?
使用 npm 全局安装 simlock: npm i -g simlock 使用 doctor 命令检查本机环境: simlock doctor 租用一台 iPhone 16 模拟器: simlock lease --platform ios --device "iPhone 16"
在哪里获取 simlock?
源代码和安装说明在 GitHub 上:https://github.com/callstackincubator/simlock

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目