Tools Invoke (HTTP)
OpenClaw’ın Gateway’i, doğrudan tek bir aracı çağırmak için basit bir HTTP uç noktası sunar. Her zaman etkindir ve Gateway auth ile araç ilkesini kullanır. OpenAI uyumlu/v1/* yüzeyi gibi, paylaşılan gizli bearer auth bu gateway’in tamamı için güvenilir operatör erişimi olarak değerlendirilir.
POST /tools/invoke- Gateway ile aynı port (WS + HTTP çoklama):
http://<gateway-host>:<port>/tools/invoke
Kimlik doğrulama
Gateway auth yapılandırmasını kullanır. Yaygın HTTP auth yolları:- paylaşılan gizli auth (
gateway.auth.mode="token"veya"password"):Authorization: Bearer <token-or-password> - güvenilir kimlik taşıyan HTTP auth (
gateway.auth.mode="trusted-proxy"): yapılandırılmış kimlik farkında proxy üzerinden yönlendirin ve gerekli kimlik üstbilgilerini onun eklemesine izin verin - özel girişte açık auth (
gateway.auth.mode="none"): auth üstbilgisi gerekmez
gateway.auth.mode="token"olduğundagateway.auth.token(veyaOPENCLAW_GATEWAY_TOKEN) kullanın.gateway.auth.mode="password"olduğundagateway.auth.password(veyaOPENCLAW_GATEWAY_PASSWORD) kullanın.gateway.auth.mode="trusted-proxy"olduğunda HTTP isteği, yapılandırılmış loopback olmayan güvenilir bir proxy kaynağından gelmelidir; aynı ana makinedeki loopback proxy’leri bu modu karşılamaz.gateway.auth.rateLimityapılandırılmışsa ve çok fazla auth hatası oluşursa uç noktaRetry-Afterile birlikte429döndürür.
Güvenlik sınırı (önemli)
Bu uç noktayı, gateway örneği için tam operatör erişimi sağlayan bir yüzey olarak değerlendirin.- Buradaki HTTP bearer auth dar kapsamlı kullanıcı başına bir model değildir.
- Bu uç nokta için geçerli bir Gateway token/password değeri sahip/operatör kimlik bilgisi gibi değerlendirilmelidir.
- Paylaşılan gizli auth modlarında (
tokenvepassword), çağıran daha dar birx-openclaw-scopesüstbilgisi gönderse bile uç nokta normal tam operatör varsayılanlarını geri yükler. - Paylaşılan gizli auth ayrıca bu uç noktadaki doğrudan araç çağrılarını owner-sender turu olarak değerlendirir.
- Güvenilir kimlik taşıyan HTTP modları (örneğin trusted proxy auth veya özel girişte
gateway.auth.mode="none") varsax-openclaw-scopesüstbilgisini uygular, yoksa normal operatör varsayılan kapsam kümesine geri döner. - Bu uç noktayı yalnızca loopback/tailnet/özel girişte tutun; doğrudan genel internete açmayın.
gateway.auth.mode="token"veya"password"+Authorization: Bearer ...- paylaşılan gateway operatör gizli verisine sahip olunduğunu kanıtlar
- daha dar
x-openclaw-scopesdeğerlerini yok sayar - tam varsayılan operatör kapsam kümesini geri yükler:
operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write - bu uç noktadaki doğrudan araç çağrılarını owner-sender turu olarak değerlendirir
- güvenilir kimlik taşıyan HTTP modları (örneğin trusted proxy auth veya özel girişte
gateway.auth.mode="none")- bazı dış güvenilir kimlik veya dağıtım sınırlarını doğrular
- üstbilgi mevcut olduğunda
x-openclaw-scopesdeğerini uygular - üstbilgi yoksa normal operatör varsayılan kapsam kümesine geri döner
- yalnızca çağıran kapsamları açıkça daraltıp
operator.admindeğerini atladığında owner anlamını kaybeder
İstek gövdesi
tool(string, zorunlu): çağrılacak araç adı.action(string, isteğe bağlı): araç şemasıactionalanını destekliyorsa ve args payload’ı bunu atladıysa args içine eşlenir.args(object, isteğe bağlı): araca özgü bağımsız değişkenler.sessionKey(string, isteğe bağlı): hedef oturum anahtarı. Atlanırsa veya"main"ise Gateway yapılandırılmış ana oturum anahtarını kullanır (session.mainKeyve varsayılan aracıyı veya global kapsamdaglobaldeğerini dikkate alır).dryRun(boolean, isteğe bağlı): gelecekte kullanım için ayrılmıştır; şu anda yok sayılır.
İlke + yönlendirme davranışı
Araç kullanılabilirliği, Gateway aracıları tarafından kullanılan aynı ilke zinciri üzerinden filtrelenir:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- grup ilkeleri (oturum anahtarı bir gruba veya kanala eşleniyorsa)
- alt aracı ilkesi (bir subagent oturum anahtarı ile çağrılıyorsa)
- Exec onayları, bu HTTP uç noktası için ayrı bir yetkilendirme sınırı değil, operatör korkuluklarıdır. Bir araca burada Gateway auth + araç ilkesi aracılığıyla erişilebiliyorsa
/tools/invoke, çağrı başına ek bir onay istemi eklemez. - Gateway bearer kimlik bilgilerini güvenilmeyen çağıranlarla paylaşmayın. Güven sınırları arasında ayrım gerekiyorsa ayrı gateway’ler çalıştırın (ve ideal olarak ayrı OS kullanıcıları/ana makineler).
exec— doğrudan komut yürütme (RCE yüzeyi)spawn— keyfi alt süreç oluşturma (RCE yüzeyi)shell— shell komutu yürütme (RCE yüzeyi)fs_write— ana makinede keyfi dosya değiştirmefs_delete— ana makinede keyfi dosya silmefs_move— ana makinede keyfi dosya taşıma/yeniden adlandırmaapply_patch— yama uygulama keyfi dosyaları yeniden yazabilirsessions_spawn— oturum orkestrasyonu; uzaktan aracı başlatmak RCE’dirsessions_send— oturumlar arası mesaj enjeksiyonucron— kalıcı otomasyon kontrol düzlemigateway— gateway kontrol düzlemi; HTTP üzerinden yeniden yapılandırmayı önlernodes— node komut aktarma paired ana makinelerde system.run işlevine ulaşabilirwhatsapp_login— terminalde QR taraması gerektiren etkileşimli kurulum; HTTP üzerinde takılır
gateway.tools ile özelleştirebilirsiniz:
x-openclaw-message-channel: <channel>(örnek:slack,telegram)x-openclaw-account-id: <accountId>(birden fazla hesap varsa)
Yanıtlar
200→{ ok: true, result }400→{ ok: false, error: { type, message } }(geçersiz istek veya araç girdisi hatası)401→ yetkisiz429→ auth hız sınırına takıldı (Retry-Afterayarlıdır)404→ araç kullanılamıyor (bulunamadı veya allowlist’te değil)405→ yönteme izin verilmiyor500→{ ok: false, error: { type, message } }(beklenmeyen araç yürütme hatası; temizlenmiş mesaj)