📖 产品简介
offstage 是一个 macOS 原生、开源的 MCP server 与 CLI,为 computer-use 类 coding agent 提供一台「第二账户」的 Mac 桌面。
它不是虚拟机或远程机,而是同一台 Mac 上通过快速用户切换登录的第二个 macOS 账户,拥有自己的 WindowServer、帧缓冲与输入流。当 agent 要跑 xcodebuild test、启动 iOS Simulator、open -a 打开刚构建的 .app 或执行 osascript 时,这些 GUI 工作全部发生在后台账户桌面,你的屏幕、键盘和鼠标始终归你。offstage 还做多车道命令路由:无头命令(如 npm test)原地执行;有头浏览器测试(cypress open 等)进带虚拟显示的 Linux 容器;macOS GUI 工作进第二账户;安装器(.pkg / .dmg / hdiutil)直接拒绝、无开关可绕过。支持 Claude Code、Codex、opencode 通过 MCP 接入,也提供 CLI 入口(offstage doctor / route / run)。免费、MIT 许可,要求 Apple Silicon + Node 20+。
定位
给 coding agent 一台独立的 Mac 桌面,而非抢占你的屏幕
适合人群
macOS 上用 Claude Code / Codex / opencode 做 GUI 测试的开发者与 QA
需要 agent 跑 Simulator、XCUITest、有头浏览器测试的团队
希望本地隔离 agent 操作、保留自身工作流的重度终端用户
Apple Silicon Mac 用户
支持平台
macOS (Apple Silicon)、Node 20+
开源
是 · GitHub
✨ 核心功能
- 第二 macOS 账户隔离:agent 的 GUI 工作在独立桌面跑,你的屏幕不被抢占
- 多车道命令路由:无头原地 / 有头浏览器进 Linux 容器 / macOS GUI 进第二账户 / 安装器拒绝
- MCP 工具:offstage_session_screenshot / offstage_session_input 等,Claude Code / Codex / opencode 一行接入
- CLI 入口:offstage doctor 检测可用车道、offstage route 预览、offstage run 执行
- 深度 macOS 集成:Swift 守护进程维护常驻登录会话,近原生 GUI 执行速度
- 免费 MIT 开源,轻量磁盘占用(约 3GB,远小于 macOS VM)
⚖️ 优缺点分析
👍 优点
- 相比完整 macOS 虚拟机,资源开销极低(~3GB vs 70GB+)
- 原生支持整个 macOS GUI 栈(Simulator、原生 app),Linux 容器做不到
- 输入事件仅投递到自身会话,无法注入主控台用户桌面,隔离性有保证
- 免费、MIT 开源,Claude Code / Codex / opencode 一行接入
- 明确拒绝安装器,降低 agent 在主机装包的风险
👎 缺点
- 仅支持 Apple Silicon Mac 且需 Node.js 20+
- 两个账户共享同一物理硬件(CPU/内存/磁盘),重负载会互相争抢
- 无法运行安装器(.pkg / .dmg),共享系统状态的动作受限
- 初始配置需终端与 sudo 权限,并需手动切到辅助账户一次
- 隔离不等于安全银弹,仍需审视账户权限与共享文件夹
📊 评分详情
功能完整
8.5
易用程度
7.5
安全可靠
9
性价比
9
💬 用户评价
offstage 给 agent 一个它自己的 Mac 桌面,xcodebuild 跑测试、Simulator 启动、点开刚编译的 app 都不会抢占我的屏幕,做 iOS/macOS 自动化测试时终于不用和 agent 抢鼠标了。
📝 更新日志
-
2026-10-07v0.3.15发布于 Product Hunt 与 npm(@viraatdas/offstage v0.3.15)—— macOS 原生 MCP server + CLI,为 coding agent 提供独立登录账户以隔离 GUI 工作;多车道命令路由(无头原地 / 有头浏览器进 Linux 容器 / macOS GUI 进第二账户 / 安装器拒绝);支持 Claude Code、Codex、opencode;完全免费、MIT 开源