アーキテクチャ
d6e の境界はシンプルです。ワークスペースのデータと AI 実行はインスタンス側、アカウントと OAuth 登録は中央サイト側、UI や独自バックエンドはあなたの側に置きます。
flowchart TB
subgraph you["あなたが所有"]
client["カスタム FE / スクリプト / ローカル AI"]
creds["Cookie · API キー · ユーザートークン<br/>client secret は持たない"]
end
subgraph inst["インスタンス(自社インフラ)"]
proxy["リバースプロキシ(1 オリジン)"]
rust["/api/v1/* → Rust API"]
consoleApi["/api/* → コンソール API"]
mcp["/mcp → MCP ≈96 tools"]
ui["/* → コンソール UI"]
data["PostgreSQL · ファイル · シークレット<br/>ポリシー · 監査 · メンバーシップ"]
proxy --> rust
proxy --> consoleApi
proxy --> mcp
proxy --> ui
rust --> data
end
subgraph central["中央サイト www.d6e.ai"]
auth["アカウント · ログイン · OAuth / redirect URI<br/>ワークスペースの中身は見ない"]
end
you -->|"HTTPS"| inst
inst -->|"認証仲介のみ"| central
テキスト版(ASCII)
┌─ あなたが所有 ──────────────────────────────────────────────┐│ カスタム FE / スクリプト / ローカル AI エージェント ││ ・セッション Cookie(FE) ││ ・API キー(d6e_…)またはユーザートークン ││ ・client secret は持たない(OAuth はインスタンスが仲介) │└───────────────────────────────┬─────────────────────────────┘ │ HTTPS┌─ インスタンス(自社インフラ)─┴─────────────────────────────┐│ リバースプロキシ(1 オリジン) ││ ├─ /api/v1/* → Rust API(SQL / STF / files / SaaS…) ││ ├─ /api/* → コンソール側 API(チャット等) ││ ├─ /mcp (:8081) → MCP サーバー(≈96 d6e_* ツール) ││ └─ /* → コンソール UI ││ PostgreSQL(user_data) / ファイルストレージ / 暗号化シークレット ││ ポリシー強制・監査ログ・メンバーシップ │└─────────────────────────────────────────────────────────────┘ │ 認証仲介のみ┌─ 中央サイト www.d6e.ai ─────────────────────────────────────┐│ アカウント・ログイン・OAuth クライアント / redirect URI ││ ワークスペースの中身は見ない │└─────────────────────────────────────────────────────────────┘インスタンスの 2 つの API 面
Section titled “インスタンスの 2 つの API 面”1 つの D6E_BASE_URL オリジンが、パスで振り分けられた 2 つの API 面を提供します。
| パス | 実装 | 主な用途 |
|---|---|---|
/api/v1/* |
Rust (Axum) | SQL、ファイル、STF、ワークフロー、ポリシー、SaaS プロキシ、埋め込み検索 |
/api/*(v1 以外) |
コンソール (SvelteKit) | チャットセッション、execute-by-intent など UI 向け |
外部から見るときは 1 ホストです。カスタムフロントエンドもローカル AI エージェントも、同じホストに向けます。
- ブラウザを
https://www.d6e.ai/auth/loginへリダイレクト(redirect_uri付き) - 認可コードをインスタンスの
POST /api/v1/auth/tokenに渡す - インスタンスが中央サイトへ中継し、インスタンス audience のトークンペアを返す
- 以降は
Authorization: Bearer …(+必要ならX-Workspace-ID)で/api/v1/*を呼ぶ
フロントエンドは client secret を保持しません。デプロイ後の callback URL は d6e-auth(フランチャイズポータルまたはワークスペース設定)に登録します。ループバック/localhost は登録不要です。
ローカル開発ではコンソールから発行した API キー (d6e_…) を使うのが最短です。
Plugin とカスタムフロントエンド
Section titled “Plugin とカスタムフロントエンド”| Plugin | カスタムフロントエンド | |
|---|---|---|
| 実体 | ワークスペースの中身(プロンプト・STF・WF・ファイル)を詰めた template.yaml |
ワークスペースを利用する独立 Web アプリ |
| 存在する場所 | インスタンスの中 | インスタンスの外 |
| UI | コンソール / チャット経由 | それ自体が UI |
両者は同じ API 境界の反対側から拡張し、自然に組み合わせられます。詳細は カスタムフロントエンド と Plugin 開発 を参照してください。