sandbox-runtime 官网入口:官方仓库、下载与文档位置

sandbox-runtime(Anthropic 开源的操作系统级沙箱工具)可用官方仓库安装,并用 srt 限制进程的文件与网络访问。

截至 2026-11-01,Anthropic Sandbox Runtime 仍标注为 Beta Research Preview,API 和配置格式仍可能调整。这个项目没有单独的产品官网:准确入口是 GitHub 仓库 anthropics/sandbox-runtime,安装说明、文档目录和配置示例都在仓库里。

先认准官方入口,别进错项目

搜索 “sandbox-runtime 官网” 后,最可靠的结果是:

https://github.com/anthropics/sandbox-runtime

这是 Anthropic 组织下的公开仓库,页面包含以下内容:

  • README.md:安装命令、基础用法和 MCP 配置示例;
  • docs 文件夹:专项文档;
  • src 文件夹:实现代码;
  • Issues 与 Pull requests:问题反馈和开发记录;
  • Releases:如果项目后续发布正式版本,可在这里查看发行包。

它不是普通的 Node.js 库页面,而是同时提供命令行工具和库接口的独立项目。仓库说明将 srt 定义为一种轻量级沙箱:它在操作系统层限制文件系统和网络权限,但不使用容器。

如果搜索结果中出现 withruntime.com,那是另一个名称相近的云沙箱服务。Runtime 的账户控制台入口记录在 https://withruntime.com/docs/products.md,其文档指向 withruntime.com/account;这与 Anthropic 的 sandbox-runtime 不是同一个项目。需要检查 GitHub 登录状态时,可使用 https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fanthropics%2Fsandbox-runtime。

安装前准备系统与运行环境

srt 是 Sandbox Runtime 的命令行缩写。安装前完成以下三项:

  1. 三平台都受支持,不是只要 macOS/Linux。 官方 README 明列三种机制:macOS 用 sandbox-exec(Seatbelt profiles)、Linux 用 bubblewrap(容器化+网络命名空间隔离)、Windows 用专用 srt-sandbox 本地用户账号(基于该 SID 的 Windows Filtering Platform 出站栅栏 + 写受限令牌 + 工作树显式 ACE)。按你的系统确认对应能力即可——此前“仅 macOS 或 Linux”的说法与官方证据矛盾,已更正。
  2. 准备可用的 npm。 npm 是 Node.js 随附的软件包管理器。打开终端,确认系统能够找到 npm 命令,再执行下面的全局安装命令。
  3. 获取仓库并进入包含 README.md 的目录(后续要用 README 验证读权限,避免只看到安装完成却没确认沙箱真正生效):
git clone https://github.com/anthropics/sandbox-runtime
cd sandbox-runtime

项目采用 Apache-2.0 许可证。安装不需要先注册云服务,也没有必须购买的服务套餐;官方 README 展示的是本地全局安装方式。

用一条命令完成安装与验证

在终端执行官方 README 给出的安装命令:

npm install -g @anthropic-ai/sandbox-runtime

安装完成后,不要只看终端是否打印安装摘要。进入一个含有 README.md 的目录,再执行:

srt " cat README.md "

正常情况下,输出会先显示:

Running: cat README.md

随后出现 README 文件内容,并且不应出现 Operation not permitted。这同时验证了三件事:srt 已经进入当前终端的命令搜索路径、沙箱能够启动、当前目录中的普通文件可以读取。

需要验证网络限制时,可以连续执行官方示例中的两条命令:

srt " curl anthropic.com "
srt " curl example.com "

第一条请求应成功并返回 HTML 内容;第二条应出现下面这条阻止信息:

Connection blocked by network allowlist

这里的关键不是两个网站都能访问,而是允许列表确实生效。若 anthropic.com 也被拦截,就说明网络配置尚未允许目标域名,而不是先怀疑 curl。

文档和下载内容具体放在哪里

官方入口仍然是同一个 GitHub 仓库,但不同内容有明确位置:

要找的内容 仓库内位置或操作 怎么确认
安装说明 打开 README.md 的 Installation 部分 能找到 npm install -g @anthropic-ai/sandbox-runtime
基础命令 README.md 的 Basic Usage 部分 能找到 srt " curl anthropic.com " 等示例
专项文档 仓库顶部进入 docs 文件夹 文件列表中出现文档文件
源代码 仓库顶部进入 src 文件夹 能看到项目实现文件
版本发行包 仓库右侧 Releases 有发行记录时选择对应版本
问题与修复记录 仓库顶部 Issues 可按报错原文搜索已有问题

项目不是通过单独的下载页分发所有内容。当前 README 指定的安装方式是 npm 全局安装,因此“下载页”实际对应 npm 包 @anthropic-ai/sandbox-runtime。如果需要检查仓库是否仍然存在或文件是否更新,直接打开:

https://github.com/anthropics/sandbox-runtime

若只是学习 GitHub 仓库阅读方式,可参考 https://docs.github.com/en;若想了解仓库托管、Pull request 等 GitHub 功能,则在 https://github.com/platform 查看对应入口。

把 MCP 服务放进沙箱的配置方法

沙箱的一个主要用途是限制 MCP(Model Context Protocol,一种让 AI 应用连接工具和外部服务的协议)服务器能够访问哪些文件。

不启用沙箱时,配置文件中的进程直接启动 npx;启用后,把启动命令改为 srt。官方 README 给出的完整配置片段是:

{
  "mcpServers": {
    "filesystem": {
      "command": "srt",
      "args": ["npx", "-y", "@modelcontextprotocol/server-filesystem"]
    }
  }
}

将这段内容写入 MCP 客户端使用的 .mcp.json。关键变化只有一处:command 从 npx 变为 srt,参数仍保留原来的 npx 和文件系统服务器包。

文件权限配置放在用户目录下的 ~/.srt-settings.json。仓库示例包含以下规则:

"filesystem": {
  "denyRead": [],
  "allowWrite": ["."],
  "denyWrite": ["~/sensitive-folder"]
}

它的含义分别是:默认没有列入拒绝读取规则的目录允许读取;当前目录 . 允许写入;~/sensitive-folder 明确拒绝写入。denyRead 是拒绝读取列表,所以不要把本应读取的目录塞进这里。

常见阻止信息怎么处理

Connection blocked by network allowlist

这是官方示例明确会出现的网络阻止信息,说明目标域名没有进入允许列表。先执行:

srt " curl anthropic.com "

如果这个官方示例也失败,打开 ~/.srt-settings.json,检查 network 配置中的允许列表是否包含目标域名。修改后重新执行同一条命令,直到终端从 Connection blocked by network allowlist 变为实际响应。

Operation not permitted

官方文件权限示例也会产生这条信息:

srt " cat ~/.ssh/id_rsa "

输出中的 cat: ...: Operation not permitted 表示目标文件被沙箱拒绝,不是 SSH 文件损坏。不要通过放宽整个用户目录来解决;应先确认业务确实需要读取该路径,再调整 ~/.srt-settings.json 的 filesystem 规则。对于普通文件,可用下面的命令验证当前目录是否正常:

srt " cat README.md "

如果该命令能输出 README 内容,说明 srt 本身正常,问题仅在具体路径的权限策略。

成功标志与后续入口

安装成功的可观察结果是:npm install -g @anthropic-ai/sandbox-runtime 执行结束,随后 srt " cat README.md " 输出 README 内容;网络测试则应呈现“允许域名成功、非允许域名显示 Connection blocked by network allowlist”的对照结果。

如果 README 中没有 Installation 段落,回到仓库根目录的 README.md;如果需要专项配置,进入仓库的 docs 文件夹;如果命令行为不符合预期,把完整报错放进仓库的 Issues 搜索。这样可以区分是安装路径、配置规则,还是尚未覆盖的操作系统差异。

再次保存这些入口:

参考来源

评论区

0 条评论

登录后可评论。

咸鱼翻身 289 阅读