微软 MXC 沙箱:Apple 芯片有二进制,Intel 芯片没有

一句话结论:MXC 正式版给 agent 的出网和读写套闸门,macOS 只发 Apple 芯片那份。 现在该做什么:装完跑一条 ls 看 bin/x64 里有没有 dylib,没有就别排期。

发生了什么

10 月 7 日,微软把 MXC 标成了正式版。

它给模型输出和工具调用套一层进程沙箱,Rust、.NET、Node 三套 SDK。

官方博客署名的 CVP 是 Logan Iyer。博客列了一串采用者:Copilot、Codex、Replit,微软单方写的,我没核实。

仓库 10-11 读数:2633 星、MIT、Rust。

后端按平台分:Windows 是 ProcessContainer,Linux 是 Bubblewrap。macOS 只有 seatbelt 一档。

已确认的,和还没确认的

文档写着支持。包里没有。

v1.0.0 的 README 把 macOS 的 ARM64 和 x64 并列在同一行,后端都写 seatbelt。同一个 tag 的构建命令只有 aarch64。

装到磁盘上更直接:bin/arm64 有 dylib 和 mxc-exec-mac,bin/x64 两个都没有。

microsoft/mxc#571 问的就是这件事,已关,理由写着 not_planned。维护者 8 月 13 日原话:

We currently don’t plan on supporting MacOS x64.

没确认的:我没有 Apple 芯片的机器,arm64 那条路只有包内产物撑着,不算实测。

对谁有什么影响

能不能跑,先看芯片。

  • Intel Mac:文档有这一行,包里没有二进制
  • Apple 芯片 Mac:装得上,出网只有开和关
  • node 不到 24:安装只 warn,执行才炸
  • Windows 独有:活动报告、Intune、Entra

seatbelt 只给你一根出网开关,没有按域名放行的原语。要按 host 放行,得自己挂 networkProxy——这条我只在文档里读到,Intel 机器上验不了。

活动报告也只有 Windows 有,博客写着它能列出 workload 试过哪些资源。所以同一份策略在三个平台拦得不一样,这句是我从文档表推的。

我实测到的

Intel Mac,node 22。

空目录里 npm i @microsoft/mxc-sdk@1.0.0,exit 0,只有一条 node 版本 warn。

getPlatformSupport() 说支持,run() 却炸在原生库:

MxcError: mxc_ffi native library was not found. Searched:
…/@microsoft/mxc-sdk/bin/x64/libmxc_ffi.dylib

路径我折了,原文五条。那个 true 是查表来的:注释写着 sandbox-exec 系统自带。

把 arm64 的 dylib 拷进 x64,报错变成 dlopen 的 incompatible architecture。have arm64、need x86_64。

缺口在架构,不在路径。

接下来盯什么,我的判断

我不觉得 1.x 会补上 x64 那份二进制。

#571 标成了 not_planned,想补包的 PR 关闭时 merged_at 是 null。如果明年这时 bin/x64 里出现 dylib,或者 dist-tag 多出 next、beta,我就把 MXC 接进插件的构建流程,在真机上跑一遍策略。在那之前,这台机器上它就是个装得动、跑不了的包。

项目地址:https://github.com/microsoft/mxc 文档那一行和包里的文件对不上,这条差异我一条 ls 就能复现。

FAQ · 常见问题

常见问题

Intel Mac 装 MXC 1.0 是什么结果?

装得动、跑不了。空目录里 npm i @microsoft/mxc-sdk@1.0.0 退出码 0,只有一条 node 版本 warn(本机 node 22);getPlatformSupport() 说支持,run() 却抛 MxcError,mxc_ffi native library was not found,搜索路径落在 bin/x64/libmxc_ffi.dylib。

把 arm64 那份动态库拷进 x64 目录能绕过去吗?

绕不过。拷过去之后报错变成 dlopen 的 incompatible architecture,have arm64、need x86_64——缺口在架构不在路径。包里的实际分布是 bin/arm64 有 dylib 和 mxc-exec-mac,bin/x64 两个都没有。

微软有计划补 macOS x64 那份二进制吗?

看不出来会补。microsoft/mxc#571 问的就是这件事,已关、理由写着 not_planned,维护者 8 月 13 日那句原话说的是当前不计划支持 MacOS x64;想补包的那个 PR 关闭时 merged_at 是 null。另外出网这层 seatbelt 只给一根开关,没有按域名放行的原语,要按 host 放行得自己挂 networkProxy。