面向自主 AI 代理的沙箱运行时,通过声明式 YAML 策略强制执行文件系统、网络和进程约束,并支持端点绑定的凭据注入。
[!IMPORTANT] OpenShell 0.1.x 新特性: 稳定的发布节奏、新的隔离原语、扩展的扩展接口以及新的 API。阅读 0.1.0 升级指南。
OpenShell 是面向自主 AI 智能体集群的安全、私密运行时。智能体在能够读取文件、安装软件包、调用 API 和使用凭据时最为有用。OpenShell 赋予它们这些能力,同时不让它们无限制地访问你的数据、机密或网络。你在策略中声明每个智能体可以接触什么,OpenShell 负责强制执行。
OpenShell 通过两种方式管控智能体的行为:它插桩内核,在运行时对每次文件访问、系统调用和网络连接强制执行策略;并使用形式化验证,在策略变更应用之前检查该变更将允许什么。
关于网关、监督器和沙箱如何协同工作,请参阅架构。
你需要 Linux、Apple Silicon 上的 macOS,或带有 WSL 2 的 Windows(实验性),以及 Docker、Podman 或主机虚拟化。详情请参阅支持矩阵。
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
openshell sandbox create --name demo
安装程序会设置 CLI 和本地网关。默认沙箱镜像是最小化的 Ubuntu,未安装任何智能体。要运行真实的智能体,请按照运行你的第一个智能体操作:它针对免费的 OpenRouter 模型运行 OpenCode,并展示如何在智能体需要时批准新的访问权限。
NetworkPolicy。main 上的最新提交。为你的编码智能体安装公开的 OpenShell 技能:
npx skills add NVIDIA/OpenShell
这些技能会教你的智能体驱动 OpenShell CLI、编写沙箱策略,以及调试网关和推理路由。它们位于 skills/,无需检出 OpenShell 源代码即可使用。
SDK 将应用程序连接到 OpenShell 网关。它们不会安装 CLI。尽可能让 SDK 和网关使用相同的 OpenShell 版本。
| 语言 | 安装 | 文档 |
|---|---|---|
| Python | uv add openshell | README |
| TypeScript | npm install @nvidia/openshell-sdk(GitHub Packages) | README |
| Go | go get github.com/NVIDIA/OpenShell/sdk/go@latest | README |
| Rust | cargo add openshell-sdk --git https://github.com/NVIDIA/OpenShell --tag <release-tag> | 安装与使用 |
OpenShell 以智能体优先的方式构建:它使用与其所赋能的工作流相同的智能体驱动工作流进行开发。开发环境设置和贡献工作流请参阅 CONTRIBUTING.md,仓库编码约定请参阅 AGENTS.md。
OpenShell 收集匿名遥测数据,仅限于运营类别和计数,以帮助改进项目。它不会收集沙箱名称、主机名、文件路径、提示词、凭据、提供程序或模型名称,或用户内容。要禁用它,请在网关上设置 OPENSHELL_TELEMETRY_ENABLED=false,或在 Helm 安装中设置 server.telemetryEnabled=false。你也可以将遥测完全编译移除。详情请参阅遥测,已发布的使用趋势请参阅社区遥测报告。
本软件会自动检索、访问或与外部材料交互。这些检索到的材料不随本软件分发,仅受单独的条款、条件和许可证约束。你需自行负责查找、审阅并遵守所有适用的条款、条件和许可证,并验证任何检索到的材料对你特定用例的安全性、完整性和适用性。本软件按“原样”提供,不附带任何形式的保证。作者对任何检索到的材料不作任何陈述或保证,并且对你的使用或无法使用本软件或任何检索到的材料所导致的任何损失、损害、责任或法律后果不承担任何责任。使用本软件和检索到的材料需自行承担风险。
本项目根据 Apache License 2.0 许可。