Web interfaces
Web
Gateway, Gateway WebSocket ile aynı porttan küçük bir tarayıcı Control UI (Vite + Lit) sunar:
- varsayılan:
http://<host>:18789/ gateway.tls.enabled: trueile:https://<host>:18789/- isteğe bağlı ön ek:
gateway.controlUi.basePathdeğerini ayarlayın (ör./openclaw)
Özellikler Control UI bölümünde açıklanır. Bu sayfa bağlama modlarını, güvenliği ve web'e yönelik diğer yüzeyleri kapsar.
Yapılandırma (varsayılan olarak açık)
Varlıklar mevcut olduğunda (dist/control-ui) Control UI varsayılan olarak etkindir:
{ gateway: { controlUi: { enabled: true, basePath: "/openclaw" }, // basePath isteğe bağlıdır },}Webhook'lar
hooks.enabled=true olduğunda Gateway, aynı HTTP sunucusunda bir webhook uç noktası da sunar. Kimlik doğrulama ve yükler için Gateway yapılandırma referansındaki hooks bölümüne bakın.
Yönetici HTTP RPC
POST /api/v1/admin/rpc, seçili Gateway kontrol düzlemi yöntemlerini HTTP üzerinden sunar. Varsayılan olarak kapalıdır; yalnızca admin-http-rpc plugin'i etkinleştirildiğinde kaydedilir. Kimlik doğrulama modeli, izin verilen yöntemler ve WebSocket API ile karşılaştırma için Yönetici HTTP RPC bölümüne bakın.
Tailscale erişimi
Tümleşik Serve (önerilir)
Gateway'i geri döngüde tutun ve Tailscale Serve'ün onu proxy'lemesini sağlayın:
{ gateway: { bind: "loopback", tailscale: { mode: "serve" }, },}Gateway'i başlatın:
openclaw gatewayhttps://<magicdns>/ adresini (veya yapılandırdığınız gateway.controlUi.basePath adresini) açın.
Tailnet bağlaması + belirteç
{ gateway: { bind: "tailnet", controlUi: { enabled: true }, auth: { mode: "token", token: "your-token" }, },}Gateway'i başlatın (bu geri döngü dışı örnek, paylaşılan gizli belirteç kimlik doğrulaması kullanır):
openclaw gatewayhttp://<tailscale-ip>:18789/ adresini (veya yapılandırdığınız gateway.controlUi.basePath adresini) açın.
Genel internet (Funnel)
{ gateway: { bind: "loopback", tailscale: { mode: "funnel" }, auth: { mode: "password" }, // veya OPENCLAW_GATEWAY_PASSWORD },}tailscale.mode: "funnel", gateway.auth.mode: "password" gerektirir; hem Serve hem de Funnel, gateway.bind: "loopback" gerektirir.
Güvenlik notları
- Gateway kimlik doğrulaması varsayılan olarak gereklidir: etkinleştirildiğinde belirteç, parola, güvenilir proxy veya Tailscale Serve kimlik üstbilgileri.
- Geri döngü dışı bağlamalar da gateway kimlik doğrulamasını gerektirir: belirteç/parola kimlik doğrulaması veya
gateway.auth.mode: "trusted-proxy"kullanan kimlik farkındalıklı bir ters proxy. - İlk katılım sihirbazı varsayılan olarak paylaşılan gizli kimlik doğrulaması oluşturur ve geri döngüde bile genellikle bir gateway belirteci üretir.
- Paylaşılan gizli modunda UI, WebSocket el sıkışması sırasında
connect.params.auth.tokenveyaconnect.params.auth.passwordgönderir. gateway.tls.enabled: trueile yerel pano/durum yardımcılarıhttps://URL'lerini vewss://WebSocket URL'lerini oluşturur.- Kimlik taşıyan modlarda (Tailscale Serve,
trusted-proxy) WebSocket kimlik doğrulama denetimi, paylaşılan bir gizli yerine istek üstbilgileriyle karşılanır. - Genel, geri döngü dışı Control UI dağıtımlarında
gateway.controlUi.allowedOriginsdeğerini açıkça ayarlayın (tam kaynaklar). Geri döngü, RFC1918/bağlantı-yerel,.local,.ts.netve Tailscale CGNAT ana makinelerinde özel aynı kaynak yüklemeleri bu değer olmadan kabul edilir. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true, Host üstbilgisi kaynak geri dönüşünü etkinleştirir; bu, güvenliği tehlikeli biçimde düşürür.- Serve ile
gateway.auth.allowTailscale: trueolduğunda Tailscale kimlik üstbilgileri Control UI/WebSocket kimlik doğrulamasını karşılar (belirteç/parola gerekmez). HTTP API uç noktaları Tailscale kimlik üstbilgilerini kullanmaz; her zaman gateway'in normal HTTP kimlik doğrulama modunu izler. Serve üzerinden bile açık kimlik bilgileri gerektirmek içingateway.auth.allowTailscale: falsedeğerini ayarlayın. Bu belirteçsiz akış, gateway ana makinesinin kendisinin güvenilir olduğunu varsayar. Tailscale ve Güvenlik bölümlerine bakın.
UI'yi derleme
Gateway, statik dosyaları dist/control-ui konumundan sunar:
pnpm ui:build