
OpenShell v0.1.5
自律型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 です。実際のエージェントを実行するには、最初のエージェントを実行するに従ってください。無料の 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、イシューテンプレートを使用
- セキュリティ脆弱性: SECURITY.md に従ってください。GitHub イシューを開かないでください。
- ロードマップ: OpenShell ロードマップ および RFC ボード
- クラウドで試す: Brev Launchable
OpenShell はエージェントファーストで構築されています。つまり、それが可能にするのと同じエージェント駆動のワークフローで開発されています。開発セットアップとコントリビューションワークフローについては CONTRIBUTING.md を、リポジトリのコーディング規約については AGENTS.md を参照してください。
テレメトリ
OpenShell は、プロジェクトの改善に役立てるため、運用カテゴリとカウントに限定した匿名テレメトリを収集します。サンドボックス名、ホスト名、ファイルパス、プロンプト、認証情報、プロバイダー名やモデル名、ユーザーコンテンツは収集しません。無効にするには、ゲートウェイで OPENSHELL_TELEMETRY_ENABLED=false を設定するか、Helm インストールの場合は server.telemetryEnabled=false を設定します。テレメトリを完全にコンパイルから除外することもできます。詳細はテレメトリを、公開されている使用傾向についてはコミュニティテレメトリレポートを参照してください。
通知と免責事項
このソフトウェアは、外部資料を自動的に取得、アクセス、または操作します。取得された資料はこのソフトウェアとともに配布されるものではなく、別個の条件およびライセンスによってのみ管理されます。適用されるすべての条件およびライセンスを見つけ、確認し、遵守すること、および取得された資料のセキュリティ、完全性、特定のユースケースへの適合性を検証することは、お客様の単独の責任です。このソフトウェアは「現状のまま」提供され、いかなる種類の保証も伴いません。作者は、取得された資料に関していかなる表明も保証も行わず、このソフトウェアまたは取得された資料の使用または使用不能から生じるいかなる損失、損害、責任、法的結果についても責任を負いません。このソフトウェアおよび取得された資料は、お客様自身の責任で使用してください。
ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。