CLI commands

Gateway

Gateway, OpenClaw'ın WebSocket sunucusudur (kanallar, düğümler, oturumlar, kancalar). Bu sayfadaki alt komutlar openclaw gateway … altında yer alır.

Gateway'i çalıştırma

Yerel bir Gateway işlemi çalıştırın:

bash
openclaw gateway

Ön plan takma adı:

bash
openclaw gateway run
Başlatma davranışı
  • Varsayılan olarak Gateway, ~/.openclaw/openclaw.json içinde gateway.mode=local ayarlı değilse başlatmayı reddeder. Geçici/geliştirme çalıştırmaları için --allow-unconfigured kullanın.
  • openclaw onboard --mode local ve openclaw setup komutlarının gateway.mode=local yazması beklenir. Dosya varsa ancak gateway.mode eksikse, bunu yerel modun örtük olarak varsayılması yerine bozuk veya üzerine yazılmış bir yapılandırma olarak değerlendirin ve onarın.
  • Dosya varsa ve gateway.mode eksikse Gateway bunu şüpheli yapılandırma hasarı olarak değerlendirir ve sizin için "yereli tahmin etmeyi" reddeder.
  • Kimlik doğrulama olmadan loopback dışına bağlama engellenir (güvenlik korkuluğu).
  • lan, tailnet ve custom şu anda yalnızca IPv4 BYOH yolları üzerinden çözümlenir.
  • Yalnızca IPv6 BYOH bugün bu yolda yerel olarak desteklenmez. Ana makinenin kendisi yalnızca IPv6 ise bir IPv4 sidecar veya proxy kullanın.
  • SIGUSR1, yetkilendirildiğinde işlem içi yeniden başlatmayı tetikler (commands.restart varsayılan olarak etkindir; gateway aracı/yapılandırma uygulama/güncelleme izinli kalırken manuel yeniden başlatmayı engellemek için commands.restart: false ayarlayın).
  • SIGINT/SIGTERM işleyicileri gateway işlemini durdurur, ancak özel terminal durumunu geri yüklemez. CLI'yi bir TUI veya raw-mode girdisiyle sararsanız çıkmadan önce terminali geri yükleyin.

Seçenekler

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA " type="number"> WebSocket portu (varsayılan yapılandırmadan/ortamdan gelir; genellikle 18789).

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmluZCA8bG9vcGJhY2t8bGFufHRhaWxuZXR8YXV0b3xjdXN0b20 " type="string"> Dinleyici bağlama modu. lan, tailnet ve custom şu anda yalnızca IPv4 yolları üzerinden çözümlenir.

"--auth

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu " type="string"> Token geçersiz kılması (işlem için OPENCLAW_GATEWAY_TOKEN değerini de ayarlar).

"--password
"--tailscale
--tailscale-reset-on-exitboolean

Kapanışta Tailscale serve/funnel yapılandırmasını sıfırlayın.

--bind custom + gateway.customBindHoststring

Bugün bir IPv4 adresi bekler. Yalnızca IPv6 BYOH için Gateway'in önüne bir IPv4 sidecar veya proxy yerleştirin ve OpenClaw'ı bu IPv4 uç noktasına yönlendirin.

--allow-unconfiguredboolean

Yapılandırmada gateway.mode=local olmadan gateway başlatmaya izin verin. Yalnızca geçici/geliştirme önyüklemesi için başlatma korumasını atlar; yapılandırma dosyasını yazmaz veya onarmaz.

--devboolean

Eksikse bir geliştirme yapılandırması + çalışma alanı oluşturun (BOOTSTRAP.md atlanır).

--resetboolean

Geliştirme yapılandırmasını + kimlik bilgilerini + oturumları + çalışma alanını sıfırlayın (--dev gerektirir).

--forceboolean

Başlatmadan önce seçilen porttaki mevcut dinleyiciyi öldürün.

--verboseboolean

Ayrıntılı günlükler.

--cli-backend-logsboolean

Konsolda yalnızca CLI arka uç günlüklerini gösterin (ve stdout/stderr'ı etkinleştirin).

"--ws-log
--compactboolean

--ws-log compact için takma ad.

--raw-streamboolean

Ham model akışı olaylarını jsonl'ye günlüğe kaydedin.

Gateway'i yeniden başlatma

bash
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --force

openclaw gateway restart --safe, çalışan Gateway'den etkin işleri ön denetimden geçirmesini ve etkin işler boşaldıktan sonra birleştirilmiş tek bir yeniden başlatma zamanlamasını ister. Varsayılan güvenli yeniden başlatma, yapılandırılmış gateway.reload.deferralTimeoutMs süresine kadar (varsayılan 5 dakika) etkin işleri bekler; bu bütçe dolduğunda yeniden başlatma zorlanır. Hiç zorlamayan belirsiz süreli güvenli bekleme için gateway.reload.deferralTimeoutMs değerini 0 olarak ayarlayın. Düz restart mevcut hizmet yöneticisi davranışını korur; --force anında geçersiz kılma yolu olmaya devam eder.

openclaw gateway restart --safe --skip-deferral, --safe ile aynı OpenClaw farkındalıklı koordineli yeniden başlatmayı çalıştırır, ancak etkin iş erteleme kapısını atlar; böylece engelleyiciler bildirildiğinde bile Gateway yeniden başlatmayı hemen yayar. Bir erteleme takılmış bir görev çalıştırması tarafından sabitlendiğinde ve yalnızca --safe, gateway.reload.deferralTimeoutMs ile sınırlı olabileceğinde bunu operatör kaçış yolu olarak kullanın. --skip-deferral, --safe gerektirir.

Gateway profillemesi

  • Gateway başlatması sırasında faz zamanlamalarını günlüğe kaydetmek için OPENCLAW_GATEWAY_STARTUP_TRACE=1 ayarlayın; buna faz başına eventLoopMax gecikmesi ve installed-index, manifest registry, başlatma planlaması ve owner-map çalışmaları için Plugin arama tablosu zamanlamaları dahildir.
  • Yeniden başlatma sinyali işleme, etkin iş boşaltma, kapanış fazları, sonraki başlatma, hazır zamanlaması ve bellek metrikleri için yeniden başlatma kapsamlı restart trace: satırlarını günlüğe kaydetmek üzere OPENCLAW_GATEWAY_RESTART_TRACE=1 ayarlayın.
  • Harici QA harness'ları için en iyi çabayla JSONL başlatma tanılama zaman çizelgesi yazmak üzere OPENCLAW_DIAGNOSTICS=timeline değerini OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path> ile ayarlayın. Bayrağı yapılandırmada diagnostics.flags: ["timeline"] ile de etkinleştirebilirsiniz; yol yine de ortamdan sağlanır. Olay döngüsü örneklerini dahil etmek için OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 ekleyin.
  • Önce pnpm build çalıştırın, ardından derlenmiş CLI girişine karşı Gateway başlatmasını kıyaslamak için pnpm test:startup:gateway -- --runs 5 --warmup 1 çalıştırın. Kıyaslama ilk işlem çıktısını, /healthz, /readyz, başlatma izleme zamanlamalarını, olay döngüsü gecikmesini ve Plugin arama tablosu zamanlama ayrıntılarını kaydeder.
  • Önce pnpm build çalıştırın, ardından macOS veya Linux'ta derlenmiş CLI girişine karşı işlem içi Gateway yeniden başlatmasını kıyaslamak için pnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5 çalıştırın. Yeniden başlatma kıyaslaması SIGUSR1 kullanır, alt işlemde hem başlatma hem de yeniden başlatma izlemelerini etkinleştirir ve sonraki /healthz, sonraki /readyz, kesinti süresi, hazır zamanlaması, CPU, RSS ve yeniden başlatma izleme metriklerini kaydeder.
  • /healthz değerini canlılık, /readyz değerini kullanılabilir hazır olma olarak değerlendirin. İzleme satırları ve kıyaslama çıktısı sahip atfı içindir; tek bir izleme aralığını veya tek bir örneği eksiksiz bir performans sonucu olarak değerlendirmeyin.

Çalışan bir Gateway'i sorgulama

Tüm sorgu komutları WebSocket RPC kullanır.

Çıktı modları

  • Varsayılan: insan tarafından okunabilir (TTY'de renkli).
  • --json: makine tarafından okunabilir JSON (stil/spinner yok).
  • --no-color (veya NO_COLOR=1): insan düzenini korurken ANSI'yi devre dışı bırakır.

Paylaşılan seçenekler

  • --url <url>: Gateway WebSocket URL'si.
  • --token <token>: Gateway token'ı.
  • --password <password>: Gateway parolası.
  • --timeout <ms>: zaman aşımı/bütçe (komuta göre değişir).
  • --expect-final: "final" yanıtını bekle (agent çağrıları).

gateway health

bash
openclaw gateway health --url ws://127.0.0.1:18789openclaw gateway health --port 18789

HTTP /healthz uç noktası bir canlılık yoklamasıdır: sunucu HTTP'ye yanıt verebildiğinde döner. HTTP /readyz uç noktası daha katıdır ve başlatma Plugin sidecar'ları, kanallar veya yapılandırılmış kancalar hâlâ yerleşirken kırmızı kalır. Yerel veya kimliği doğrulanmış ayrıntılı hazır olma yanıtları, olay döngüsü gecikmesi, olay döngüsü kullanımı, CPU çekirdek oranı ve degraded bayrağı içeren bir eventLoop tanılama bloğu içerir.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA " type="number"> Bu porttaki bir local loopback Gateway'i hedefleyin. Bu, health çağrısı için OPENCLAW_GATEWAY_URL ve OPENCLAW_GATEWAY_PORT değerlerini geçersiz kılar.

gateway usage-cost

Oturum günlüklerinden kullanım maliyeti özetlerini getirin.

bash
openclaw gateway usage-costopenclaw gateway usage-cost --days 7openclaw gateway usage-cost --agent work --jsonopenclaw gateway usage-cost --all-agentsopenclaw gateway usage-cost --json
"--days
"--agent
--all-agentsboolean

Maliyet özetini tüm yapılandırılmış agent'lar genelinde toplayın. --agent ile birleştirilemez.

gateway stability

Çalışan bir Gateway'den son tanılama kararlılık kaydedicisini getirin.

bash
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --bundle latestopenclaw gateway stability --bundle latest --exportopenclaw gateway stability --json

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tbGltaXQgPGxpbWl0 " type="number" default="25"> Dahil edilecek en fazla son olay sayısı (maksimum 1000).

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdHlwZSA8dHlwZQ " type="string"> payload.large veya diagnostic.memory.pressure gibi tanılama olay türüne göre filtreleyin.

"--since-seq
--bundle [path]string

Çalışan Gateway'i çağırmak yerine kalıcılaştırılmış bir kararlılık paketini okuyun. Durum dizini altındaki en yeni paket için --bundle latest (veya yalnızca --bundle) kullanın ya da doğrudan bir paket JSON yolu geçirin.

--exportboolean

Kararlılık ayrıntılarını yazdırmak yerine paylaşılabilir bir destek tanılama zip'i yazın.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tb3V0cHV0IDxwYXRo " type="string"> --export için çıktı yolu.

Gizlilik ve paket davranışı
  • Kayıtlar operasyonel meta verileri tutar: olay adları, sayımlar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, onay id'leri, kanal/plugin adları ve redakte edilmiş oturum özetleri. Sohbet metni, webhook gövdeleri, araç çıktıları, ham istek veya yanıt gövdeleri, token'lar, çerezler, gizli değerler, ana makine adları veya ham oturum id'leri tutmazlar. Kaydediciyi tamamen devre dışı bırakmak için diagnostics.enabled: false ayarlayın.
  • Ölümcül Gateway çıkışlarında, kapanış zaman aşımlarında ve yeniden başlatma başlatma hatalarında, kaydedicide olaylar varsa OpenClaw aynı tanılama anlık görüntüsünü ~/.openclaw/logs/stability/openclaw-stability-*.json konumuna yazar. En yeni paketi openclaw gateway stability --bundle latest ile inceleyin; --limit, --type ve --since-seq paket çıktısına da uygulanır.

gateway diagnostics export

Hata raporlarına eklenmek üzere tasarlanmış yerel bir tanılama zip'i yazın. Gizlilik modeli ve paket içerikleri için bkz. Tanılama Dışa Aktarma.

bash
openclaw gateway diagnostics exportopenclaw gateway diagnostics export --output openclaw-diagnostics.zipopenclaw gateway diagnostics export --json
"--log-lines
"--log-bytes
"--url
"--token
"--password
"--timeout
--no-stability-bundleboolean

Kalıcı kararlılık paketi aramasını atla.

--jsonboolean

Yazılan yolu, boyutu ve manifesti JSON olarak yazdır.

Dışa aktarım bir manifest, Markdown özeti, yapılandırma şekli, temizlenmiş yapılandırma ayrıntıları, temizlenmiş günlük özetleri, temizlenmiş Gateway durum/sağlık anlık görüntüleri ve varsa en yeni kararlılık paketini içerir.

Paylaşılmak üzere tasarlanmıştır. Güvenli OpenClaw günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış modlar, bağlantı noktaları, plugin kimlikleri, sağlayıcı kimlikleri, gizli olmayan özellik ayarları ve maskelenmiş operasyonel günlük iletileri gibi hata ayıklamaya yardımcı operasyonel ayrıntıları korur. Sohbet metnini, webhook gövdelerini, araç çıktılarını, kimlik bilgilerini, çerezleri, hesap/ileti tanımlayıcılarını, istem/talimat metnini, ana makine adlarını ve gizli değerleri atlar veya maskeler. LogTape tarzı bir ileti kullanıcı/sohbet/araç yük metni gibi göründüğünde, dışa aktarım yalnızca bir iletinin atlandığını ve bayt sayısını tutar.

gateway status

gateway status, Gateway hizmetini (launchd/systemd/schtasks) ve bağlantı/kimlik doğrulama yeteneğine yönelik isteğe bağlı bir yoklamayı gösterir.

bash
openclaw gateway statusopenclaw gateway status --jsonopenclaw gateway status --require-rpc
"--url
"--token
"--password
"--timeout
--no-probeboolean

Bağlantı yoklamasını atla (yalnızca hizmet görünümü).

--deepboolean

Sistem düzeyindeki hizmetleri de tara.

--require-rpcboolean

Varsayılan bağlantı yoklamasını bir okuma yoklamasına yükselt ve bu okuma yoklaması başarısız olduğunda sıfır olmayan kodla çık. --no-probe ile birleştirilemez.

Durum semantiği
  • gateway status, yerel CLI yapılandırması eksik veya geçersiz olsa bile tanılama için kullanılabilir kalır.
  • Varsayılan gateway status, hizmet durumunu, WebSocket bağlantısını ve el sıkışma sırasında görünen kimlik doğrulama yeteneğini kanıtlar. Okuma/yazma/yönetici işlemlerini kanıtlamaz.
  • Tanılama yoklamaları, ilk kez cihaz kimlik doğrulaması için değişiklik yapmaz: varsa mevcut önbelleğe alınmış bir cihaz belirtecini yeniden kullanır, ancak yalnızca durumu denetlemek için yeni bir CLI cihaz kimliği veya salt okunur cihaz eşleştirme kaydı oluşturmaz.
  • gateway status, mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözer.
  • Bu komut yolunda gerekli bir kimlik doğrulama SecretRef'i çözümlenmemişse, yoklama bağlantısı/kimlik doğrulaması başarısız olduğunda gateway status --json, rpc.authWarning bildirir; --token/--password açıkça geçirin veya önce gizli kaynak çözümleyin.
  • Yoklama başarılı olursa, yanlış pozitiflerden kaçınmak için çözümlenmemiş auth-ref uyarıları bastırılır.
  • Yoklama etkinleştirildiğinde, çalışan Gateway bildirirse JSON çıktısı gateway.version içerir; takip eden el sıkışma yoklaması sürüm meta verisi sağlayamazsa --require-rpc, status.runtimeVersion RPC yüküne geri dönebilir.
  • Dinleyen bir hizmet yeterli olmadığında ve okuma kapsamlı RPC çağrılarının da sağlıklı olması gerektiğinde betiklerde ve otomasyonda --require-rpc kullanın.
  • --deep, ek launchd/systemd/schtasks kurulumları için en iyi çaba taraması ekler. Birden fazla gateway benzeri hizmet algılandığında, insan çıktısı temizlik ipuçları yazdırır ve çoğu kurulumun makine başına bir gateway çalıştırması gerektiği konusunda uyarır.
  • --deep, hizmet işlemi harici bir gözetmen yeniden başlatması için temiz şekilde çıktığında yakın tarihli bir Gateway gözetmen yeniden başlatma devrini de bildirir.
  • --deep, yapılandırma doğrulamasını plugin farkındalıklı modda (pluginValidation: "full") çalıştırır ve yapılandırılmış plugin manifest uyarılarını (örneğin eksik kanal yapılandırma meta verisi) gösterir; böylece kurulum ve güncelleme smoke denetimleri bunları yakalar. Varsayılan gateway status, plugin doğrulamasını atlayan hızlı salt okunur yolu korur.
  • İnsan çıktısı, profil veya durum dizini sapmasını tanılamaya yardımcı olmak için çözümlenen dosya günlük yolunu ve CLI ile hizmet yapılandırma yolları/geçerlilik anlık görüntüsünü içerir.
Linux systemd kimlik doğrulama sapması denetimleri
  • Linux systemd kurulumlarında, hizmet kimlik doğrulama sapması denetimleri birimden hem Environment= hem de EnvironmentFile= değerlerini okur (%h, tırnaklı yollar, birden çok dosya ve isteğe bağlı - dosyaları dahil).
  • Sapma denetimleri, birleştirilmiş çalışma zamanı ortamını kullanarak gateway.auth.token SecretRef'lerini çözer (önce hizmet komutu ortamı, ardından süreç ortamı geri dönüşü).
  • Belirteç kimlik doğrulaması etkin olarak aktif değilse (açık gateway.auth.mode değeri password/none/trusted-proxy ise veya mod ayarlanmamışken parola kazanabiliyor ve hiçbir belirteç adayı kazanamıyorsa), belirteç sapması denetimleri yapılandırma belirteci çözümünü atlar.

gateway probe

gateway probe, "her şeyde hata ayıkla" komutudur. Her zaman şunları yoklar:

  • yapılandırılmış uzak gateway'iniz (ayarlanmışsa) ve
  • uzak yapılandırılmış olsa bile localhost (loopback).

--url geçirirseniz, bu açık hedef ikisinin önüne eklenir. İnsan çıktısı hedefleri şöyle etiketler:

  • URL (explicit)
  • Remote (configured) veya Remote (configured, inactive)
  • Local loopback
bash
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA " type="number"> Yerel loopback yoklama hedefi ve SSH tüneli uzak bağlantı noktası için bu bağlantı noktasını kullan. --url olmadan, bu yapılandırılmış gateway ortam URL'si, ortam bağlantı noktası veya uzak hedefler yerine yerel loopback hedefini seçer.

Yorumlama
  • Reachable: yes, en az bir hedefin WebSocket bağlantısını kabul ettiği anlamına gelir.
  • Capability: read-only|write-capable|admin-capable|pairing-pending|connect-only, yoklamanın kimlik doğrulama hakkında kanıtlayabildiği şeyi bildirir. Erişilebilirlikten ayrıdır.
  • Read probe: ok, okuma kapsamlı ayrıntı RPC çağrılarının (health/status/system-presence/config.get) da başarılı olduğu anlamına gelir.
  • Read probe: limited - missing scope: operator.read, bağlantının başarılı olduğunu ancak okuma kapsamlı RPC'nin sınırlı olduğunu belirtir. Bu, tam hata olarak değil bozulmuş erişilebilirlik olarak bildirilir.
  • Connect: ok sonrasında Read probe: failed, Gateway'in WebSocket bağlantısını kabul ettiği, ancak takip eden okuma tanılamalarının zaman aşımına uğradığı veya başarısız olduğu anlamına gelir. Bu da erişilemeyen Gateway değil, bozulmuş erişilebilirliktir.
  • gateway status gibi, yoklama mevcut önbelleğe alınmış cihaz kimlik doğrulamasını yeniden kullanır ancak ilk kez cihaz kimliği veya eşleştirme durumu oluşturmaz.
  • Çıkış kodu yalnızca hiçbir yoklanan hedef erişilebilir olmadığında sıfır olmayan değerdir.
JSON çıktısı

Üst düzey:

  • ok: en az bir hedef erişilebilir.
  • degraded: en az bir hedef bağlantı kabul etti ancak tam ayrıntılı RPC tanılamalarını tamamlamadı.
  • capability: erişilebilir hedefler arasında görülen en iyi yetenek (read_only, write_capable, admin_capable, pairing_pending, connected_no_operator_scope veya unknown).
  • primaryTargetId: şu sırada aktif kazanan olarak değerlendirilecek en iyi hedef: açık URL, SSH tüneli, yapılandırılmış uzak, ardından yerel loopback.
  • warnings[]: code, message ve isteğe bağlı targetIds içeren en iyi çaba uyarı kayıtları.
  • network: geçerli yapılandırma ve ana makine ağından türetilen yerel loopback/tailnet URL ipuçları.
  • discovery.timeoutMs ve discovery.count: bu yoklama geçişi için kullanılan gerçek keşif bütçesi/sonuç sayısı.

Hedef başına (targets[].connect):

  • ok: bağlantı sonrası erişilebilirlik + bozulmuş sınıflandırması.
  • rpcOk: tam ayrıntı RPC başarısı.
  • scopeLimited: ayrıntı RPC'si eksik operatör kapsamı nedeniyle başarısız oldu.

Hedef başına (targets[].auth):

  • role: varsa hello-ok içinde bildirilen kimlik doğrulama rolü.
  • scopes: varsa hello-ok içinde bildirilen verilen kapsamlar.
  • capability: o hedef için gösterilen kimlik doğrulama yeteneği sınıflandırması.
Yaygın uyarı kodları
  • ssh_tunnel_failed: SSH tüneli kurulumu başarısız oldu; komut doğrudan yoklamalara geri döndü.
  • multiple_gateways: ayrı gateway kimlikleri erişilebilirdi veya OpenClaw erişilebilir hedeflerin aynı gateway olduğunu kanıtlayamadı. Aynı gateway'e giden SSH tüneli, proxy URL'si veya yapılandırılmış uzak URL bu uyarıyı tetiklemez.
  • auth_secretref_unresolved: yapılandırılmış bir kimlik doğrulama SecretRef'i başarısız bir hedef için çözülemedi.
  • probe_scope_limited: WebSocket bağlantısı başarılı oldu, ancak okuma yoklaması eksik operator.read nedeniyle sınırlıydı.

SSH üzerinden uzak (Mac uygulamasıyla eşdeğerlik)

macOS uygulamasının "Remote over SSH" modu, uzak gateway'in (yalnızca loopback'e bağlı olabilir) ws://127.0.0.1:<port> adresinde erişilebilir hale gelmesi için yerel bağlantı noktası yönlendirmesi kullanır.

CLI eşdeğeri:

bash
openclaw gateway probe --ssh user@gateway-host

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc3NoIDx0YXJnZXQ " type="string"> user@host veya user@host:port (bağlantı noktası varsayılan olarak 22).

--ssh-autoboolean

Çözümlenen keşif uç noktasından (local. artı yapılandırılmış geniş alan etki alanı, varsa) ilk keşfedilen gateway ana makinesini SSH hedefi olarak seç. Yalnızca TXT ipuçları yok sayılır.

Yapılandırma (isteğe bağlı, varsayılanlar olarak kullanılır):

  • gateway.remote.sshTarget
  • gateway.remote.sshIdentity

gateway call <method>

Düşük düzey RPC yardımcısı.

bash
openclaw gateway call statusopenclaw gateway call logs.tail --params '{"sinceMs": 60000}'
"--params
"--url
"--token
"--password
"--timeout
--expect-finalboolean

Esas olarak nihai yükten önce ara olaylar akışı yapan ajan tarzı RPC'ler için.

--jsonboolean

Makine tarafından okunabilir JSON çıktısı.

Gateway hizmetini yönet

bash
openclaw gateway installopenclaw gateway startopenclaw gateway stopopenclaw gateway restartopenclaw gateway uninstall

Sarmalayıcı ile kurun

Yönetilen hizmetin başka bir yürütülebilir dosya üzerinden başlaması gerektiğinde, örneğin bir gizli bilgi yöneticisi shim'i veya farklı kullanıcı olarak çalıştırma yardımcısı için --wrapper kullanın. Sarmalayıcı normal Gateway argümanlarını alır ve sonunda bu argümanlarla openclaw veya Node'u exec ile çalıştırmaktan sorumludur.

bash
cat > ~/.local/bin/openclaw-doppler <<'EOF'#!/usr/bin/env bashset -euo pipefailexec doppler run --project my-project --config production -- openclaw "$@"EOFchmod +x ~/.local/bin/openclaw-doppler openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --forceopenclaw gateway restart

Sarmalayıcıyı ortam üzerinden de ayarlayabilirsiniz. gateway install, yolun yürütülebilir bir dosya olduğunu doğrular, sarmalayıcıyı hizmet ProgramArguments içine yazar ve sonraki zorunlu yeniden kurulumlar, güncellemeler ve doctor onarımları için hizmet ortamında OPENCLAW_WRAPPER değerini kalıcı hale getirir.

bash
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --forceopenclaw doctor

Kalıcı hale getirilmiş bir sarmalayıcıyı kaldırmak için yeniden kurarken OPENCLAW_WRAPPER değerini temizleyin:

bash
OPENCLAW_WRAPPER= openclaw gateway install --forceopenclaw gateway restart
Komut seçenekleri
  • gateway status: --url, --token, --password, --timeout, --no-probe, --require-rpc, --deep, --json
  • gateway install: --port, --runtime <node|bun>, --token, --wrapper <path>, --force, --json
  • gateway restart: --safe, --skip-deferral, --force, --wait <duration>, --json
  • gateway uninstall|start: --json
  • gateway stop: --disable, --json
Yaşam döngüsü davranışı
  • Yönetilen bir hizmeti yeniden başlatmak için gateway restart kullanın. Yeniden başlatma yerine gateway stop ve gateway start komutlarını zincirlemeyin.
  • macOS'te gateway stop varsayılan olarak launchctl bootout kullanır; bu, LaunchAgent'ı kalıcı bir devre dışı bırakma uygulamadan geçerli önyükleme oturumundan kaldırır — KeepAlive otomatik kurtarma gelecekteki çökmeler için etkin kalır ve gateway start, elle launchctl enable gerektirmeden temiz şekilde yeniden etkinleştirir. Gateway'in bir sonraki açık gateway start komutuna kadar yeniden doğmaması için KeepAlive ve RunAtLoad'u kalıcı olarak bastırmak üzere --disable geçirin; elle durdurmanın yeniden önyüklemelerden veya sistem yeniden başlatmalarından sonra da geçerli kalması gerektiğinde bunu kullanın.
  • gateway restart --safe, çalışan Gateway'den etkin işleri ön kontrolden geçirmesini ve etkin işler boşaldıktan sonra birleştirilmiş tek bir yeniden başlatma zamanlamasını ister. Varsayılan güvenli yeniden başlatma, etkin işleri yapılandırılmış gateway.reload.deferralTimeoutMs süresine kadar bekler (varsayılan 5 dakika); bu bütçe dolduğunda yeniden başlatma zorlanır. Asla zorlamayan süresiz bir güvenli bekleme için gateway.reload.deferralTimeoutMs değerini 0 olarak ayarlayın. --safe, --force veya --wait ile birlikte kullanılamaz.
  • gateway restart --wait 30s, o yeniden başlatma için yapılandırılmış yeniden başlatma boşaltma bütçesini geçersiz kılar. Birimsiz sayılar milisaniyedir; s, m ve h gibi birimler kabul edilir. --wait 0 süresiz bekler.
  • gateway restart --safe --skip-deferral, OpenClaw farkındalıklı güvenli yeniden başlatmayı çalıştırır ancak erteleme kapısını atlar; böylece engelleyiciler bildirildiğinde bile Gateway yeniden başlatmayı hemen yayımlar. Takılı kalmış görev çalıştırma ertelemeleri için operatör kaçış yoludur; --safe gerektirir.
  • gateway restart --force, etkin iş boşaltmasını atlar ve hemen yeniden başlatır. Operatör listelenen görev engelleyicilerini zaten incelemişse ve gateway'i hemen geri istiyorsa bunu kullanın.
  • Yaşam döngüsü komutları betikleme için --json kabul eder.
Kurulum zamanında kimlik doğrulama ve SecretRef'ler
  • Token kimlik doğrulaması bir token gerektirdiğinde ve gateway.auth.token SecretRef tarafından yönetildiğinde, gateway install SecretRef'in çözümlenebilir olduğunu doğrular ancak çözümlenen token'ı hizmet ortamı meta verilerine kalıcı olarak kaydetmez.
  • Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef'i çözümlenemiyorsa, kurulum yedek düz metni kalıcı olarak kaydetmek yerine kapalı şekilde başarısız olur.
  • gateway run üzerinde parola kimlik doğrulaması için satır içi --password yerine OPENCLAW_GATEWAY_PASSWORD, --password-file veya SecretRef destekli gateway.auth.password tercih edin.
  • Çıkarımsanan kimlik doğrulama modunda, yalnızca kabukta ayarlı OPENCLAW_GATEWAY_PASSWORD kurulum token gereksinimlerini gevşetmez; yönetilen bir hizmet kurarken kalıcı yapılandırma (gateway.auth.password veya yapılandırma env) kullanın.
  • Hem gateway.auth.token hem de gateway.auth.password yapılandırılmışsa ve gateway.auth.mode ayarlanmamışsa, mod açıkça ayarlanana kadar kurulum engellenir.

Gateway'leri keşfet (Bonjour)

gateway discover, Gateway işaretçilerini (_openclaw-gw._tcp) tarar.

  • Multicast DNS-SD: local.
  • Unicast DNS-SD (Wide-Area Bonjour): bir alan adı seçin (örnek: openclaw.internal.) ve split DNS + bir DNS sunucusu kurun; bkz. Bonjour.

Yalnızca Bonjour keşfi etkinleştirilmiş (varsayılan) Gateway'ler işaretçiyi duyurur.

Geniş alan keşif kayıtları şu TXT ipuçlarını içerebilir:

  • role (Gateway rolü ipucu)
  • transport (taşıma ipucu, örn. gateway)
  • gatewayPort (WebSocket portu, genellikle 18789)
  • sshPort (yalnızca tam keşif modu; istemciler, bulunmadığında varsayılan SSH hedeflerini 22 olarak ayarlar)
  • tailnetDns (varsa MagicDNS ana makine adı)
  • gatewayTls / gatewayTlsSha256 (TLS etkin + sertifika parmak izi)
  • cliPath (yalnızca tam keşif modu)

gateway discover

bash
openclaw gateway discover
"--timeout
--jsonboolean

Makine tarafından okunabilir çıktı (biçimlendirmeyi/döndürücüyü de devre dışı bırakır).

Örnekler:

bash
openclaw gateway discover --timeout 4000openclaw gateway discover --json | jq '.beacons[].wsUrl'

İlgili

Was this useful?
On this page

On this page