© 2026FindAgent  · @simprr
返回列表
N

NVIDIA/OpenShell

OpenShell is the safe, private runtime for autonomous AI agents.

⭐

4.0k

Stars

🔱

400

Forks

👁

12

Watchers

📋

64

Issues

RustApache-2.0创建于 2026/2/24更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

OpenShell

License PyPI Security Policy Documentation Project Status

OpenShell 是专为自主 AI Agent 设计的安全、私密运行时环境。它提供了沙盒化的执行环境,通过声明式的 YAML 策略来保护您的数据、凭据和基础设施,从而防止未经授权的文件访问、数据泄露和不受控制的网络活动。

OpenShell 是以 Agent 为优先构建的。该项目附带了涵盖从集群调试到策略生成等各种场景的 Agent 技能,我们期待贡献者们能充分利用这些功能。

Alpha 软件 — 单人模式。 OpenShell 目前处于验证阶段:一名开发者,一个环境,一个网关。我们正在朝着支持多租户的企业级部署方向努力,但目前的起点是帮助您快速搭建并运行自己的环境。可能会遇到一些粗糙之处,请带上您的 Agent 来体验。

快速上手

前置要求

  • Docker — 必须确保 Docker Desktop(或 Docker 守护进程)处于运行状态。

安装

二进制安装(推荐):

curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh

通过 PyPI 安装(需要 uv):

uv tool install -U openshell

这两种方式默认都会安装最新的稳定版本。如需安装特定版本,请设置 OPENSHELL_VERSION 环境变量(二进制安装)或使用 uv tool install openshell== 指定版本。此外,还提供了一个 dev 版本,用于追踪 main 分支的最新提交。

创建沙盒

openshell sandbox create -- claude  # 或 opencode, codex, copilot

首次使用时会自动创建一个网关。如果想在远程主机上部署,请在创建命令中添加 --remote user@host 参数。

沙盒容器默认包含以下工具:

类别工具
Agentclaude, opencode, codex, copilot
语言python (3.13), node (22)
开发工具gh, git, vim, nano
网络ping, dig, nslookup, nc, traceroute, netstat

更多详情请参考:https://github.com/NVIDIA/OpenShell-Community/tree/main/sandboxes/base

体验网络策略

每个沙盒启动时都处于 最小出站访问 权限。您可以通过简单的 YAML 策略来开启额外的访问权限,策略由代理在 HTTP 方法和路径级别进行强制执行,无需重启任何服务。

# 1. 创建一个沙盒(默认仅具备最小出站访问权限)
openshell sandbox create

# 2. 在沙盒内操作 — 被拦截
sandbox$ curl -sS https://api.github.com/zen
curl: (56) Received HTTP code 403 from proxy after CONNECT

# 3. 回到宿主机 — 应用一个只读的 GitHub API 策略
sandbox$ exit
openshell policy set demo --policy examples/sandbox-policy-quickstart/policy.yaml --wait

# 4. 重新连接 — GET 被允许,POST 被 L7 策略拦截
openshell sandbox connect demo
sandbox$ curl -sS https://api.github.com/zen
Anything added dilutes everything else.

sandbox$ curl -sS -X POST https://api.github.com/repos/octocat/hello-world/issues -d '{"title":"oops"}'
{"error":"policy_denied","detail":"POST /repos/octocat/hello-world/issues not permitted by policy"}

查看 完整指南 或运行自动化演示:

bash examples/sandbox-policy-quickstart/demo.sh

工作原理

OpenShell 将每个沙盒隔离在独立的容器中,并配合基于策略的出站流量路由。轻量级网关负责协调沙盒的生命周期,每一条出站连接都会被策略引擎拦截,并进行以下三种处理之一:

  • 允许 (Allows) — 目标地址和二进制文件匹配策略允许列表。
  • 转发至推理 (Routes for inference) — 去除调用者凭据,注入后端凭据,并将请求转发至托管模型。
  • 拒绝 (Denies) — 拦截请求并记录日志。
组件角色
网关控制面 API,负责协调沙盒生命周期,并充当身份验证边界。
沙盒具备容器监控和策略强制出站路由的隔离运行时。
策略引擎执行 Layer 7 网络过滤的引擎。
贡献者
djpmkezPwK
项目信息
默认分支main
LicenseApache License 2.0
创建时间2026/2/24
最近更新今天
GAI 中文摘要

OpenShell 是一个基于 Rust 构建的开源项目,旨在为自主 AI 智能体提供安全且私密的运行时环境。它通过沙箱化执行机制和声明式 YAML 策略,有效保护用户的数据、凭证及基础设施,防止未经授权的文件访问、数据泄露及失控的网络活动。

提供隔离的沙箱执行环境,确保智能体在受控的空间内运行。

利用声明式 YAML 策略实现精细化的权限管理,实时控制网络访问权限及路径。

内置多种预装工具和环境支持,涵盖常用开发语言、版本控制及网络调试工具。

支持从单机环境快速扩展至远程主机部署,满足开发者从本地调试到远程协作的需求。

专为智能体开发设计,支持多种主流 AI 模型及开发工具链的直接集成。

该项目适用于需要提升 AI 智能体执行安全性的开发者与企业,特别适合在处理敏感数据或复杂基础设施任务时,构建隔离且受控的自动化运行环境。