独立的 macOS 桌面
在名为 computeruse 的已登录辅助账户中运行 GUI 命令,该账户拥有自己的桌面、窗口服务器和输入上下文。主用户的显示与输入保持独立。
offstage 为编码代理在同一台 Mac 上提供第二个已登录的 macOS 用户账户。模拟器、Xcode UI 测试、有头浏览器会话和已构建的应用等图形界面任务,会在该账户的桌面中运行;主用户则可继续使用自己的屏幕、键盘、鼠标和活动窗口。该工具旨在避免由代理驱动的界面操作抢占用户控制台的焦点。
offstage 会根据命令是否需要图形环境来进行路由。无头测试在原有环境中运行,受支持的 GUI 命令则使用辅助账户。offstage 采用第二用户工作流,而不是虚拟机,因此两个账户共享 Mac 的 CPU、内存和磁盘。
在名为 computeruse 的已登录辅助账户中运行 GUI 命令,该账户拥有自己的桌面、窗口服务器和输入上下文。主用户的显示与输入保持独立。
执行前读取命令,并根据情况选择 macOS 会话、安装 Docker 时带虚拟显示的 Linux 容器、用于无头任务的当前环境,或拒绝安装程序和磁盘映像时不使用任何执行通道。
通过 MCP 支持 Claude Code、Codex 和 opencode。Claude Code 也可通过插件使用 offstage,CLI 则提供 `offstage route` 和 `offstage run`。
支持应用测试流程,包括启动会话、截取屏幕截图、输入操作和退出。截图使用点坐标,启动操作会等待应用完成注册。
当常规账户权限阻止运行时,可让辅助账户以只读模式访问选定的项目文件夹。之后可以取消共享。
`offstage doctor` 命令会报告哪些执行通道可用以及如何修复。不会绕过被拒绝的安装程序;如果辅助会话是当前活动的控制台会话,则会拒绝输入操作。
编码代理可以在辅助账户中运行模拟器、`xcodebuild test`、`xcrun simctl`、XCUITests 及相关应用命令,而无需在开发者的桌面上打开窗口。
代理可以启动已注册的应用、查看会话截图、发送输入操作并再次截图来验证结果,而不会接管用户当前的会话。
有头 Playwright、Puppeteer、Cypress 和 WebDriver 工作流可以使用独立的 macOS 桌面;安装 Docker 后,受支持的有头浏览器任务也可使用 Linux 虚拟显示。
无头 Playwright 或 Puppeteer,以及 `npm test` 或 vitest 等普通命令,仍在原有环境中运行,避免为不会打开窗口的任务增加路由开销。
不是。它使用现有 Mac 上另一个普通的 macOS 用户账户,无需启动客户机操作系统或虚拟机。产品网站称,设置大约需要 3 GB 磁盘空间。
网站列出的要求是 Apple Silicon Mac 和 Node.js 20 或更高版本。设置包括安装 CLI、运行 `sudo offstage session setup --create`,以及切换到辅助账户一次以启动其守护进程。设置需要管理员权限,可能还需要启用屏幕录制和辅助功能权限。
通过 MCP 支持 Claude Code、Codex 和 opencode。Claude Code 也支持以插件形式使用。无法使用 MCP 时,可以使用 CLI。
辅助账户是独立的普通用户,无法写入主用户的文件。如果它无法读取项目,`offstage session share <dir>` 可一次授予其对一个文件夹的只读访问权限;之后可以取消共享。
会拒绝安装程序和磁盘映像操作,包括 `.pkg`、`.dmg` 和 `hdiutil`。网站还说明,无头命令应在原环境中运行,而不应进行不必要的封装。
流量数据仅供参考。