开源项目

OpenShell

OpenShell

面向自主 AI Agent 的安全隔离运行时,用内核级控制限制每个 agent 能访问的文件、系统调用和网络出口,凭据只在发往白名单端点的请求中注入。策略变更会先做形式化验证,标出新增的高风险访问并等人审,适合在生产环境里跑不受信任的 agent。提供 Python/TypeScript/Go/Rust SDK 与 Helm 部署方案。软件按 AS IS 提供,抓取到的外部内容需自行确认合规。

README

OpenShell

License PyPI Security Policy Documentation

[!IMPORTANT] OpenShell 0.1.x 新特性: 稳定的发布节奏、全新的隔离原语、扩展的扩展点接口,以及新的 API。阅读 0.1.0 升级指南。

OpenShell 是面向自主 AI agent(智能体)集群的安全、私密运行时。agent 在能够读取文件、安装软件包、调用 API 并使用凭证时最有价值。OpenShell 让它们具备这些能力,同时不会让它们无限制地访问你的数据、密钥或网络。你在 policy 中声明每个 agent 可以触碰什么,OpenShell 负责强制执行。

工作原理

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

  • 内核级强制执行。 每个 agent 都运行在隔离的 sandbox 中。内核控制限制了它可以访问哪些文件、可以发起哪些系统调用,并且每一条网络连接在离开 sandbox 之前都要经过 policy 检查。agent 永远看不到真实凭证;OpenShell 只为发往已批准端点的请求添加凭证。
  • 经过形式化验证的 policy 变更。 在 policy 变更获得批准之前,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。默认的 sandbox 镜像是最小化的 Ubuntu,未安装任何 agent。要运行真实的 agent,请参阅运行你的第一个 agent:它会针对一个免费的 OpenRouter 模型运行 OpenCode,并演示如何在 agent 需要时批准新的访问权限。

深入探索

Agent Skills

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

npx skills add NVIDIA/OpenShell

这些 skills 会教会你的 agent 驱动 OpenShell CLI、编写 sandbox policy,以及调试 gateway 和 inference 路由。它们位于 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 <release-tag> 安装与使用

社区

OpenShell 以 agent 优先的方式构建:它使用与自身所支持的同款 agent 驱动工作流进行开发。开发环境搭建与贡献流程请参阅 CONTRIBUTING.md,贡献者 agent skills 与工作流链请参阅 AGENTS.md。

遥测

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

声明与免责声明

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

许可证

本项目采用 Apache License 2.0 许可。

开源项目NVIDIA2026-09-29原文

相关内容