このプロジェクトについて

NVIDIAのOpenShellは、最小権限アクセスで自律型AIエージェントのフリートを実行するためのランタイムおよびコントロールプレーンである。エージェントはファイルの読み取り、パッケージのインストール、APIの呼び出し、認証情報の使用が可能だが、各アクションは無制限のホストアクセスではなく宣言型ポリシーによって統治される。 アーキテクチャは、分離されたエージェントサンドボックス、スーパーバイザー、ゲートウェイを組み合わせている。カーネルレベルの制御がファイルアクセスとシステムコールを制限し、ネットワーク接続はサンドボックスを離れる前にポリシーに対してチェックされる。実際の認証情報はエージェントから隠され、承認されたエンドポイント宛てのリクエストにのみ付加される。 ポリシー変更は適用前にレビューされる。OpenShellは形式検証を用いて、新しいホストへの認証情報送信や新しいAPIメソッドの有効化など、新たに付与されたアクセスを特定し、リスクのある変更を人間の承認のために保留できる。ポリシーはファイルシステム、ネットワーク、プロセスの動作を対象とし、advisorおよびproverツールがドキュメントで説明されている。 クイックスタートには、Linux、Apple Silicon上のmacOS、または実験的プラットフォームとしてWSL 2を備えたWindowsが必要で、Docker、Podman、またはホスト仮想化も必要である。インストーラーはCLIとローカルゲートウェイを構成し、デフォルトのサンドボックスはエージェントが事前インストールされていない最小限のUbuntuイメージである。文書化された最初のエージェントワークフローでは、OpenRouterモデルでOpenCodeを使用し、追加アクセスの承認を実演している。 デプロイと統合のオプションには、HelmによるKubernetesインストール、サンドボックスとポリシーのゲートウェイ管理、GPUとランタイムの構成、ミドルウェアとインターセプター、コンピュートドライバーが含まれる。SDKはPython、TypeScript、Go、Rustで利用可能で、アプリケーションをOpenShellゲートウェイに接続できる。公開されているコーディングエージェントスキルをインストールすることで、エージェントがCLIの使用、ポリシーの作成、ゲートウェイと推論ルーティングのデバッグを行えるようになる。 OpenShellは、カテゴリと件数に限定された匿名の運用テレメトリを収集する。READMEによると、サンドボックス名、ホスト名、ファイルパス、プロンプト、認証情報、プロバイダー名やモデル名、ユーザーコンテンツは収集しない。テレメトリは環境変数またはHelm設定で無効化でき、コンパイル時に除外することも可能である。このプロジェクトはApache License 2.0の下でリリースされている。