
自律型AIエージェント向けのサンドボックス化されたランタイム。ファイルシステム、ネットワーク、プロセスの制約を強制する宣言型YAMLポリシーと、エンドポイントに紐付けられた認証情報の注入機能を備えています。
[!IMPORTANT] OpenShell 0.1.x の新機能: 安定したリリースサイクル、新しい分離プリミティブ、拡張された拡張サーフェス、および新しい API。0.1.0 アップグレードガイドを読む。
OpenShell は、自律型 AI エージェントのフリート向けの安全でプライベートなランタイムです。エージェントは、ファイルを読み取り、パッケージをインストールし、API を呼び出し、認証情報を使用できるときに最も役立ちます。OpenShell は、データ、シークレット、ネットワークへの無制限のアクセスを許可することなく、その機能をエージェントに提供します。各エージェントが触れることができるものをポリシーで宣言し、OpenShell がそれを強制します。
OpenShell は、エージェントが実行できることを 2 つの方法で統制します。カーネルを計装して、実行時のすべてのファイルアクセス、システムコール、ネットワーク接続にポリシーを強制し、ポリシー変更が適用される前に何を許可するかを形式的検証で確認します。
ゲートウェイ、スーパーバイザー、サンドボックスがどのように連携するかについては、アーキテクチャを参照してください。
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 の下でライセンスされています。