返回首页

Simlock

x 0.80
访问原文

介绍

Simlock 是 Callstack(知名 React / React Native 技术公司,旗下 Callstack Incubator)推出的免费开源工具,采用 MIT 协议。它是一个移动测试设备的“控制平面”:当你让多个 AI 编程 Agent 并行开发同一个移动应用时,每个 Agent 都可以独占租用一台 iOS 模拟器、Android 模拟器或已登记的真机,而不是大家挤在同一台模拟器上互相干扰。

该项目在 2026 年 10 月 30 日随 npm 上的 simlock 0.4.0 发布而走红,Callstack 工程师 Szymon Chmal 的发布推文获得 800 多个赞。更早的 0.1/0.2 版本发布于 2026 年 8 月。

解释

解决什么问题

Claude Code、Codex 等编程 Agent 在测试移动应用时常常各自启动模拟器。一旦并行跑多个 Agent,就会一团乱:Agent 之间互相点到对方的设备,或者机器上堆满几十个无人管理的模拟器(有开发者反映多达近 70 个)。

工作方式

  • 租约(Lease):Agent 申请一台设备(例如 --platform ios --device "iPhone 16"),拿到的设备已启动并通过健康检查,在释放前其他 Agent 不会碰它。
  • 自动创建:没有空闲的匹配设备时自动新建;机器满载时请求进入排队。
  • 预热池与清理:保持一批设备随时可用,并回收被遗弃的设备。
  • 真机支持:已登记的实体手机也能用同样方式租用。
  • 集群模式:先在一台 Mac 上跑,之后可以把更多 Mac 和 Linux 机器挂到一个**网关(gateway)**后面,对外只暴露一个 URL。
  • 多种接入方式:CLI、MCP 服务器、HTTP API 和 Node.js 客户端,能接入大多数 Agent 工作流。

现状

  • 协议:MIT,Callstack 表示会一直免费。
  • 支持 macOS 和 Linux;作者表示 Windows 支持“正在路上”。

用法

怎么上手

npm i -g simlock
simlock doctor          # 检查 Xcode / Android SDK 环境
simlock lease --platform ios --device "iPhone 16"

使用建议

  • 通过 MCP 服务器把它接给你的 Agent,让 Agent 自己申请和释放设备。
  • 团队或 CI 场景下,可在多台机器上运行 worker,再让 Agent 统一连接 gateway。
  • 任务结束记得释放租约,保持预热池健康。