返回首页 访问原文
Simlock
介绍
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。
- 任务结束记得释放租约,保持预热池健康。