Web interfaces
Web
Gateway, Gateway WebSocket ile aynı porttan küçük bir tarayıcı Kontrol Arayüzü (Vite + Lit) sunar:
- varsayılan:
http://<host>:18789/ gateway.tls.enabled: trueile:https://<host>:18789/- isteğe bağlı önek:
gateway.controlUi.basePathayarlayın (örn./openclaw)
Yetenekler Kontrol Arayüzü içinde yer alır. Bu sayfanın geri kalanı bağlama modlarına, güvenliğe ve web'e açık yüzeylere odaklanır.
Webhook'lar
hooks.enabled=true olduğunda Gateway, aynı HTTP sunucusunda küçük bir Webhook uç noktası da açar.
Kimlik doğrulama + yükler için Gateway yapılandırması → hooks bölümüne bakın.
Yapılandırma (varsayılan olarak açık)
Varlıklar mevcut olduğunda (dist/control-ui) Kontrol Arayüzü varsayılan olarak etkindir.
Bunu yapılandırma üzerinden kontrol edebilirsiniz:
{
gateway: {
controlUi: { enabled: true, basePath: "/openclaw" }, // basePath isteğe bağlıdır
},
}
Tailscale erişimi
Entegre Serve (önerilir)
Gateway'i loopback üzerinde tutun ve Tailscale Serve'ün onu proxy'lemesine izin verin:
{
gateway: {
bind: "loopback",
tailscale: { mode: "serve" },
},
}
Ardından gateway'i başlatın:
openclaw gateway
Açın:
https://<magicdns>/(veya yapılandırdığınızgateway.controlUi.basePath)
Tailnet bağlama + token
{
gateway: {
bind: "tailnet",
controlUi: { enabled: true },
auth: { mode: "token", token: "your-token" },
},
}
Ardından gateway'i başlatın (bu loopback olmayan örnek, paylaşılan gizli token kimlik doğrulaması kullanır):
openclaw gateway
Açın:
http://<tailscale-ip>:18789/(veya yapılandırdığınızgateway.controlUi.basePath)
Genel internet (Funnel)
{
gateway: {
bind: "loopback",
tailscale: { mode: "funnel" },
auth: { mode: "password" }, // veya OPENCLAW_GATEWAY_PASSWORD
},
}
Güvenlik notları
- Gateway kimlik doğrulaması varsayılan olarak gereklidir (etkinleştirildiğinde token, parola, trusted-proxy veya Tailscale Serve kimlik başlıkları).
- Loopback olmayan bağlamalar yine de gateway kimlik doğrulamasını gerektirir. Pratikte bu, token/parola kimlik doğrulaması veya
gateway.auth.mode: "trusted-proxy"kullanan kimlik farkındalığına sahip bir ters proxy anlamına gelir. - Sihirbaz varsayılan olarak paylaşılan gizli kimlik doğrulaması oluşturur ve genellikle bir gateway token'ı üretir (loopback üzerinde bile).
- Paylaşılan gizli modda UI,
connect.params.auth.tokenveyaconnect.params.auth.passwordgönderir. gateway.tls.enabled: trueolduğunda, yerel pano ve durum yardımcılarıhttps://pano URL'leri vewss://WebSocket URL'leri oluşturur.- Tailscale Serve veya
trusted-proxygibi kimlik taşıyan modlarda, WebSocket kimlik doğrulama denetimi bunun yerine istek başlıklarından karşılanır. - Loopback olmayan Kontrol Arayüzü dağıtımları için
gateway.controlUi.allowedOriginsdeğerini açıkça ayarlayın (tam origin'ler). Bu olmadan, gateway başlatılması varsayılan olarak reddedilir. gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true, Host-header origin yedek modunu etkinleştirir, ancak bu tehlikeli bir güvenlik düşürmesidir.- Serve ile,
gateway.auth.allowTailscaletrueolduğunda Tailscale kimlik başlıkları Kontrol Arayüzü/WebSocket kimlik doğrulamasını karşılayabilir (token/parola gerekmez). HTTP API uç noktaları bu Tailscale kimlik başlıklarını kullanmaz; bunun yerine gateway'in normal HTTP kimlik doğrulama modunu izler. Açık kimlik bilgileri gerektirmek içingateway.auth.allowTailscale: falseayarlayın. Bkz. Tailscale ve Güvenlik. Bu token'sız akış, gateway ana makinesinin güvenilir olduğunu varsayar. gateway.tailscale.mode: "funnel",gateway.auth.mode: "password"(paylaşılan parola) gerektirir.
UI'yi oluşturma
Gateway statik dosyaları dist/control-ui konumundan sunar. Bunları şu komutla oluşturun:
pnpm ui:build