Confer — システムアーキテクチャ

高レベルアーキテクチャ

┌────────────────────────────────────────────────────────────┐
│  Clients (Tauri 2.0)                                       │
│  iOS · Android · Windows · macOS · Linux                   │
└──────────────────────────┬─────────────────────────────────┘
                           │ WSS / HTTPS / SSE
                           ▼
┌────────────────────────────────────────────────────────────┐
│  Edge API Gateway  (Bun + Hono)                            │
│  Auth · Rate limit · Routing · WS fan-out                  │
└─────┬─────────────┬─────────────────┬────────────────┬─────┘
      │             │                 │                │
      ▼             ▼                 ▼                ▼
 ┌────────┐  ┌─────────────┐  ┌────────────┐  ┌──────────────┐
 │ Agent  │  │Conversation │  │ Identity & │  │ MCP / Tools  │
 │Runtime │  │     Hub     │  │A2A Gateway │  │  Connector   │
 └───┬────┘  └──────┬──────┘  └─────┬──────┘  └──────┬───────┘
     │              │               │                │
     ▼              ▼               ▼                ▼
┌──────────────────────────────────────────────────────────────┐
│  Data layer: PostgreSQL · Redis · NATS · Vector (Qdrant)·S3 │
└──────────────────────────────────────────────────────────────┘
       │                              │
       ▼                              ▼
 LLM providers              Other instances' Agents
 (Claude / GPT /            (federation via A2A
  DeepSeek / Qwen)           over HTTPS)

設計原則

サービス境界

1. Edge API Gateway

docs/05-api.md を参照。

2. Agent Runtime

各ユーザーは常駐の Agent インスタンスを 1 つ持つ。

3. Conversation Hub

4. Identity & A2A Gateway

詳細なプロトコル設計は docs/03-protocol.md を参照。

5. MCP / Tools Connector

データ層

コンポーネント 用途
PostgreSQL ユーザー、Agent、対話、メッセージ、権限、peer 関係(メインストレージ)
Redis session、presence、レート制限カウンタ、ホットデータキャッシュ
NATS Streams メッセージのファンアウト(user.{uid}.events)+ Agent runtime のタスクキュー
Qdrant または pgvector Agent の長期記憶 RAG、ユーザー資料庫のインデックス
S3-compatible (MinIO) ファイル添付、DID document のバックアップ、対話アーカイブ

クライアントアーキテクチャ

クロスプラットフォーム対応

プラットフォーム 実現方法
iOS Tauri 2.0 iOS support
Android Tauri 2.0 Android support
Windows Tauri 2.0
macOS Tauri 2.0
Linux Tauri 2.0

単一のコードベースで、ネイティブ fallback はなし。

Claude Code プラグイン

docs/06-claude-code-plugin.md を参照。

デプロイアーキテクチャ

単一インスタンス(個人/小規模チーム)

docker-compose.yml:
  - gateway       (Bun 服务)
  - agent-runtime (Bun 服务)
  - conversation  (Bun 服务)
  - identity      (Bun 服务)
  - postgres
  - redis
  - nats
  - qdrant
  - minio
  - caddy / traefik  (反向代理 + TLS)

デプロイ方法:docker compose up -d を実行すればそのまま使える。

エンタープライズインスタンス

クラウド(Confer 自社クラウド)

フェデレーション化(インスタンス間)

任意の Confer インスタンス(自前構築またはクラウド)は、A2A プロトコルを通じて他のインスタンスと相互通信できる。

[acme.com]              [vendor-x.com]            [confer.cloud]
 Agent A    <─── A2A ───> Agent B    <─── A2A ───> Agent C

身分と発見:

可観測性

セキュリティ境界

主要な技術的意思決定

意思決定 選択 候補 理由
バックエンド言語 Bun + TypeScript Go MCP/A2A SDK が TS-first;フルスタックで型を共有できる
Web フレームワーク Hono Elysia, Fastify 軽量・高速・エコシステムが安定
クライアント Tauri 2.0 Flutter, Electron 単一コードベースで 5 プラットフォーム、Rust による安全性、サイズが小さい
メインストレージ PostgreSQL 16 MySQL JSON サポートが良好、拡張性が高い、pgvector も選択可能
メッセージバス NATS Kafka, Redis Pub/Sub 軽量・永続化・正確な購読
ベクトルストア Qdrant Pinecone, pgvector セルフホストが成熟、Rust 製でパフォーマンスが安定
身分 DID:web DID:key, OAuth-only web インフラと互換、NANDA が推奨
プロトコル A2A + MCP + AgentFacts 独自プロトコル オープンプロトコルのエコシステムに賭ける
← Confer に戻る A2A · DID:web · RFC 9421 · NANDA