Web interfaces
Web
Gateway, Gateway WebSocket ile aynı porttan küçük bir tarayıcı Denetim Arayüzü (Vite + Lit) sunar:
- varsayılan:
http://<host>:18789/ gateway.tls.enabled: trueile:https://<host>:18789/- isteğe bağlı önek:
gateway.controlUi.basePathdeğerini ayarlayın (ör./openclaw)
Yetenekler Denetim Arayüzü 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 ele alır.
Yapılandırma (varsayılan olarak açık)
Varlıklar (dist/control-ui) mevcut olduğunda Denetim Arayüzü varsayılan olarak etkindir:
{ gateway: { controlUi: { enabled: true, basePath: "/openclaw" }, // basePath isteğe bağlı },}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 başvurusu içindeki hooks bölümüne bakın.
Yönetici HTTP RPC'si
POST /api/v1/admin/rpc, seçili Gateway denetim 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'si bölümüne bakın.
Tailscale erişimi
Tümleşik Serve (önerilen)
Gateway'i local loopback üzerinde tutun ve Tailscale Serve'ün buna proxy görevi görmesini 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 yolunu) açın.
Tailnet bağlama + token
{ gateway: { bind: "tailnet", controlUi: { enabled: true }, auth: { mode: "token", token: "your-token" }, },}Gateway'i başlatın (bu local loopback dışı örnek, paylaşılan gizli anahtar token kimlik doğrulamasını kullanır):
openclaw gatewayhttp://<tailscale-ip>:18789/ adresini (veya yapılandırdığınız gateway.controlUi.basePath yolunu) açın.
Genel internet (Funnel)
{ gateway: { bind: "loopback", tailscale: { mode: "funnel" }, auth: { mode: "password" }, // veya OPENCLAW_GATEWAY_PASSWORD },}tailscale.mode: "funnel" için gateway.auth.mode: "password" gerekir; hem Serve hem de Funnel için gateway.bind: "loopback" gerekir.
Güvenlik notları
- Gateway kimlik doğrulaması varsayılan olarak gereklidir: etkinleştirildiğinde token, parola, güvenilir proxy veya Tailscale Serve kimlik üstbilgileri.
- Local loopback dışı bağlamalar yine de Gateway kimlik doğrulaması gerektirir: token/parola kimlik doğrulaması veya
gateway.auth.mode: "trusted-proxy"kullanan, kimlik bilincine sahip bir ters proxy. - İlk katılım sihirbazı varsayılan olarak paylaşılan gizli anahtar kimlik doğrulaması oluşturur ve local loopback üzerinde bile genellikle bir Gateway token'ı üretir.
- Paylaşılan gizli anahtar modunda arayüz, WebSocket el sıkışması sırasında
connect.params.auth.tokenveyaconnect.params.auth.passwordgönderir. gateway.tls.enabled: trueolduğunda 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 gizli anahtar yerine istek üstbilgileriyle karşılanır. - Genel kullanıma açık, local loopback dışı Denetim Arayüzü dağıtımlarında
gateway.controlUi.allowedOriginsdeğerini açıkça ayarlayın (tam kaynaklar). Aynı kaynaktan yapılan özel yüklemeler; local loopback, RFC1918/bağlantı yerel,.local,.ts.netve Tailscale CGNAT ana makineleri için bu ayar olmadan kabul edilir. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true, Host üstbilgisi kaynak geri dönüşünü etkinleştirir; bu, tehlikeli bir güvenlik düşürmesidir.- Serve ile
gateway.auth.allowTailscale: trueolduğunda Tailscale kimlik üstbilgileri, Denetim Arayüzü/WebSocket kimlik doğrulamasını karşılar (token/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: falseolarak ayarlayın. Bu tokensız akış, Gateway ana makinesinin güvenilir olduğunu varsayar. Tailscale ve Güvenlik bölümlerine bakın.
Arayüzü derleme
Gateway, dist/control-ui konumundaki statik dosyaları sunar:
pnpm ui:build