
OpenShell v0.1.6
自律型AIエージェント向けのサンドボックス化されたランタイム。ファイルシステム、ネットワーク、プロセスの制約を強制する宣言型YAMLポリシーと、エンドポイントに紐付けられた認証情報の注入機能を備えています。
[!IMPORTANT] 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 です。実際のエージェントを実行するには、Run Your First Agent に従ってください。これは無料の OpenRouter モデルに対して OpenCode を実行し、エージェントが必要とする新しいアクセスを承認する方法を示します。
Microsoft MXC によるネイティブ Windows サポートについては、セットアップと現在の制限事項について Windows build and runtime guide を参照してください。
さらに詳しく
- Sandboxes: イメージ、ランタイム、GPU、ライフサイクル。
- Policies: ファイルシステム、ネットワーク、プロセスのルール。advisor と prover による変更のレビューも含みます。
- Providers: 承認されたエンドポイントでのみ機能する認証情報。inference も含みます。
- Gateways: サンドボックス、ポリシー、アクセスのためのコントロールプレーン。
- Kubernetes: Helm でゲートウェイをデプロイします。CNI が
NetworkPolicyを強制する必要があります。 - Extensibility: ミドルウェア、インターセプター、コンピュートドライバー。
- Tutorials: ポリシーとエージェントのステップバイステップのウォークスルー。
- Prerelease and development builds: 次回リリースまたは
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 イシューは開かないでください。
- ロードマップ: OpenShell Roadmap および RFC ボード
- クラウドで試す: Brev Launchable
OpenShell はエージェントファーストで構築されています。つまり、OpenShell が実現するのと同じエージェント駆動ワークフローを用いて開発されています。開発環境のセットアップとコントリビューションのワークフローについては CONTRIBUTING.md を、リポジトリのコーディング規約については AGENTS.md を参照してください。
テレメトリー
OpenShell は、プロジェクトの改善に役立てるため、運用カテゴリとその件数に限定した匿名テレメトリーを収集します。サンドボックス名、ホスト名、ファイルパス、プロンプト、認証情報、プロバイダー名やモデル名、ユーザーコンテンツは収集しません。無効にするには、ゲートウェイで OPENSHELL_TELEMETRY_ENABLED=false を設定するか、Helm インストールの場合は server.telemetryEnabled=false を設定してください。テレメトリーを完全にコンパイルから除外することもできます。詳細は Telemetry を、公開されている利用動向についてはコミュニティテレメトリーレポートを参照してください。
通知および免責事項
本ソフトウェアは、外部の素材を自動的に取得、アクセス、または操作します。取得された素材は本ソフトウェアとともに配布されるものではなく、別途の利用規約、条件、ライセンスのみに従います。適用されるすべての利用規約、条件、ライセンスを確認し遵守すること、および取得された素材がお客様の特定のユースケースに対して安全で、完全で、適切であることを検証することは、お客様の単独の責任です。本ソフトウェアは「現状のまま」提供され、いかなる種類の保証も伴いません。作者は、取得された素材に関していかなる表明も保証も行わず、本ソフトウェアまたは取得された素材の使用または使用不能から生じるいかなる損失、損害、責任、法的結果についても責任を負いません。本ソフトウェアおよび取得された素材は、お客様自身の責任で使用してください。
ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。