openshell-plus 構成図

openshell-plus 構成図 An architecture diagram generated by Archify. ブラウザ · Vanilla JS ダッシュボード · openshell-plus(ループバック) ブラウザ Vanilla JS ダッシュボード Cloudflare Tunnel / Vercel · 公開エントリポイント · openshell-plus(ループバック) Cloudflare Tunnel / Vercel 公開エントリポイント FastAPI アプリ · openshell_ui :8080 · openshell-plus(ループバック) · REST / WebSocket / SSE · FastAPI FastAPI アプリ openshell_ui :8080 REST / WebSocket / SSE Bearer トークン認証 · loopback 以外は必須 · openshell-plus(ループバック) Bearer トークン認証 loopback 以外は必須 Backend Factory · core/factory.py · openshell-plus(ループバック) · health probe Backend Factory core/factory.py health probe Demo Backend · in-memory sandbox · openshell-plus(ループバック) · fallback Demo Backend in-memory sandbox fallback OpenShell Python SDK · openshell 0.1.2 · openshell-plus(ループバック) · async ラッパー OpenShell Python SDK openshell 0.1.2 async ラッパー OpenShell Gateway · コントロールプレーン · OpenShell 信頼側(コントロールプレーン) · policy / providers / logs OpenShell Gateway コントロールプレーン policy / providers / logs Supervisor · 信頼側 · OpenShell 信頼側(コントロールプレーン) · policy 判定 / 資格情報付与 Supervisor 信頼側 policy 判定 / 資格情報付与 承認済みエンドポイント · inference / 内部 API · OpenShell 信頼側(コントロールプレーン) 承認済みエンドポイント inference / 内部 API Sandbox Workload · 非信頼側 · 隔離境界(supervisor 以外の egress を deny) · Landlock / seccomp Sandbox Workload 非信頼側 Landlock / seccomp AI エージェント · 境界内で動作 · 隔離境界(supervisor 以外の egress を deny) AI エージェント 境界内で動作 HTTPS TLS トンネル / HTTPS トークンを検証 backend 選択を委譲 gateway 不達時 到達可能なら接続 sandbox lifecycle API policy と資格情報を配信 Sandbox Protocol(mTLS + JWT) policy 判定済みのみ TCP / DNS を仲介 openshell-plus(ループバック) OpenShell 信頼側(コントロールプレーン) 隔離境界(supervisor 以外の egress を deny) Legend Frontend Backend Database Cloud Security External

UI 層

  • • FastAPI + Vanilla JS の単一アプリが 4 つのデプロイ形態を賄う
  • • factory が起動時に gateway へ health probe し、demo へフォールバックする
  • • WebSocket を主経路にし、Cloudflare Quick Tunnel の SSE 非対応に対応

OpenShell 側

  • • gateway がコントロールプレーンとして sandbox の台帳と認可を持つ
  • • supervisor が policy 判定と DNS 解決、承認済み接続の確立を担う
  • • compute driver は境界の構築のみを行い、許可判定は行わない

セキュリティ境界

  • • loopback 以外の bind ではトークンなしの起動を拒否する
  • • supervisor と sandbox は相互認証の Sandbox Protocol で接続する
  • • sandbox 側は gateway の署名鍵も provider クレデンシャルも持たない