NVIDIA OpenShell 0.1.x 加强智能体隔离并扩展 API
OpenShell – A safe, private runtime for fleets of autonomous AI agents
开源项目 OpenShell 0.1.x 增加稳定的发布节奏、新的隔离原语、扩展接口与 API,并提供 0.1.0 升级指南。该运行时通过内核级策略控制,将每个智能体限制在隔离沙箱中,并对文件访问、系统调用和网络连接实施检查。策略变更前,OpenShell 会用形式化验证标记新增的高风险访问并交由人工复核,真实凭证仅注入发往获批端点的请求。
原文同时给出沙箱隔离、策略执行和变更验证机制,读者可据此比较多智能体运行时的权限治理实现。
重要
OpenShell 0.1.x 新增: 稳定的发布周期、新的隔离原语、更丰富的扩展接口和新的 API。阅读 0.1.0 升级指南。
OpenShell 是面向自主 AI 智能体集群的安全、隐私保护型运行时环境。智能体在能够读取文件、安装软件包、调用 API 和使用凭据时最有价值。OpenShell 赋予它们这些能力,但不会让它们不受限制地访问您的数据、机密或网络。您可以在策略中声明每个智能体可以访问的内容,OpenShell 会强制执行这些策略。
工作原理
OpenShell 通过两种方式管控智能体的行为:一方面,它对内核进行插桩,在运行时对每次文件访问、系统调用和网络连接强制执行策略;另一方面,它使用形式化验证,在应用策略变更前检查该变更将允许哪些操作。
- 内核级强制执行。 每个智能体都在隔离的沙箱中运行。内核控制机制会限制它可以访问的文件以及可以发起的系统调用;每个网络连接在离开沙箱前都要通过策略检查。智能体绝不会看到真实凭据;OpenShell 只会将凭据添加到目标为获批端点的请求中。
- 经过形式化验证的策略变更。 在策略变更获批前,OpenShell 会使用形式化验证,标记该变更将授予的高风险新访问权限,例如携带凭据连接新主机或调用新的 API 方法,从而让这些变更等待人工审核。
有关网关、监督器和沙箱如何协同运作,请参阅 架构。
快速入门
您需要 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,并展示如何在智能体需要时批准新的访问权限。
进一步探索
- 沙箱:镜像、运行时、GPU 和生命周期。
- 策略:文件系统、网络和进程规则,并使用 advisor 和 prover 审查变更。
- 提供商:仅适用于获批端点的凭证,包括推理。
- 网关:用于管理沙箱、策略和访问的控制平面。
- Kubernetes:使用 Helm 部署网关。您的 CNI 必须强制执行
NetworkPolicy。 - 可扩展性:中间件、拦截器和计算驱动。
- 教程:有关策略和智能体的分步讲解。
- 预发布和开发构建:在
main上试用即将发布的版本或最新提交。
智能体技能
为您的代码智能体安装公开的 OpenShell 技能:
npx skills add NVIDIA/OpenShell
这些技能会教您的智能体操作 OpenShell CLI、编写沙箱策略,以及调试网关和推理路由。它们位于 skills/,无需检出 OpenShell 源代码即可使用。
SDK
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> |
安装与使用 |
社区
- 问题与讨论: GitHub Discussions
- 错误报告和功能请求: GitHub Issues,使用问题模板
- 安全漏洞:请遵循 SECURITY.md。请勿创建 GitHub issue。
- 路线图:OpenShell Roadmap 和 RFC 看板
- 在云端试用:Brev Launchable
OpenShell 以智能体优先的方式构建:开发过程中采用与其所赋能功能相同的智能体驱动工作流。开发环境和贡献工作流请参阅 CONTRIBUTING.md,代码规范请参阅 AGENTS.md。
遥测
OpenShell 会收集匿名遥测数据,仅限于运行类别和计数,以帮助改进项目。它不会收集沙箱名称、主机名、文件路径、提示词、凭据、提供商或模型名称,也不会收集用户内容。要禁用此功能,请在网关上设置 OPENSHELL_TELEMETRY_ENABLED=false,或在 Helm 安装时设置 server.telemetryEnabled=false。您也可以在编译时完全移除遥测功能。详情请参阅 遥测,已公布的使用趋势请参阅 社区遥测报告。
声明和免责声明
本软件会自动检索、访问外部材料或与其交互。检索到的材料不随本软件分发,仅受单独的条款、条件和许可约束。您应自行负责查找、审查并遵守所有适用的条款、条件和许可,并验证任何检索到的材料对于您的具体用例是否安全、完整和适用。本软件按"AS IS"提供,不附带任何形式的担保。作者不对任何检索到的材料作出任何陈述或保证,也不对因使用或无法使用本软件或任何检索到的材料而造成的任何损失、损害、责任或法律后果承担责任。使用本软件及检索到的材料的风险由您自行承担。
许可证
本项目采用 Apache 许可证 2.0 授权。
来源:Hacker News · github.com