Nvidia OpenShell
要約
Nvidiaが開発したOpenShellは、AIエージェント向けの安全でプライベートな実行環境です。カーネルレベルでのポリシー強制と形式検証により、エージェントがファイル、パッケージ、API、認証情報にアクセスする際に、データやネットワークへの無制限なアクセスを防ぎます。これにより、エージェントの能力を安全に拡張できます。
全文翻訳
[画像: OpenShell]
[画像: License] [画像: PyPI] [画像: Security Policy] [画像: Documentation]
重要
OpenShell 0.1.x の新機能: 安定したリリース周期、新しい分離プリミティブ、拡張された拡張機能サーフェス、および新しいAPI。0.1.0 アップグレードガイドをお読みください。
OpenShellは、自律AIエージェントのフリートのための安全でプライベートな実行環境です。エージェントは、ファイル、パッケージ、API、認証情報にアクセスできる場合に最も役立ちます。OpenShellは、データ、秘密情報、またはネットワークへの無制限なアクセスを許可することなく、それらの機能を提供します。各エージェントが何にアクセスできるかをポリシーで宣言し、OpenShellがそれを強制します。
仕組み
OpenShellは、エージェントができることを2つの方法で管理します。カーネルにインストゥルメントを適用して、実行時にすべてのファイルアクセス、システムコール、ネットワーク接続に対してポリシーを強制し、ポリシー変更が適用される前に、その変更が許可する内容をチェックするために形式検証を使用します。
- カーネルレベルの強制。 各エージェントは分離されたサンドボックスで実行されます。カーネル制御により、アクセスできるファイルと実行できるシステムコールが制限され、すべてのネットワーク接続はサンドボックスを出る前にポリシーチェックを通過します。エージェントは実際の認証情報を見ることはありません。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、ライフサイクル。
- ポリシー: ファイルシステム、ネットワーク、プロセスのルール。変更レビューのためのアドバイザーとプロバー。
- プロバイダー: 承認されたエンドポイントでのみ機能する認証情報、推論を含む。
- ゲートウェイ: サンドボックス、ポリシー、アクセスの制御プレーン。
- 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(Issueテンプレートを使用)
- セキュリティ脆弱性: SECURITY.mdに従ってください。GitHub Issueは開かないでください。
- ロードマップ: OpenShell RoadmapおよびRFCボード
- クラウドで試す: Brev Launchable
OpenShellはエージェントファーストで構築されています。これは、それが可能にするエージェント駆動ワークフローと同じものを使用して開発されています。CONTRIBUTING.mdで開発セットアップと貢献ワークフローを、AGENTS.mdでリポジトリのコーディング規約を確認してください。
テレメトリ
OpenShellは、プロジェクトの改善に役立つように、運用カテゴリとカウントに限定された匿名テレメトリを収集します。サンドボックス名、ホスト名、ファイルパス、プロンプト、認証情報、プロバイダーまたはモデル名、ユーザーコンテンツは収集しません。無効にするには、ゲートウェイでOPENSHELL_TELEMETRY_ENABLED=falseを設定するか、Helmインストールでserver.telemetryEnabled=falseを設定してください。テレメトリを完全にコンパイルアウトすることもできます。詳細についてはテレメトリを、公開された使用傾向についてはコミュニティテレメトリレポートを参照してください。
通知と免責事項
このソフトウェアは、外部資料を自動的に取得、アクセス、またはそれらと対話します。取得された資料は、このソフトウェアとは別に配布されず、個別の利用規約およびライセンスのみに従います。適用されるすべての利用規約およびライセンスを見つけ、レビューし、遵守すること、および取得された資料のセキュリティ、完全性、および適合性を特定のユースケースに対して検証することは、すべてお客様の責任です。このソフトウェアは、いかなる保証もなく「現状有姿」で提供されます。著者は、取得された資料に関して一切の表明または保証を行わず、このソフトウェアまたは取得された資料の使用または使用不能から生じるいかなる損失、損害、責任、または法的結果についても一切の責任を負いません。このソフトウェアおよび取得された資料の使用は、お客様のリスクで行ってください。
ライセンス
このプロジェクトはApache License 2.0の下でライセンスされています。