CLI commands

Gateway

Gateway, OpenClaw'ın WebSocket sunucusudur (kanallar, Node'lar, oturumlar, hook'lar). Aşağıdaki tüm alt komutlar openclaw gateway ... altında yer alır.

Gateway'i çalıştırma

bash
openclaw gatewayopenclaw gateway run   # eşdeğer, açık biçim
Başlatma davranışı
  • ~/.openclaw/openclaw.json içinde gateway.mode=local ayarlanmadığı sürece başlatmayı reddeder. Geçici/geliştirme çalıştırmaları için --allow-unconfigured kullanın; yapılandırmayı yazmadan veya onarmadan korumayı atlar.
  • openclaw onboard --mode local ve openclaw setup, gateway.mode=local değerini yazar. Yapılandırma dosyası mevcutsa ancak gateway.mode eksikse bu, bozulmuş/üzerine yazılmış yapılandırma olarak değerlendirilir ve Gateway sizin yerinize local değerini tahmin etmeyi reddeder — ilk katılımı yeniden çalıştırın, anahtarı elle ayarlayın veya --allow-unconfigured iletin.
  • Kimlik doğrulama olmadan loopback dışına bağlanma engellenir.
  • --bind seçeneklerinden lan, tailnet ve custom günümüzde yalnızca IPv4 yolları üzerinden çözümlenir; yalnızca IPv6 kullanan kendi sunucunuzu getirin kurulumları, Gateway'in önünde bir IPv4 yardımcı hizmeti veya proxy gerektirir.
  • SIGUSR1, yetkilendirildiğinde süreç içi yeniden başlatmayı tetikler. commands.restart (varsayılan: etkin), dışarıdan gönderilen SIGUSR1 sinyallerini denetler; Gateway restart komutu, Gateway aracı ve yapılandırma uygulama/güncelleme üzerinden yeniden başlatmaya izin vermeyi sürdürürken işletim sistemi sinyaliyle elle yeniden başlatmaları engellemek için bunu false olarak ayarlayın.
  • SIGINT/SIGTERM süreci durdurur ancak özel terminal durumunu geri yüklemez — CLI'yi bir TUI veya ham mod girişiyle sarmalıyorsanız çıkmadan önce terminali kendiniz 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:IHBhdGg9Ii0tYmluZCA8bW9kZQ " type="string"> Bağlama modu: loopback (varsayılan), lan, tailnet, auto, custom.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdG9rZW4gPHRva2Vu " type="string"> connect.params.auth.token için paylaşılan belirteç. Ayarlandığında varsayılan olarak OPENCLAW_GATEWAY_TOKEN kullanılır.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYXV0aCA8bW9kZQ " type="string"> Kimlik doğrulama modu: none, token, password, trusted-proxy.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcGFzc3dvcmQgPHBhc3N3b3Jk " type="string"> --auth password için parola.

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tdGFpbHNjYWxlIDxtb2Rl " type="string"> Tailscale erişime açma modu: off, serve, funnel.

--tailscale-reset-on-exitboolean

Kapatma sırasında Tailscale serve/funnel yapılandırmasını sıfırlayın.

--allow-unconfiguredboolean

gateway.mode=local zorunluluğunu uygulamadan başlatın. Yalnızca geçici/geliştirme önyüklemesi içindir; yapılandırmayı kalıcılaştırmaz veya onarmaz.

--devboolean

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

--resetboolean

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

--forceboolean

Başlatmadan önce hedef porttaki mevcut dinleyiciyi sonlandırın.

--verboseboolean

stdout/stderr'e ayrıntılı günlük kaydı.

--cli-backend-logsboolean

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

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0td3MtbG9nIDxzdHlsZQ " type="string" default="auto"> WebSocket günlük biçemi: auto, full, compact.

--compactboolean

--ws-log compact için diğer ad.

--raw-streamboolean

Ham model akışı olaylarını JSONL biçiminde günlüğe kaydedin.

--claude-cli-logs, --cli-backend-logs için kullanımdan kaldırılmış bir diğer addır.

--bind custom için gateway.customBindHost değerini bir IPv4 adresine ayarlayın. 127.0.0.1 veya 0.0.0.0 dışındaki tüm adresler, aynı sunucudaki istemciler için aynı portta 127.0.0.1 adresini de gerektirir; dinleyicilerden herhangi biri bağlanamazsa başlatma başarısız olur. Joker karakterli 0.0.0.0, ayrıca zorunlu bir diğer ad eklemez. Yalnızca IPv6 kullanan kendi sunucunuzu getirin kurulumları, Gateway'in önünde bir IPv4 yardımcı hizmeti veya proxy gerektirir.

Gateway'i yeniden başlatma

bash
openclaw gateway restartopenclaw gateway restart --safeopenclaw gateway restart --safe --skip-deferralopenclaw gateway restart --forceopenclaw gateway restart --wait 30s

--safe, çalışan Gateway'den etkin işleri önceden denetlemesini ve bu işler tamamlandıktan sonra birleştirilmiş tek bir yeniden başlatma zamanlamasını ister. Bekleme süresi gateway.reload.deferralTimeoutMs ile sınırlıdır (varsayılan: 5 dakika / 300000); süre dolduğunda yeniden başlatma zorlanır. Zorlamak yerine süresiz beklemek (düzenli aralıklarla hâlâ beklemede uyarılarıyla) için deferralTimeoutMs: 0 olarak ayarlayın. --safe, --force veya --wait ile birlikte kullanılamaz.

--skip-deferral, güvenli yeniden başlatmada etkin iş erteleme kapısını atlar; böylece bildirilen engelleyiciler olsa bile Gateway hemen yeniden başlatılır. --safe gerektirir — erteleme kontrolden çıkmış bir görevde takılı kaldığında kullanın.

--wait <duration>, normal (güvenli olmayan) yeniden başlatma için boşaltma süresi sınırını geçersiz kılar. Birimsiz milisaniyeleri veya ms, s, m, h, d birim son eklerini kabul eder (ör. 30s, 5m, 1h30m); --wait 0 süresiz bekler. --force veya --safe ile uyumlu değildir.

--force, etkin işlerin tamamlanmasını beklemeyi atlar ve hemen yeniden başlatır. Normal restart (bayraksız), mevcut hizmet yöneticisi yeniden başlatma davranışını korur.

Gateway profil oluşturma

  • OPENCLAW_GATEWAY_STARTUP_TRACE=1, her aşama için eventLoopMax gecikmesi ve Plugin arama tablosu zamanlamaları (kurulu dizin, manifest kayıt defteri, başlatma planlaması, sahip eşlemesi çalışması) dâhil olmak üzere başlatma sırasındaki aşama zamanlamalarını günlüğe kaydeder.
  • OPENCLAW_GATEWAY_RESTART_TRACE=1, yeniden başlatma kapsamındaki restart trace: satırlarını günlüğe kaydeder: sinyal işleme, etkin işlerin tamamlanmasını bekleme, kapatma aşamaları, sonraki başlatma, hazır olma zamanlaması ve bellek ölçümleri.
  • OPENCLAW_DIAGNOSTICS=timeline, OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=<path> ile birlikte harici kalite güvence düzenekleri için en iyi çabayla bir JSONL başlatma tanılama zaman çizelgesi yazar (diagnostics.flags: ["timeline"] yapılandırmasına eşdeğerdir; yol hâlâ yalnızca ortam değişkeniyle ayarlanır). Olay döngüsü örneklerini dâhil etmek için OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1 ekleyin.
  • pnpm build, ardından pnpm test:startup:gateway -- --runs 5 --warmup 1, oluşturulmuş CLI girişini kullanarak Gateway başlatmasını karşılaştırmalı olarak ölçer: ilk süreç çıktısı, /healthz, /readyz, başlatma izleme zamanlamaları, olay döngüsü gecikmesi ve Plugin arama tablosu zamanlaması.
  • pnpm build, ardından pnpm test:restart:gateway -- --case skipChannels --runs 1 --restarts 5, macOS veya Linux'ta süreç içi yeniden başlatmayı karşılaştırmalı olarak ölçer (Windows'ta desteklenmez; yeniden başlatma SIGUSR1 gerektirir). SIGUSR1 kullanır, alt süreçte her iki izlemeyi de etkinleştirir ve sonraki /healthz, sonraki /readyz, kesinti süresi, hazır olma zamanlaması, CPU, RSS ve yeniden başlatma izleme ölçümlerini kaydeder.
  • /healthz canlılık durumunu, /readyz kullanılabilirlik hazırlığını gösterir. İzleme satırlarını ve karşılaştırmalı ölçüm çıktısını tek bir zaman aralığı veya örnekten çıkarılan eksiksiz performans sonucu olarak değil, sorumlu bileşeni belirleme sinyali olarak değerlendirin.

Çalışan bir Gateway'i sorgulama

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

Çıktı modları

  • Varsayılan: insanlar tarafından okunabilir (TTY'de renkli).
  • --json: makine tarafından okunabilir JSON (biçem/döndürücü yok).
  • --no-color (veya NO_COLOR=1): insan odaklı düzeni korurken ANSI'yi devre dışı bırakır.

Paylaşılan seçenekler

  • --url <url>: Gateway WebSocket URL'si.
  • --token <token>: Gateway belirteci.
  • --password <password>: Gateway parolası.
  • --timeout <ms>: zaman aşımı/süre sınırı (varsayılan komuta göre değişir; aşağıdaki her komuta bakın).
  • --expect-final: "final" yanıtını bekler (ajan çağrıları).

gateway health

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

/healthz bir canlılık yoklamasıdır: sunucu HTTP'ye yanıt verebilir duruma gelir gelmez sonuç döndürür. /readyz daha katıdır ve başlatma Plugin yardımcı süreçleri, kanallar veya yapılandırılmış hook'lar hâlâ hazır hâle gelirken kırmızı kalır. Yerel veya kimliği doğrulanmış ayrıntılı /readyz yanıtları bir eventLoop tanılama bloğu (gecikme, kullanım, CPU çekirdeği oranı, degraded bayrağı) içerir.

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

gateway usage-cost

Oturum günlüklerinden kullanım-maliyet özetlerini alın.

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

Yapılandırılmış tüm ajanlar genelinde birleştirin. --agent ile birlikte kullanılamaz.

gateway stability

Çalışan bir Gateway'den yakın tarihli tanılama kararlılığı kaydedicisini alın.

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"> Dâhil edilecek en fazla yakın tarihli olay sayısı (en fazla 1000).

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

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

Çalışan Gateway'i çağırmak yerine kalıcı bir kararlılık paketini okuyun. --bundle latest (veya yalnızca --bundle), durum dizini altındaki en yeni paketi seçer; doğrudan bir paket JSON yolu da iletebilirsiniz.

--exportboolean

Kararlılık ayrıntılarını yazdırmak yerine paylaşılabilir bir destek tanılama ZIP dosyası 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ılar, bayt boyutları, bellek ölçümleri, kuyruk/oturum durumu, onay kimlikleri, kanal/Plugin adları ve hassas bilgileri ayıklanmış oturum özetleri. Sohbet metnini, Webhook gövdelerini, araç çıktılarını, ham istek/yanıt gövdelerini, belirteçleri, çerezleri, gizli değerleri, sunucu adlarını ve ham oturum kimliklerini hariç tutarlar. Kaydediciyi tamamen devre dışı bırakmak için diagnostics.enabled: false olarak ayarlayın.
  • Ölümcül Gateway çıkışları, kapatma zaman aşımları ve yeniden başlatma sırasındaki başlatma hataları, kaydedicide olaylar bulunduğunda 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ı için tasarlanmış yerel bir tanılama ZIP dosyası yazın. Gizlilik modeli ve paket içeriği için Tanılama Dışa Aktarımı bölümüne bakın.

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 şu dosyaları paketler: manifest.json (dosya envanteri), summary.md (Markdown özeti), diagnostics.json (üst düzey yapılandırma/günlükler/keşif/kararlılık/durum/sistem durumu özeti), config/sanitized.json, status/gateway-status.json, health/gateway-health.json, logs/openclaw-sanitized.jsonl ve bir paket mevcut olduğunda stability/latest.json.

Paylaşılmak üzere tasarlanmıştır. Hata ayıklama için yararlı operasyonel ayrıntıları — güvenli günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış modlar, portlar, plugin/sağlayıcı kimlikleri, gizli olmayan özellik ayarları ve hassas bilgileri çıkarılmış operasyonel günlük iletileri — korur; sohbet metinlerini, webhook gövdelerini, araç çıktılarını, kimlik bilgilerini, çerezleri, hesap/ileti tanımlayıcılarını, istem/yönerge metinlerini, ana makine adlarını ve gizli değerleri ise atlar veya hassas bilgilerini çıkarır. Bir günlük iletisi kullanıcı/sohbet/araç yükü metni gibi görünüyorsa (ör. "kullanıcı söyledi", "sohbet metni", "araç çıktısı", "webhook gövdesi"), dışa aktarım yalnızca bir iletinin atlandığı bilgisini ve bayt sayısını korur.

gateway status

Gateway hizmetini (launchd/systemd/schtasks) ve isteğe bağlı bir bağlantı/kimlik doğrulama yoklamasını 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

Bağlantı yoklamasını bir okuma yoklamasına yükselt ve başarısız olursa sıfırdan farklı bir kodla çık. --no-probe ile birlikte kullanılamaz.

Durum semantiği
  • Yerel CLI yapılandırması eksik veya geçersiz olduğunda bile tanılama amacıyla kullanılabilir durumda kalır.
  • Varsayılan çıktı hizmet durumunu, WebSocket bağlantısını ve el sıkışma sırasında görülebilen kimlik doğrulama yeteneğini kanıtlar; okuma/yazma/yönetici işlemlerini kanıtlamaz.
  • Yoklamalar, ilk cihaz kimlik doğrulaması için değişiklik yapmaz: mevcutsa önbelleğe alınmış bir cihaz belirtecini yeniden kullanır ancak yalnızca durumu denetlemek amacıyla yeni bir CLI cihaz kimliği veya salt okunur eşleştirme kaydı oluşturmaz.
  • Mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözümler. Gerekli bir SecretRef çözümlenemezse bağlantı/kimlik doğrulama yoklaması başarısız olduğunda --json, rpc.authWarning değerini bildirir; --token/--password seçeneğini açıkça geçirin veya gizli bilginin kaynağını düzeltin. Yoklama başarılı olduğunda çözümlenmemiş kimlik doğrulama uyarıları gizlenir.
  • Çalışan Gateway bunu bildirdiğinde JSON çıktısı gateway.version değerini içerir; el sıkışma yoklaması sürüm meta verilerini sağlayamazsa --require-rpc, status.runtimeVersion RPC yüküne geri dönebilir.
  • Dinleyen bir hizmet yeterli olmadığında ve okuma kapsamlı RPC'nin de sağlıklı olması gerektiğinde betiklerde/otomasyonda --require-rpc kullanın.
  • --deep, ek launchd/systemd/schtasks kurulumlarını tarar; Gateway benzeri birden fazla hizmet bulunduğunda insan tarafından okunabilir çıktı temizleme ipuçlarını yazdırır (genellikle makine başına tek bir Gateway çalıştırın) ve ilgili olduğunda yakın tarihli bir gözetmen yeniden başlatma devrini bildirir.
  • --deep ayrıca plugin duyarlı modda (pluginValidation: "full") yapılandırma doğrulaması çalıştırır ve plugin manifesti uyarılarını (ör. eksik kanal yapılandırma meta verileri) gösterir. Varsayılan gateway status, plugin doğrulamasını atlayan hızlı salt okunur yolu korur.
  • İnsan tarafından okunabilir çıktı, profil veya durum dizini sapmasını tanılamaya yardımcı olmak için çözümlenen dosya günlüğü yolunun yanı sıra CLI ile hizmet yapılandırma yollarını ve geçerliliklerini içerir.
Linux systemd kimlik doğrulaması sapması denetimleri
  • Hizmet kimlik doğrulaması sapması denetimleri, birimden hem Environment= hem de EnvironmentFile= değerlerini okur (%h, tırnak içine alınmış yollar, birden fazla dosya ve isteğe bağlı - dosyaları dâhil).
  • Birleştirilmiş çalışma zamanı ortamını kullanarak gateway.auth.token SecretRef'lerini çözümler (önce hizmet komutu ortamı, ardından süreç ortamı yedeği).
  • Belirteçle kimlik doğrulama etkin biçimde aktif olmadığında belirteç sapması denetimleri yapılandırma belirtecinin çözümlenmesini atlar (gateway.auth.mode açıkça password/none/trusted-proxy olduğunda veya mod ayarlanmamışken parola kazanabiliyor ve hiçbir belirteç adayı kazanamıyorsa).

gateway probe

"Her şeyin hatasını ayıkla" komutu. Her zaman şunları yoklar:

  • yapılandırılmış uzak Gateway'inizi (ayarlanmışsa) ve
  • uzak hedef yapılandırılmış olsa bile localhost'u (local loopback).

--url geçirilmesi, bu açık hedefi diğer ikisinin önüne ekler. İnsan tarafından okunabilir çıktı hedefleri URL (açık), Uzak (yapılandırılmış) / Uzak (yapılandırılmış, etkin değil) ve Local loopback olarak etiketler.

bash
openclaw gateway probeopenclaw gateway probe --jsonopenclaw gateway probe --port 18789

OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcG9ydCA8cG9ydA " type="number"> Bu portu yerel local loopback yoklama hedefi ve SSH tüneli uzak portu için kullan. --url olmadan bu seçenek, yapılandırılmış Gateway ortam URL'si, ortam portu veya uzak hedefler yerine yalnızca yerel local loopback hedefini seçer.

Yorumlama
  • Erişilebilir: evet, en az bir hedefin WebSocket bağlantısını kabul ettiği anlamına gelir.
  • Yetenek: salt-okunur|yazma-yetkili|yönetici-yetkili|eşleştirme-bekliyor|yalnızca-bağlantı, erişilebilirlikten ayrı olarak yoklamanın kimlik doğrulama hakkında neyi kanıtlayabildiğini bildirir.
  • Okuma yoklaması: başarılı, 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.
  • Okuma yoklaması: sınırlı - eksik kapsam: operator.read, bağlantının başarılı olduğu ancak okuma kapsamlı RPC'nin sınırlı olduğu anlamına gelir. Tam başarısızlık değil, düşük performanslı erişilebilirlik olarak bildirilir.
  • Bağlantı: başarılı sonrasında Okuma yoklaması: başarısız, WebSocket'in bağlandığı ancak sonraki okuma tanılamalarının zaman aşımına uğradığı veya başarısız olduğu anlamına gelir; bu da erişilemez değil, düşük performanslı durumdur.
  • gateway status gibi yoklama da önbelleğe alınmış mevcut cihaz kimlik doğrulamasını yeniden kullanır ancak ilk cihaz kimliğini veya eşleştirme durumunu oluşturmaz.
  • Çıkış kodu yalnızca yoklanan hedeflerin hiçbirine erişilemediğinde sıfırdan farklıdır.
JSON çıktısı

Üst düzey:

  • ok: en az bir hedef erişilebilir.
  • degraded: en az bir hedef bağlantıyı kabul etti ancak tam ayrıntılı RPC tanılamasını tamamlamadı.
  • capability: erişilebilir hedeflerde görülen en iyi yetenek (read_only, write_capable, admin_capable, pairing_pending, connected_no_operator_scope veya unknown).
  • primaryTargetId: etkin kazanan olarak ele alınacak en iyi hedef; sırasıyla açık URL, SSH tüneli, yapılandırılmış uzak hedef, yerel local loopback.
  • warnings[]: code, message ve isteğe bağlı targetIds içeren, mümkün olan en iyi şekilde oluşturulmuş uyarı kayıtları.
  • network: geçerli yapılandırmadan ve ana makine ağından türetilen yerel local loopback/tailnet URL ipuçları.
  • discovery.timeoutMs / 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 (erişilebilirlik + düşük performanslı sınıflandırması), rpcOk (tam ayrıntılı RPC başarısı), scopeLimited (ayrıntı RPC'si eksik operatör kapsamında başarısız oldu).

Hedef başına (targets[].auth): kullanılabilir olduğunda hello-ok içinde bildirilen role ve scopes ile gösterilen capability 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: farklı Gateway kimliklerine erişilebildi veya OpenClaw erişilebilir hedeflerin aynı Gateway olduğunu kanıtlayamadı. Aynı Gateway'e yönelik bir SSH tüneli, proxy URL'si veya yapılandırılmış uzak URL bunu tetiklemez.
  • auth_secretref_unresolved: başarısız bir hedef için yapılandırılmış kimlik doğrulama SecretRef'i çözümlenemedi.
  • probe_scope_limited: WebSocket bağlantısı başarılı oldu ancak eksik operator.read nedeniyle okuma yoklaması sınırlı kaldı.
  • local_tls_runtime_unavailable: yerel Gateway TLS etkin ancak OpenClaw yerel sertifika parmak izini yükleyemedi.

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

macOS uygulamasının "Remote over SSH" modu, yalnızca local loopback üzerinden erişilebilen uzak bir Gateway'i ws://127.0.0.1:<port> adresinden erişilebilir kılmak için yerel port 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 (portun varsayılanı 22).

--ssh-autoboolean

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

Yapılandırma varsayılanları (isteğe bağlı): gateway.remote.sshTarget, gateway.remote.sshIdentity.

gateway call <method>

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

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

Temel olarak nihai yükten önce ara olayları akışla ileten aracı tarzı RPC'ler içindir.

--jsonboolean

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

Gateway hizmetini yönetme

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

Bir sarmalayıcıyla kurulum

Yönetilen hizmetin başka bir çalıştırılabilir dosya üzerinden başlaması gerektiğinde, örneğin bir gizli bilgi yöneticisi uyarlayıcısı veya farklı kullanıcıyla çalıştırma yardımcısı kullanırken --wrapper seçeneğini kullanın. Sarmalayıcı normal Gateway bağımsız değişkenlerini alır ve sonunda bu bağımsız değişkenlerle openclaw ya da Node'u exec aracılığıyla ç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 çalıştırılabilir bir dosya olduğunu doğrular, sarmalayıcıyı hizmetin ProgramArguments alanına yazar ve daha sonraki zorunlu yeniden kurulumlar, güncellemeler ve doctor onarımları için OPENCLAW_WRAPPER değerini hizmet ortamında kalıcı hâle getirir.

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

Kalıcı bir sarmalayıcıyı kaldırmak için yeniden kurulum sırasında 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> (varsayılan: node), --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 komut kalıcı bir devre dışı bırakma uygulamadan LaunchAgent'ı geçerli önyükleme oturumundan kaldırır. Böylece KeepAlive otomatik kurtarması gelecekteki çökmeler için etkin kalır ve gateway start, elle launchctl enable çalıştırılması gerekmeden hizmeti sorunsuzca yeniden etkinleştirir. Gateway'in bir sonraki açık gateway start komutuna kadar yeniden başlatılmaması için KeepAlive ve RunAtLoad'u kalıcı olarak engellemek üzere --disable iletin; elle durdurmanın yeniden başlatmalar sonrasında da korunması gerektiğinde bunu kullanın.
  • Yaşam döngüsü komutları, betiklerde kullanım için --json kabul eder.
Kurulum sırasında kimlik doğrulama ve SecretRef'ler
  • Belirteçle kimlik doğrulama bir belirteç 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 belirteci hizmet ortamı meta verilerinde kalıcı hâle getirmez.
  • Belirteçle kimlik doğrulama bir belirteç gerektiriyorsa ve yapılandırılmış belirteç SecretRef'i çözümlenemiyorsa kurulum, yedek düz metni kalıcı hâle getirmek yerine güvenli biçimde başarısız olur.
  • gateway run üzerinde parolayla kimlik doğrulama için satır içi --password yerine OPENCLAW_GATEWAY_PASSWORD, --password-file veya SecretRef destekli gateway.auth.password tercih edin.
  • Çıkarımlı kimlik doğrulama modunda yalnızca kabukta bulunan OPENCLAW_GATEWAY_PASSWORD, kurulumun belirteç gereksinimlerini gevşetmez; yönetilen bir hizmet kurarken kalıcı yapılandırma (gateway.auth.password veya yapılandırmadaki 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şfetme (Bonjour)

gateway discover, Gateway işaretlerini (_openclaw-gw._tcp) tarar.

  • Çok noktaya yayın DNS-SD: local.
  • Tek noktaya yayın DNS-SD (geniş alan Bonjour): bir etki alanı seçin (örnek: openclaw.internal.) ve bölünmüş DNS ile bir DNS sunucusu kurun; bkz. Bonjour.

Yalnızca Bonjour keşfi etkinleştirilmiş (varsayılan) Gateway'ler işareti yayınlar.

Her işaretteki TXT ipuçları: role (Gateway rolü ipucu), transport (taşıma ipucu, ör. gateway), gatewayPort (WebSocket bağlantı noktası, genellikle 18789), tailnetDns (varsa MagicDNS ana bilgisayar adı), gatewayTls / gatewayTlsSha256 (TLS etkinliği + sertifika parmak izi). sshPort ve cliPath yalnızca tam keşif modunda yayınlanır (discovery.mdns.mode: "full"; varsayılan değer "minimal" olup bunları dışarıda bırakır; bu durumda istemciler SSH hedefleri için varsayılan olarak 22 numaralı bağlantı noktasını kullanır).

gateway discover

bash
openclaw gateway discover
"--timeout
--jsonboolean

Makine tarafından okunabilir çıktı (biçimlendirmeyi/döner göstergeyi 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