コンテンツにスキップ

アーキテクチャとコード

アーキテクチャとコード

プラットフォームはどう構築されているか

エージェントシステム全体、そして領域ごとに1ページ — プラットフォーム、オーケストレーション、チャネル、エージェントランタイム。

5つのセクション

LifeOSAIアーキテクチャ

スタンドアロンのアーキテクチャパック — インラインスタイルのみ、リモートアセットやランタイムスクリプトはありません。上部の全画面ボタンをご利用いただくか、新しいタブで完全な図を開く ↗

図のセット

  1. 全システムアーキテクチャ

    • 外部のエントリ面:ブラウザ、Tauriデスクトップ、チャネル、オペレーター、CI。
    • ブラウザ向け制御プレーン:apps/webapps/authapps/user-management
    • プロダクトドメイン:LifeOSAI Chat、LifeOSAI Companies、LifeOSAI Apps。
    • ランタイムプレーン:apps/api、企業オーケストレーション、起動、スケジューラ、エージェントインボーカ、ライブイベントバス、ランタイムアダプタ。
    • データと運用:データベース、ワークスペース、トランスクリプト、企業ファイル、スキル、アーティファクト、ログ、ヘルスチェック。
    • クラウドとローカルのレーン:同じプロダクトAPI、異なる実行ロケール。
  2. 企業オーケストレーションランタイム

    • 作業ソース:課題割り当て、課題コメント、承認、ルーチンタイマー、ハートビートタイマー、ダイレクトチャット、即時実行、チャネル受信メッセージ。
    • enqueueWakeupがソースとコンテキストのスナップショットを伴うキュー入り実行を作成。
    • スケジューラが対象作業を取得しランタイム呼び出しを開始。
    • エージェントインボーカが実行スコープのベアラートークンを発行し、環境、cwd、モデル、アダプタメタデータを組み立てる。
    • ランタイムアダプタが実行ログ、アクティビティ、課題更新、企業ライブイベントを発行。
    • 実行ステータスとエージェントステータスは意図的に分離。
  3. LifeOSAI Chatシステム

    • 通常のLifeOSAIチャット。
    • 企業エージェントとのダイレクトチャット。
    • ライブ実行トランスクリプトモード。
    • 完了済みトランスクリプトの再生。
    • ファイル、スポットライト、スキル、コネクタ、プラグイン、ランタイム/モデル選択。
    • セッション一覧は限定的に保ち、メッセージ検索は既知の企業エージェントのトランスクリプトパスを解決可能。
  4. チャネルアーキテクチャ

    • WhatsAppとTelegramの受信。
    • チャネルレジストリとセッションメタデータ。
    • チャネルからエージェントへのディスパッチ。
    • 共有の送信ツール契約:Claude Code向けのmcp__channels__messageと、Pi Agent向けの等価ツールパス。
    • 配信監査により受信および送信メッセージが企業、エージェント、実行、チャネルセッションに紐付けられる。
  5. ランタイムアダプタとツールプレーン

    • adapter_config:プロセス環境、cwd、コマンド、引数、モデル、インストラクション検出、アダプタ固有の実行ノブ。
    • runtime_config:ハートビートポリシー、スケジューラポリシー、将来のセッションコンパクションポリシー。
    • エージェント環境とプロジェクト環境は同じバインディングモデルを共有し、衝突時はプロジェクト環境が優先。
    • シークレット参照は企業スコープで、書き込み時に検証され、呼び出し時に解決され、永続化された出力抜粋からは秘匿化される。
  6. クラウドとローカルのデプロイ

    • クラウド:GCPプロジェクトlifeosai-481608、リージョンasia-south-1、Cloud Runサービス、Compute Engineエージェントランタイムコンテナ、Artifact Registry docker-images、クラウドデータベース、ワークスペースストレージ。
    • ローカル:Tauri 2.0デスクトップラッパー、ポート3000/3001/3002/4000のサイドカー、ローカルデータベース、~/LIFEOSAI~/.lifeosai/companies
  7. セキュリティ、データ、可観測性

    • ユーザー認証と実行認証は分離した境界。
    • エージェント向けAPIはAuthorization: Bearer $LIFEOSAI_RUN_TOKENを要求。
    • 企業アクセス、シークレット参照、ワークスペースパスはそれぞれの境界で検証される。
    • アクティビティログはアクター、エンティティ、アクション、エージェントID、実行ID、詳細を保持。
  8. 運用シーケンス

    • 課題割り当て。
    • エージェントとのダイレクトチャット。
    • ルーチンタイマー。
    • チャネル受信。
    • シークレット環境変数の解決。

ソースアンカー

図のメンテナンスに役立つコードアンカー:

パス責務
apps/webLifeOSAIブラウザアプリ、静的エクスポート面、チャット/企業/アプリのシェル。
apps/tauriローカルデスクトップラッパーとサイドカー境界。
apps/user-management/src中央のブラウザ向けルーティングハブ。
apps/user-management/src/sessions/reader.tsClaude CodeとPi Agentセッション向けのチャット/セッショントランスクリプトリーダー。
apps/api/src/orchestration/engine/heartbeat.tsハートビートスケジューラと実行ライフサイクル。
apps/api/src/orchestration/engine/wakeup.ts起動キューのヘルパー。
apps/api/src/orchestration/engine/agent-invoker.tsランタイム呼び出し、環境変数の組み立て、実行トークンの注入、イベント発行。
apps/api/src/orchestration/engine/event-bus.ts企業ライブイベントバス。
apps/api/src/orchestration/routes/middleware.tsエージェントAPI向けの実行スコープベアラートークン認証。
apps/api/src/channels/dispatch.tsチャネルからエージェントへのディスパッチ。
apps/api/src/channels/message-tool.tsmcp__channels__message
packages/agent/src/runtimesClaude CodeとPi Agentのランタイムアダプタ。
packages/shared/src/orchestration/constants.tsライブイベント型定数。
packages/shared/src/orchestration/types/live.ts型付けされたライブイベントペイロード。
packages/shared/src/orchestration/env-config.ts環境バインディング、正規化、シークレット参照処理、秘匿化ヘルパー。

次に読む