---
read_when:
    - Gateway'i CLI'den çalıştırma (geliştirme veya sunucular)
    - Gateway kimlik doğrulamasını, bağlama kiplerini ve bağlantıyı hata ayıklama
    - Gateway'leri Bonjour üzerinden keşfetme (yerel + wide-area DNS-SD)
summary: OpenClaw Gateway CLI (``openclaw gateway``) — gateway'leri çalıştırın, sorgulayın ve keşfedin
title: gateway
x-i18n:
    generated_at: "2026-04-23T09:00:24Z"
    model: gpt-5.4
    provider: openai
    source_hash: f9160017a4d1326819f6b4d067bd99aa02ee37689b96c185defedef6200c19cf
    source_path: cli/gateway.md
    workflow: 15
---

# Gateway CLI

Gateway, OpenClaw'ın WebSocket sunucusudur (kanallar, node'lar, oturumlar, hook'lar).

Bu sayfadaki alt komutlar `openclaw gateway …` altında yer alır.

İlgili belgeler:

- [/gateway/bonjour](/tr/gateway/bonjour)
- [/gateway/discovery](/tr/gateway/discovery)
- [/gateway/configuration](/tr/gateway/configuration)

## Gateway'i çalıştırın

Yerel bir Gateway süreci çalıştırın:

```bash
openclaw gateway
```

Ön plan takma adı:

```bash
openclaw gateway run
```

Notlar:

- 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 ama `gateway.mode` yoksa, bunu örtük olarak yerel kipi varsaymak yerine bozuk veya üzerine yazılmış bir yapılandırma olarak ele alın ve onarın.
- Dosya varsa ve `gateway.mode` eksikse, Gateway bunu şüpheli yapılandırma hasarı olarak değerlendirir ve sizin yerinize “yerel varsayımında bulunmayı” reddeder.
- Kimlik doğrulama olmadan loopback dışına bağlama engellenir (güvenlik korkuluğu).
- Yetkilendirildiğinde `SIGUSR1` süreç içi yeniden başlatmayı tetikler (`commands.restart` varsayılan olarak etkindir; elle yeniden başlatmayı engellemek için `commands.restart: false` ayarlayın, ancak gateway tool/config apply/update yine de izinli kalır).
- `SIGINT`/`SIGTERM` işleyicileri gateway sürecini durdurur, ancak özel terminal durumunu geri yüklemezler. CLI'yi bir TUI veya raw-mode girişiyle sarıyorsanız çıkıştan önce terminali geri yükleyin.

### Seçenekler

- `--port <port>`: WebSocket portu (varsayılan yapılandırma/env'den gelir; genellikle `18789`).
- `--bind <loopback|lan|tailnet|auto|custom>`: dinleyici bağlama kipi.
- `--auth <token|password>`: kimlik doğrulama kipi geçersiz kılması.
- `--token <token>`: belirteç geçersiz kılması (ayrıca süreç için `OPENCLAW_GATEWAY_TOKEN` ayarlar).
- `--password <password>`: parola geçersiz kılması. Uyarı: satır içi parolalar yerel süreç listelerinde açığa çıkabilir.
- `--password-file <path>`: gateway parolasını bir dosyadan okur.
- `--tailscale <off|serve|funnel>`: Gateway'i Tailscale üzerinden açığa çıkarır.
- `--tailscale-reset-on-exit`: kapanışta Tailscale serve/funnel yapılandırmasını sıfırlar.
- `--allow-unconfigured`: yapılandırmada `gateway.mode=local` olmadan gateway başlangıcına izin verir. Bu yalnızca geçici/geliştirme başlangıçları için başlangıç korkuluğunu atlar; yapılandırma dosyasını yazmaz veya onarmaz.
- `--dev`: eksikse bir geliştirme yapılandırması + çalışma alanı oluşturur (`BOOTSTRAP.md` atlanır).
- `--reset`: geliştirme yapılandırmasını + kimlik bilgilerini + oturumları + çalışma alanını sıfırlar (`--dev` gerektirir).
- `--force`: başlamadan önce seçilen portta mevcut dinleyiciyi sonlandırır.
- `--verbose`: ayrıntılı günlükler.
- `--cli-backend-logs`: konsolda yalnızca CLI arka uç günlüklerini gösterir (ve stdout/stderr'ü etkinleştirir).
- `--ws-log <auto|full|compact>`: websocket günlük stili (varsayılan `auto`).
- `--compact`: `--ws-log compact` için takma ad.
- `--raw-stream`: ham model akış olaylarını jsonl'e kaydeder.
- `--raw-stream-path <path>`: ham akış jsonl yolu.

Başlangıç profilleme:

- Gateway başlangıcı sırasında aşama zamanlamalarını kaydetmek için `OPENCLAW_GATEWAY_STARTUP_TRACE=1` ayarlayın.
- Gateway başlangıcını karşılaştırmak için `pnpm test:startup:gateway -- --runs 5 --warmup 1` çalıştırın. Karşılaştırma; ilk süreç çıktısını, `/healthz`, `/readyz` ve başlangıç izleme zamanlamalarını kaydeder.

## Çalışan bir Gateway'i sorgulayın

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

Çıktı kipleri:

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

Paylaşılan seçenekler (desteklendiği yerde):

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

Not: `--url` ayarladığınızda, CLI yapılandırma veya ortam kimlik bilgilerine geri dönmez.
`--token` veya `--password` değerini açıkça geçin. Açık kimlik bilgisi eksikliği hatadır.

### `gateway health`

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

HTTP `/healthz` uç noktası bir canlılık probudur: sunucu HTTP yanıtlayabildiğinde döner. HTTP `/readyz` uç noktası daha katıdır ve başlangıç yardımcı süreçleri, kanallar veya yapılandırılmış hook'lar hâlâ yerleşirken kırmızı kalır.

### `gateway usage-cost`

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

```bash
openclaw gateway usage-cost
openclaw gateway usage-cost --days 7
openclaw gateway usage-cost --json
```

Seçenekler:

- `--days <days>`: dahil edilecek gün sayısı (varsayılan `30`).

### `gateway stability`

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

```bash
openclaw gateway stability
openclaw gateway stability --type payload.large
openclaw gateway stability --bundle latest
openclaw gateway stability --bundle latest --export
openclaw gateway stability --json
```

Seçenekler:

- `--limit <limit>`: dahil edilecek en fazla son olay sayısı (varsayılan `25`, en fazla `1000`).
- `--type <type>`: `payload.large` veya `diagnostic.memory.pressure` gibi tanılama olay türüne göre filtreler.
- `--since-seq <seq>`: yalnızca tanılama sıra numarasından sonraki olayları dahil eder.
- `--bundle [path]`: çalışan Gateway'i çağırmak yerine kalıcı bir kararlılık paketini okur. 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çin.
- `--export`: kararlılık ayrıntılarını yazdırmak yerine paylaşılabilir bir destek tanılama zip'i yazar.
- `--output <path>`: `--export` için çıktı yolu.

Notlar:

- Kayıtlar işlemsel meta veriyi tutar: olay adları, sayılar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/plugin adları ve redakte edilmiş oturum özetleri. Sohbet metni, Webhook gövdeleri, araç çıktıları, ham istek veya yanıt gövdeleri, belirteçler, çerezler, gizli değerler, ana makine adları veya ham oturum kimlikleri tutulmaz. 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şlangıç başarısızlıklarında, kaydedicide olay 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 eklemek için tasarlanmış yerel bir tanılama zip'i yazar.

```bash
openclaw gateway diagnostics export
openclaw gateway diagnostics export --output openclaw-diagnostics.zip
openclaw gateway diagnostics export --json
```

Seçenekler:

- `--output <path>`: çıktı zip yolu. Varsayılan olarak durum dizini altında bir destek dışa aktarması kullanılır.
- `--log-lines <count>`: dahil edilecek en fazla temizlenmiş günlük satırı (varsayılan `5000`).
- `--log-bytes <bytes>`: incelenecek en fazla günlük baytı (varsayılan `1000000`).
- `--url <url>`: sağlık anlık görüntüsü için Gateway WebSocket URL'si.
- `--token <token>`: sağlık anlık görüntüsü için Gateway belirteci.
- `--password <password>`: sağlık anlık görüntüsü için Gateway parolası.
- `--timeout <ms>`: durum/sağlık anlık görüntüsü zaman aşımı (varsayılan `3000`).
- `--no-stability-bundle`: kalıcı kararlılık paketi aramasını atlar.
- `--json`: yazılan yolu, boyutu ve manifest'i JSON olarak yazdırır.

Dışa aktarma; 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şılması amaçlanmıştır. Güvenli OpenClaw günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış kipler, portlar, plugin kimlikleri, sağlayıcı kimlikleri, gizli olmayan özellik ayarları ve redakte edilmiş işlemsel günlük mesajları gibi hata ayıklamaya yardımcı olan işlemsel ayrıntıları korur. Sohbet metni, Webhook gövdeleri, araç çıktıları, kimlik bilgileri, çerezler, hesap/mesaj tanımlayıcıları, istem/talimat metni, ana makine adları ve gizli değerleri atlar veya redakte eder. Bir LogTape tarzı mesaj kullanıcı/sohbet/araç payload metni gibi görünüyorsa, dışa aktarma yalnızca bir mesajın atlandığını ve bayt sayısını korur.

### `gateway status`

`gateway status`, Gateway hizmetini (launchd/systemd/schtasks) ve isteğe bağlı bağlantı/kimlik doğrulama yeteneği probunu gösterir.

```bash
openclaw gateway status
openclaw gateway status --json
openclaw gateway status --require-rpc
```

Seçenekler:

- `--url <url>`: açık bir probe hedefi ekler. Yapılandırılmış uzak + localhost yine de prob edilir.
- `--token <token>`: probe için token kimlik doğrulaması.
- `--password <password>`: probe için parola kimlik doğrulaması.
- `--timeout <ms>`: probe zaman aşımı (varsayılan `10000`).
- `--no-probe`: bağlantı probunu atlar (yalnızca hizmet görünümü).
- `--deep`: sistem düzeyi hizmetleri de tarar.
- `--require-rpc`: varsayılan bağlantı probunu bir okuma probuna yükseltir ve bu okuma probu başarısız olursa sıfır dışı çıkar. `--no-probe` ile birlikte kullanılamaz.

Notlar:

- `gateway status`, yerel CLI yapılandırması eksik veya geçersiz olduğunda 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 anında görülebilen kimlik doğrulama yeteneğini kanıtlar. Okuma/yazma/yönetici işlemlerini kanıtlamaz.
- `gateway status`, mümkün olduğunda probe kimlik doğrulaması için yapılandırılmış auth SecretRef'leri çözümler.
- Gerekli bir auth SecretRef bu komut yolunda çözümlenmemişse, probe bağlantısı/kimlik doğrulaması başarısız olduğunda `gateway status --json` `rpc.authWarning` raporlar; `--token`/`--password` değerini açıkça geçin veya önce gizli kaynak kaynağını çözün.
- Probe başarılı olursa, yanlış pozitiflerden kaçınmak için çözümlenmemiş auth-ref uyarıları bastırılır.
- 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 çabayla tarama ekler. Birden fazla gateway-benzeri hizmet algılandığında, insan çıktısı temizleme ipuçları yazdırır ve çoğu kurulumun makine başına tek gateway çalıştırması gerektiği konusunda uyarır.
- İnsan çıktısı, profil veya state-dir kayması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 kurulumlarında, hizmet auth drift kontrolleri birimden hem `Environment=` hem de `EnvironmentFile=` değerlerini okur (`%h`, tırnaklı yollar, çoklu dosyalar ve isteğe bağlı `-` dosyalar dahil).
- Drift kontrolleri, birleştirilmiş çalışma zamanı env'sini kullanarak `gateway.auth.token` SecretRef'lerini çözümler (önce hizmet komut env'si, sonra süreç env geri dönüşü).
- Token kimlik doğrulaması fiilen etkin değilse (açık `gateway.auth.mode` olarak `password`/`none`/`trusted-proxy` ya da parolanın kazanabildiği ve hiçbir token adayının kazanamadığı ayarsız kip), token-drift kontrolleri yapılandırma token çözümlemesini atlar.

### `gateway probe`

`gateway probe`, “her şeyi hata ayıkla” komutudur. Her zaman şunları prob eder:

- yapılandırılmış uzak gateway'inizi (ayarlıysa) ve
- localhost'u (loopback) **uzak yapılandırılmış olsa bile**.

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

- `URL (explicit)`
- `Remote (configured)` veya `Remote (configured, inactive)`
- `Local loopback`

Birden fazla gateway erişilebilirse hepsini yazdırır. Yalıtılmış profiller/portlar kullandığınızda (ör. bir kurtarma botu) birden fazla gateway desteklenir, ancak çoğu kurulum hâlâ tek bir gateway çalıştırır.

```bash
openclaw gateway probe
openclaw gateway probe --json
```

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`, probe'un kimlik doğrulama hakkında neyi kanıtlayabildiğini 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ğu ancak okuma kapsamlı RPC'nin sınırlı olduğu anlamına gelir. Bu, tam başarısızlık değil **bozulmuş** erişilebilirlik olarak raporlanır.
- Çıkış kodu yalnızca prob edilen hedeflerden hiçbiri erişilebilir değilse sıfır dışıdır.

JSON notları (`--json`):

- Üst düzey:
  - `ok`: en az bir hedef erişilebilir.
  - `degraded`: en az bir hedefte kapsamı sınırlı ayrıntı RPC'si vardı.
  - `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ıraya göre etkin kazanan olarak ele alınacak 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`: mevcut yapılandırma ve ana makine ağı üzerinden türetilmiş yerel loopback/tailnet URL ipuçları.
  - `discovery.timeoutMs` ve `discovery.count`: bu probe geçişinde kullanılan gerçek keşif bütçesi/sonuç sayısı.
- Hedef başına (`targets[].connect`):
  - `ok`: bağlandıktan sonraki erişilebilirlik + bozulmuş sınıflandırması.
  - `rpcOk`: tam ayrıntı RPC başarısı.
  - `scopeLimited`: ayrıntı RPC'si eksik operator kapsamı nedeniyle başarısız oldu.
- Hedef başına (`targets[].auth`):
  - `role`: mevcutsa `hello-ok` içinde bildirilen kimlik doğrulama rolü.
  - `scopes`: mevcutsa `hello-ok` içinde bildirilen verilmiş kapsamlar.
  - `capability`: o hedef için gösterilen kimlik doğrulama yetenek sınıflandırması.

Yaygın uyarı kodları:

- `ssh_tunnel_failed`: SSH tüneli kurulumu başarısız oldu; komut doğrudan probe'lara geri döndü.
- `multiple_gateways`: birden fazla hedef erişilebilirdi; kurtarma botu gibi yalıtılmış profilleri bilerek çalıştırmıyorsanız bu olağan dışıdır.
- `auth_secretref_unresolved`: yapılandırılmış bir kimlik doğrulama SecretRef'i, başarısız bir hedef için çözümlenemedi.
- `probe_scope_limited`: WebSocket bağlantısı başarılı oldu, ancak okuma probe'u eksik `operator.read` nedeniyle sınırlı kaldı.

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

macOS uygulamasındaki “SSH üzerinden uzak” kipi, yerel bir port yönlendirmesi kullanır; böylece uzak gateway (yalnızca loopback'e bağlı olsa bile) `ws://127.0.0.1:<port>` üzerinden erişilebilir hale gelir.

CLI eşdeğeri:

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

Seçenekler:

- `--ssh <target>`: `user@host` veya `user@host:port` (port varsayılan olarak `22`).
- `--ssh-identity <path>`: kimlik dosyası.
- `--ssh-auto`: çözümlenen keşif uç noktasından bulunan ilk gateway ana makinesini SSH hedefi olarak seçer (`local.` ve varsa yapılandırılmış wide-area alan adı). Yalnızca TXT ipuçları yok sayılır.

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

- `gateway.remote.sshTarget`
- `gateway.remote.sshIdentity`

### `gateway call <method>`

Düşük seviyeli RPC yardımcısı.

```bash
openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
```

Seçenekler:

- `--params <json>`: parametreler için JSON nesne dizesi (varsayılan `{}`)
- `--url <url>`
- `--token <token>`
- `--password <password>`
- `--timeout <ms>`
- `--expect-final`
- `--json`

Notlar:

- `--params` geçerli JSON olmalıdır.
- `--expect-final`, esas olarak son payload'dan önce ara olaylar akıtan agent tarzı RPC'ler içindir.

## Gateway hizmetini yönetin

```bash
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall
```

Komut seçenekleri:

- `gateway status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json`
- `gateway install`: `--port`, `--runtime <node|bun>`, `--token`, `--force`, `--json`
- `gateway uninstall|start|stop|restart`: `--json`

Notlar:

- `gateway install`, `--port`, `--runtime`, `--token`, `--force`, `--json` destekler.
- Token kimlik doğrulaması bir token gerektiriyorsa ve `gateway.auth.token` SecretRef ile yönetiliyorsa, `gateway install` SecretRef'in çözümlenebilir olduğunu doğrular ancak çözümlenen token'ı hizmet ortam meta verisine kalıcı olarak yazmaz.
- Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef çözümlenmemişse, kurulum düz metin geri dönüşü kalıcılaştırmak yerine kapalı 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ımsal kimlik doğrulama kipinde yalnızca shell içindeki `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, kip açıkça ayarlanana kadar kurulum engellenir.
- Yaşam döngüsü komutları betikleme için `--json` kabul eder.

## Gateway'leri keşfedin (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. [/gateway/bonjour](/tr/gateway/bonjour)

Yalnızca Bonjour keşfi etkin olan gateway'ler (varsayılan) işaretçiyi yayınlar.

Wide-Area keşif kayıtları şunları içerir (TXT):

- `role` (gateway rol ipucu)
- `transport` (taşıma ipucu, ör. `gateway`)
- `gatewayPort` (WebSocket portu, genellikle `18789`)
- `sshPort` (isteğe bağlı; yoksa istemciler varsayılan SSH hedefini `22` kabul eder)
- `tailnetDns` (varsa MagicDNS ana makine adı)
- `gatewayTls` / `gatewayTlsSha256` (TLS etkin + sertifika parmak izi)
- `cliPath` (wide-area bölgesine yazılan uzak kurulum ipucu)

### `gateway discover`

```bash
openclaw gateway discover
```

Seçenekler:

- `--timeout <ms>`: komut başına zaman aşımı (browse/resolve); varsayılan `2000`.
- `--json`: makine tarafından okunabilir çıktı (ayrıca biçem/spinner'ı devre dışı bırakır).

Örnekler:

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

Notlar:

- CLI, `local.` ile birlikte etkinse yapılandırılmış wide-area alan adını tarar.
- JSON çıktısındaki `wsUrl`, `lanHost` veya `tailnetDns` gibi yalnızca TXT ipuçlarından değil, çözümlenen hizmet uç noktasından türetilir.
- `local.` mDNS üzerinde `sshPort` ve `cliPath` yalnızca `discovery.mdns.mode` `full` olduğunda yayınlanır. Wide-area DNS-SD yine de `cliPath` yazar; `sshPort` burada da isteğe bağlı kalır.
