← 返回日报
🌐 机器翻译 · DeepSeek · GitHub

NVIDIA OpenShell


NVIDIA OpenShell

OpenShell 0.1.x 重要新特性:稳定的发布节奏、新的隔离原语、扩展的扩展接口,以及新的 API。请阅读 0.1.0 升级指南。OpenShell 是为大规模自主 AI agent 集群打造的安全、私密运行时。Agent 在能够读取文件、安装软件包、调用 API 并使用凭据时最为有用。OpenShell 赋予它们这些能力,同时不让它们无限制地访问你的数据、密钥或网络。你在策略中声明每个 agent 可以接触什么,OpenShell 负责强制执行。

工作原理

OpenShell 通过两种方式管控 agent 的行为:它在内核层进行插桩,在运行时对每一次文件访问、系统调用和网络连接强制执行策略;它还使用形式化验证,在策略变更被应用之前检查该变更将允许哪些行为。

内核级强制执行。 每个 agent 运行在隔离的沙箱中。内核控制机制限制它可以访问哪些文件、可以发起哪些系统调用,并且每一个网络连接在离开沙箱之前都要经过策略检查。Agent 永远看不到真实的凭据;OpenShell 仅在发往已批准端点的请求中添加它们。

经形式化验证的策略变更。 在策略变更被批准之前,OpenShell 使用形式化验证来标记该变更将授予的高风险新访问权限,例如使用凭据访问新主机或调用新的 API 方法,因此这些变更会等待人工审核。

关于 gateway、supervisor 和 sandbox 如何协同工作,请参阅架构文档。

快速开始

你需要 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 和一个本地 gateway。默认沙箱镜像是最小化的 Ubuntu,未安装任何 agent。要运行真实的 agent,请按照运行你的第一个 Agent 操作:它针对一个免费的 OpenRouter 模型运行 OpenCode,并展示如何在 agent 需要时批准新的访问权限。

深入探索

为你的编码 agent 安装公开的 OpenShell 技能:

npx skills add NVIDIA/OpenShell

这些技能教会你的 agent 驱动 OpenShell CLI、编写沙箱策略,以及调试 gateway 和推理路由。它们位于 skills/ 目录中,无需检出 OpenShell 源码即可使用。

SDK

SDK 将应用程序连接到 OpenShell gateway。它们不安装 CLI。请尽可能对 SDK 和 gateway 使用相同的 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 | |

安装与使用

社区

OpenShell 以 agent 优先为理念构建:它使用与其所赋能的工作流相同的 agent 驱动工作流进行开发。开发环境设置和贡献流程请参阅 CONTRIBUTING.md,贡献者 agent 技能和工作流链请参阅 AGENTS.md。

遥测

OpenShell 收集匿名遥测数据,仅限于运营类别和计数,以帮助改进项目。它不收集沙箱名称、主机名、文件路径、提示词、凭据、提供方或模型名称,或用户内容。要禁用它,请在 gateway 上设置 OPENSHELL_TELEMETRY_ENABLED=false,或在 Helm 安装中设置 server.telemetryEnabled=false。你也可以在编译时完全移除遥测功能。详情请参阅遥测文档,已发布的使用趋势请参阅社区遥测报告。

声明与免责

本软件自动检索、访问或与外部材料交互。这些检索到的材料不随本软件分发,仅受单独的条款、条件和许可证约束。你独自负责查找、审阅并遵守所有适用的条款、条件和许可证,并负责验证任何检索到的材料对你特定用例的安全性、完整性和适用性。本软件按“原样”提供,不附带任何形式的保证。作者对任何检索到的材料不作任何陈述或保证,并且对你的使用或无法使用本软件或任何检索到的材料所导致的任何损失、损害、责任或法律后果不承担任何责任。使用本软件和检索到的材料风险自负。

许可证

本项目基于 Apache License 2.0 许可。

📖 阅读原文 →