プラットフォーム概要
LIFEOSAIプラットフォーム全体を1枚の図に。Edge → Gateway → Compute → Runtime → Data、外部プロバイダとDevOpsは右側のレールに配置。
ブラウザ&チャネル入口 → User Managementゲートウェイ → Agent APIコンピュート → ランタイムエンジン → データプレーン。外部プロバイダとDevOpsは右側のレールに表示。
読み方
プラットフォームは、点線で囲まれたLIFEOSAI Platform境界の内側に、上から下へ5つのティアを持ち、右側に2つの外部レールがあります。
| ティア | 役割 | コンポーネント |
|---|---|---|
| Clients(上、外側) | 人間が入る場所 | Web Users · Tauri Desktop · iOS App · Internal Admin · Chat Users(WhatsApp/Telegram) · Phone Caller(音声ブリッジ) |
| Edge Tier | TLS · 認証 · 公開面 | イングレス(Cloud Run + Tauri HTTP) · Auth Service(apps/auth · 3002) · Web SSR(apps/web · Next.js · 3000) |
| Gateway Tier | 中央ルーティング | User Management(apps/user-management · 3001) — ルーティングハブ · Direct APIs(files · models · billing · OAuth · plugins) |
| Compute Tier | Agent API(ポート4000) | オーケストレーション(heartbeat · invoker · event-bus) · Channels System(WhatsApp Baileys WS、Telegram grammy) · Phone Bridge(Gemini Live) · REST + SSE |
| Runtime Tier | エージェントを実行するコーディングエージェント / SDK | Claude Code(claude-agent-sdk + MCP + skills + sessions) · Pi Coding Agent(オープンソース、pi-agent-runtime + MCP + skills + permissions) · Event Normalizer(非Claudeストリーム → SDKMessage) |
| Data Tier | 永続化 | Database(Cloud SQL Postgres またはローカル SQLite) · Files(Filestore NFS または ~/.lifeosai) · Secrets(env refs / keychain) |
右側のレール:
- External Providers — LLM API(Anthropic、Gemini) · OAuth(Google、Microsoft) · 音声テレフォニー(SIP/WebRTC) · Firebase · Stripe · GCS
- DevOps + Cloud Infra — GitHub Actions · Artifact Registry · Cloud Run · Agent VM Pool · Terraform · Tauri Sidecars
同じアーキテクチャ、2つのデプロイモード
プラットフォームは2つのモードで同一に動作します — 変わるのは宛先URLだけ。ブラウザコードは同じままです。
| モード | 動作場所 | データベース | ファイル |
|---|---|---|---|
| Cloud | GCP(Cloud Run + Compute Engine spot) | Cloud SQL Postgres | Filestore(NFS) |
| Local | Tauriサイドカー(macOS · Win · Linux) | SQLite | ~/.lifeosai |
Prisma 7が両方のマイグレーションを管理 — クラウドはapps/user-management/prisma、ローカルはapps/tauri/src-tauri/migrations-sqlite。
図中の8つのデータフロー
図には番号付きで8つのフローを示しています。
- Clients → Edge — クラウドではHTTPS、TauriではHTTPループバック
- Edge → Gateway — ルーティング
- Gateway → Compute — UMが
/api/agent/*をAgent APIへプロキシ - Compute → Runtime — オーケストレーションがハーネスを呼び出し
- Compute → Data — 実行とイベントを永続化
- Platform → External Providers — LLM、OAuth、Stripeへの送信
- External → UM — Stripe webhook、OAuthコールバック(破線)
- DevOps → Platform — CIがイメージを公開、Terraformがインフラをプロビジョニング(破線)
各エージェントSDK / ハーネスはどこに接続されるか
Runtime Tierこそが差し替え可能の物語の着地点です。今日提供しているランタイムは2つ(Claude Code、Pi Coding Agent)ですが、アダプタ契約は同じ — Codex、Gemini agent、OpenAI Agents SDK、LangGraphを追加しても同じティアにはまります。
- harness = エージェントが内部で動くランタイム(スキルを読み込み、MCPを起動、セッションを管理)
- オーケストレーション内のagent-invokerが
adapterConfig.adapterTypeを解決し、適切なハーネスへディスパッチ - Event Normalizerが非Claudeハーネスのストリームを統一された
SDKMessage形状へ変換し、下流コードは単一のイベント形式を見る
これがコードレベルで「任意のハーネス」が実際に意味するところです。
次に読む
- ハブ・アンド・スポーク図 — User Managementルーティングの詳細
- LIFEOSAI基盤 — オーケストレーションレイヤーをエンドツーエンドで
- コーディングエージェント + エージェントランタイム — Claude Code vs Pi Coding Agent vs お客様独自のもの
- 実例 · 1つのAIインシデント — 1つのインシデントを全ティアで辿る