Architecture
アーキテクチャ
MyBotBox の構成 — C4 モデル、リクエストパイプライン、マルチテナンシー、実行データフロー。
MyBotBox は、AI エージェントワークフローの構築・デプロイ・実行を行うマルチテナントプラットフォームです。このセクションはシステム設計のリファレンスです。各コンポーネントの関係、リクエストの認証・認可の仕組み、テナントの分離方法、そしてワークフローが実際に動作する仕組みについて説明します。
これらのページはホスト型アーキテクチャについて説明しています。同じコードベースはセルフホスト可能です — 外部依存関係(データベース、キャッシュ、キュー、ストレージ、メール、LLM プロバイダー)はすべて 交換可能なポートの背後に置かれているため、独自のインフラに向けることができます。
概要
graph LR
subgraph BUILD ["Build"]
A[Visual Canvas] --> B[190 Blocks]
end
subgraph ENGINE ["Engine"]
C[Serializer] --> D[Executor DAG]
D --> E[30 Block Handlers]
end
subgraph DEPLOY ["Deploy"]
F[REST API]
G[Webhook]
H[Schedule / Poll]
I[Chat]
end
B --> C
E --> F & G & H & Iワークフローは ReactFlow キャンバス上で作成され、実行グラフにシリアライズされ、各ノードを型付きハンドラーにディスパッチするトポロジカル DAG エグゼキューターによって実行されます。そして、API・Webhook・スケジュール・ポーリング・チャットからアクセス可能な不変バージョンとしてデプロイされます。
このセクションの内容
C4 モデル
プラットフォームのコンテキスト → コンテナ → デプロイメント → コンポーネント → コードビュー。
リクエストパイプライン
すべての API 呼び出しが通過する、認証・認可・レート制限の共通ゲート。
マルチテナンシー
組織、ワークスペース、ワークフロー、パーミッションモデル、および YID 識別子。
実行とデータフロー
実行がトリガーからハンドラー、ログ、コスト計測へと移行する仕組み。
テクノロジー
| レイヤー | テクノロジー |
|---|---|
| ランタイム | Bun、Turborepo モノレポ |
| フレームワーク | Next.js 16 (App Router)、React 19、TypeScript (strict) |
| データベース | PostgreSQL 17 (Cloud SQL) + pgvector、Drizzle ORM(90 テーブル) |
| キャッシュ / レート制限 | Memorystore Redis 7(スライディングウィンドウ)、インメモリフォールバック |
| キュー | Cloud Tasks + Cloud Functions(非同期ディスパッチ、ポーリング) |
| 認証 | Firebase Auth(OAuth、SSO/SAML、TOTP)、JWT セッションクッキー |
| AI | 17 プロバイダーアダプター(OpenAI、Anthropic、Gemini、Bedrock、…) |
| 決済 | Stripe(サブスクリプション + 使用量計測) |
| ホスティング | Google Cloud Run(ブルーグリーンカナリアデプロイ) |
| オブザーバビリティ | OpenTelemetry、Sentry、Datadog |