コンテンツにスキップ

ゲートウェイ

ゲートウェイは、コンパニオン・ランタイムの周りにあるローカル HTTP / WebSocket edge です。health check、pairing、webhook、A2A 風の message、companion surface route、admin API に使います。公開 SaaS の境界ではありません。

Terminal window
cargo run -- gateway --host 127.0.0.1 --port 3000

通常運用では daemon を推奨します。daemon は gateway、channels、scheduler、heartbeat、runtime services をまとめて動かします。

Terminal window
cargo run -- daemon --host 127.0.0.1 --port 3000

安全な既定値は、ローカル bind と pairing 必須です。

[gateway]
host = "127.0.0.1"
port = 3000
require_pairing = true
allow_public_bind = false

公開到達性が必要な場合は、信頼済み edge または tunnel を runtime の前段に置きます。ローカル管理 API を、認証なしの公開サービスにしないでください。

Public routes には health、readiness、pairing、gateway OpenAPI、webhook、A2A、companion surface、WebSocket entrypoint が含まれます。whatsapp feature が有効な場合は、Meta webhook verification / delivery のために /whatsapp も登録されます。

Admin routes は /admin/v1/* の下にあり、pairing と明示的な tenant scope が必要です。tenant-scoped upload は /admin/v1/uploads で扱います。

Authorization: Bearer <token>
X-Asterel-Tenant: <tenant-id>

tenant header はローカル運用者状態を scope します。Asterel が hosted multi-tenant SaaS であるという主張ではありません。

ゲートウェイが所有すべきでないもの

Section titled “ゲートウェイが所有すべきでないもの”

ゲートウェイは transport input を正規化し、route を公開します。記憶、人格、セッション継続性、prompt policy、応答検証の所有者になるべきではありません。それらは共有 runtime / core services に属します。そうすることで、Discord、gateway、channel turns が別々のプロダクトへ drift しないようにします。