安装之前
该构建面向 macOS 14 或更高版本的 Apple Silicon,且未签名(ad-hoc),因此 Gatekeeper 会在首次启动时将其隔离,并报告它已损坏。它并没有损坏;macOS 是在说它不认识签名者。
先把 OpenMake Companion.app 拖到 /Applications,然后把隔离属性清除一次。该应用刻意没有 Dock 图标 — 打开之后,请在菜单栏里找那个文件夹图标。
xattr -dr com.apple.quarantine '/Applications/OpenMake Companion.app'它做什么,以及它刻意不做什么
Companion 是一个执行节点,而非第二个 OpenMake 客户端。它只管一件事 — 做那台智能体任务能够触达的机器 — 其余一切都交回给浏览器。这条边界正是要点所在:Web 新增的功能不必再造第二遍。
- 连接与断开工作文件夹,并读取每一个的实时状态
- 回应那道 shell 命令无法绕过的执行确认对话框
- 任务结束时收到通知,点击它即可在 Web 中落到那个任务上
- 没有聊天界面 —「在 Web 中打开」会把对话交回给浏览器
连接一个本地文件夹
从菜单栏挑选一个文件夹。只有它的名字会到达服务器,完整路径永远不会,从此一个智能体任务就能通过桥接请求在其中工作。可以同时连接多个根目录 — 每一个都在一个派生出的设备 id 下拥有独立的桥接连接,因此作用域、沙箱和一次性批准会按文件夹各自分开。默认情况下,一个用户最多连接三台设备。
- 访问由一份固定的 RPC 白名单和 realpath 检查来限定作用域,因此符号链接无法走出该文件夹
- 明显危险的命令会被立即拒绝
- 其余每一条 shell 命令都需要用户确认,且无法绕过
- sandbox-exec 会阻止在所连接文件夹之外写入,以及从机密路径读取
认证与后端
Companion 使用一个带 bridge 作用域的 API 密钥进行认证,该密钥从 Web 设置里的 API 密钥处签发。密钥保存在 macOS 钥匙串中,并通过辅助进程的环境变量而非其命令行传递给它,因此不会出现在进程列表里。后端选择器可在托管服务与端口 52416 上的本地实例之间切换。
经过校验的更新
更新器读取服务器清单的 native 通道,只接受 HTTPS 或回环源,并在替换正在运行的应用之前校验下载文件的 SHA-256。
已经在运行桌面版 1.10.0?
Electron 桌面应用先被冻结,随后在其桥接迁入那个共享内核后从源码树中移除。对已有安装而言没有任何东西会崩坏:更新清单仍带着它的通道,最后一个构建也依旧可下载。停止的只是新的发布,而本地智能体工作从此归 Companion。
Companion 唯一没有替代的,是应用内的聊天窗口,因为那如今是浏览器的活儿。如果你想要那个窗口,最后一个 Electron 构建仍在提供。

OpenMake