Araçlar (OpenClaw)
OpenClaw; tarayıcı, canvas, düğümler ve cron için birinci sınıf ajan araçları sunar. Bunlar eskiopenclaw-* skills’lerinin yerini alır: araçlar tip güvenlidir, shell’e çıkmaz
ve ajan bunlara doğrudan güvenmelidir.
Araçları devre dışı bırakma
Araçlarıopenclaw.json içinde tools.allow / tools.deny üzerinden küresel olarak izin verilebilir/engellenebilir
(engelleme önceliklidir). Bu, izin verilmeyen araçların model sağlayıcılarına gönderilmesini önler.
-
- Eşleştirme büyük/küçük harfe duyarsızdır.
*joker karakterleri desteklenir ("*"tüm araçlar anlamına gelir).tools.allowyalnızca bilinmeyen veya yüklenmemiş eklenti araç adlarına atıfta bulunuyorsa, OpenClaw bir uyarı kaydeder ve çekirdek araçlar kullanılabilir kalsın diye izin listesini yok sayar.
Araç profilleri (temel izin listesi)
tools.profile, tools.allow/tools.deny’ten önce temel bir araç izin listesi belirler.
Ajan bazında geçersiz kılma: agents.list[].tools.profile.
Profiller:
minimal: yalnızcasession_statuscoding:group:fs,group:runtime,group:sessions,group:memory,imagemessaging:group:messaging,sessions_list,sessions_history,sessions_send,session_statusfull: kısıtlama yok (ayarlanmamış ile aynı)
Sağlayıcıya özgü araç politikası
Küresel varsayılanlarınızı değiştirmeden belirli sağlayıcılar (veya tek birprovider/model) için araçları daha da kısıtlamak üzere tools.byProvider kullanın.
Ajan bazında geçersiz kılma: agents.list[].tools.byProvider.
Bu, temel araç profilinden sonra ve izin/verme listelerinden önce uygulanır,
dolayısıyla araç kümesini yalnızca daraltabilir.
Sağlayıcı anahtarları ya provider (ör. google-antigravity) ya da
provider/model (ör. openai/gpt-5.2) kabul eder.
Örnek (küresel kodlama profilini koru, ancak Google Antigravity için minimal araçlar):
Araç grupları (kısayollar)
Araç politikaları (küresel, ajan, sandbox) birden çok araca açılangroup:* girdilerini destekler.
Bunları tools.allow / tools.deny içinde kullanın.
Mevcut gruplar:
group:runtime:exec,bash,processgroup:fs:read,write,edit,apply_patchgroup:sessions:sessions_list,sessions_history,sessions_send,sessions_spawn,session_statusgroup:memory:memory_search,memory_getgroup:web:web_search,web_fetchgroup:ui:browser,canvasgroup:automation:cron,gatewaygroup:messaging:messagegroup:nodes:nodesgroup:openclaw: tüm yerleşik OpenClaw araçları (sağlayıcı eklentileri hariç)
Eklentiler + araçlar
Eklentiler, çekirdek kümenin ötesinde ek araçlar (ve CLI komutları) kaydedebilir. Kurulum + yapılandırma için Plugins, araç kullanım rehberliğinin istemlere nasıl enjekte edildiği için Skills bölümüne bakın. Bazı eklentiler, araçların yanında kendi skills’lerini de sunar (örneğin sesli arama eklentisi). İsteğe bağlı eklenti araçları:- Lobster: devam ettirilebilir onaylara sahip tipli iş akışı çalışma zamanı (gateway ana makinesinde Lobster CLI gerektirir).
- LLM Task: yapılandırılmış iş akışı çıktısı için yalnızca JSON LLM adımı (isteğe bağlı şema doğrulama).
28. Araç envanteri
apply_patch
Bir veya daha fazla dosya üzerinde yapılandırılmış yamalar uygular. Çoklu parça (multi‑hunk) düzenlemeleri için kullanın.
Deneysel: tools.exec.applyPatch.enabled üzerinden etkinleştirin (yalnızca OpenAI modelleri).
tools.exec.applyPatch.workspaceOnly varsayılan olarak true (workspace ile sınırlı) değerine ayarlıdır. apply_patch komutunun workspace dizini dışına yazmasını/silmesini bilinçli olarak istiyorsanız yalnızca o zaman false olarak ayarlayın.
exec
Çalışma alanında shell komutları çalıştırır.
Çekirdek parametreler:
command(gerekli)yieldMs(zaman aşımından sonra otomatik arka plan, varsayılan 10000)background(hemen arka plan)timeout(saniye; aşılırsa süreci öldürür, varsayılan 1800)elevated(bool; yükseltilmiş mod etkin/izinliyse ana makinede çalıştır; yalnızca ajan sandbox içindeyken davranışı değiştirir)host(sandbox | gateway | node)security(deny | allowlist | full)ask(off | on-miss | always)node(host=nodeiçin düğüm kimliği/adı)- Gerçek bir TTY mi gerekiyor?
pty: trueayarlayın.
- Arka planda çalıştırıldığında
sessionIdiçerenstatus: "running"döndürür. - Arka plan oturumlarını yoklamak/günlüğe almak/yazmak/öldürmek/temizlemek için
processkullanın. processizinli değilse,execeşzamanlı çalışır veyieldMs/background’u yok sayar.elevated,tools.elevatedve herhangi biragents.list[].tools.elevatedgeçersiz kılmasına bağlıdır (ikisi de izin vermelidir) vehost=gateway+security=fulliçin bir takma addır.elevatedyalnızca ajan sandbox içindeyken davranışı değiştirir (aksi halde etkisizdir).host=node, bir macOS yardımcı uygulamasını veya başsız bir düğüm ana makinesini (openclaw node run) hedefleyebilir.- gateway/düğüm onayları ve izin listeleri: Exec approvals.
process
Arka plan exec oturumlarını yönetir.
Çekirdek eylemler:
list,poll,log,write,kill,clear,remove
poll, tamamlandığında yeni çıktı ve çıkış durumunu döndürür.log, satır bazlıoffset/limit’u destekler (offset’i atlayarak son N satırı alın).-
processajan başına kapsamlıdır; diğer ajanlardan gelen oturumlar görünmez.
web_search
Brave Search API kullanarak web’de arama yapar.
Çekirdek parametreler:
query(gerekli)count(1–10; varsayılantools.web.search.maxResults’dan)
- Brave API anahtarı gerektirir (önerilen:
openclaw configure --section webveyaBRAVE_API_KEYayarlayın). tools.web.search.enabledüzerinden etkinleştirin.- Yanıtlar önbelleğe alınır (varsayılan 15 dk).
- Kurulum için Web tools bölümüne bakın.
web_fetch
Bir URL’den okunabilir içeriği getirir ve çıkarır (HTML → markdown/metin).
Çekirdek parametreler:
url(gerekli)extractMode(markdown|text)maxChars(uzun sayfaları kısalt)
tools.web.fetch.enabledüzerinden etkinleştirin.maxChars,tools.web.fetch.maxCharsCapile sınırlandırılır (varsayılan 50000).- Yanıtlar önbelleğe alınır (varsayılan 15 dk).
- JS ağırlıklı siteler için tarayıcı aracını tercih edin.
- Kurulum için Web tools bölümüne bakın.
- İsteğe bağlı anti‑bot yedeği için Firecrawl bölümüne bakın.
browser
OpenClaw tarafından yönetilen özel tarayıcıyı kontrol eder.
Çekirdek eylemler:
status,start,stop,tabs,open,focus,closesnapshot(aria/ai)screenshot(görüntü bloğu +MEDIA:<path>döndürür)act(UI eylemleri: click/type/press/hover/drag/select/fill/resize/wait/evaluate)navigate,console,pdf,upload,dialog
profiles— durumla birlikte tüm tarayıcı profillerini listelercreate-profile— otomatik port tahsisiyle yeni profil oluşturur (veyacdpUrl)delete-profile— tarayıcıyı durdurur, kullanıcı verisini siler, yapılandırmadan kaldırır (yalnızca yerel)reset-profile— profilin portundaki yetim süreci öldürür (yalnızca yerel)
profile(isteğe bağlı; varsayılanbrowser.defaultProfile)target(sandbox|host|node)node(isteğe bağlı; belirli bir düğüm kimliği/adı seçer) Notlar:browser.enabled=truegerektirir (varsayılantrue; devre dışı bırakmak içinfalseayarlayın).- Tüm eylemler, çoklu örnek desteği için isteğe bağlı
profileparametresini kabul eder. profileatlanırsa,browser.defaultProfilekullanılır (varsayılan “chrome”).- Profil adları: yalnızca küçük harf alfanümerik + tire (en fazla 64 karakter).
- Port aralığı: 18800-18899 (yaklaşık 100 profil maks.).
- Uzak profiller yalnızca bağlanabilir (başlat/durdur/sıfırla yok).
- Tarayıcı yetenekli bir düğüm bağlıysa, araç otomatik yönlendirebilir (
targetile sabitlemezseniz). - Playwright yüklüyken
snapshotvarsayılan olarakai’dır; erişilebilirlik ağacı içinariakullanın. snapshot, rol‑anlık görüntü seçeneklerini (interactive,compact,depth,selector) de destekler vee12gibi referanslar döndürür.act,snapshot’danrefgerektirir (AI anlık görüntülerinden sayısal12veya rol anlık görüntülerindene12); nadir CSS seçici ihtiyaçları içinevaluatekullanın.- Varsayılan olarak
act→wait’dan kaçının; yalnızca istisnai durumlarda kullanın (beklenecek güvenilir bir UI durumu yoksa). upload, hazırlanma sonrası otomatik tıklama için isteğe bağlı birrefgeçebilir.upload,<input type="file">’yi doğrudan ayarlamak içininputRef(aria ref) veyaelement(CSS seçici) de destekler.
canvas
Düğüm Canvas’ını sürer (present, eval, snapshot, A2UI).
Çekirdek eylemler:
present,hide,navigate,evalsnapshot(görüntü bloğu +MEDIA:<path>döndürür)a2ui_push,a2ui_reset
- Altta gateway
node.invokekullanır. nodesağlanmazsa, araç bir varsayılan seçer (tek bağlı düğüm veya yerel mac düğümü).- A2UI yalnızca v0.8’dir (
createSurfaceyok); CLI, satır hatalarıyla v0.9 JSONL’yi reddeder. - Hızlı kontrol:
openclaw nodes canvas a2ui push --node <id> --text "Hello from A2UI".
nodes
Eşleştirilmiş düğümleri keşfeder ve hedefler; bildirim gönderir; kamera/ekran yakalar.
Çekirdek eylemler:
status,describepending,approve,reject(eşleştirme)notify(macOSsystem.notify)run(macOSsystem.run)camera_snap,camera_clip,screen_recordlocation_get
- Kamera/ekran komutları, düğüm uygulamasının ön planda olmasını gerektirir.
- Görseller, görüntü blokları +
MEDIA:<path>döndürür. - Videolar
FILE:<path>(mp4) döndürür. - Konum, JSON yükü (lat/lon/accuracy/timestamp) döndürür.
runparametreleri:commandargv dizisi; isteğe bağlıcwd,env(KEY=VAL),commandTimeoutMs,invokeTimeoutMs,needsScreenRecording.
run):
image
Yapılandırılmış görüntü modeliyle bir görüntüyü analiz eder.
Çekirdek parametreler:
image(gerekli yol veya URL)prompt(isteğe bağlı; varsayılan “Görüntüyü tanımla.”)model(isteğe bağlı geçersiz kılma)maxBytesMb(isteğe bağlı boyut üst sınırı)
- Yalnızca
agents.defaults.imageModelyapılandırıldığında (birincil veya yedekler) ya da varsayılan modeliniz + yapılandırılmış kimlik doğrulama üzerinden örtük bir görüntü modeli çıkarılabildiğinde kullanılabilir (en iyi çaba eşleştirme). - Görüntü modelini doğrudan kullanır (ana sohbet modelinden bağımsız).
message
Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/iMessage/MS Teams genelinde mesajlar ve kanal eylemleri gönderir.
Çekirdek eylemler:
send(metin + isteğe bağlı medya; MS Teams ayrıca Adaptive Cards içincard’ü destekler)poll(WhatsApp/Discord/MS Teams anketleri)react/reactions/read/edit/deletepin/unpin/list-pinspermissionsthread-create/thread-list/thread-replysearchstickermember-info/role-infoemoji-list/emoji-upload/sticker-uploadrole-add/role-removechannel-info/channel-listvoice-statusevent-list/event-createtimeout/kick/ban
send, WhatsApp’ı Gateway üzerinden yönlendirir; diğer kanallar doğrudan gider.poll, WhatsApp ve MS Teams için Gateway’i kullanır; Discord anketleri doğrudan gider.- Bir mesaj aracı çağrısı etkin bir sohbet oturumuna bağlıyken, gönderimler bağlam sızıntılarını önlemek için o oturumun hedefiyle sınırlandırılır.
cron
Gateway cron işlerini ve uyandırmaları yönetir.
Çekirdek eylemler:
status,listadd,update,remove,run,runswake(sistem olayı kuyruğa al + isteğe bağlı anında heartbeat)
add, tam bir cron işi nesnesi bekler (cron.addRPC ile aynı şema).update,{ jobId, patch }kullanır (uyumluluk içinidkabul edilir).
gateway
Çalışan Gateway sürecini yeniden başlatır veya güncellemeleri uygular (yerinde).
Çekirdek eylemler:
restart(yetkilendirir + işlem içi yeniden başlatma içinSIGUSR1gönderir; yerindeopenclaw gatewayyeniden başlatma)config.get/config.schemaconfig.apply(doğrula + yapılandırmayı yaz + yeniden başlat + uyandır)config.patch(kısmi güncellemeyi birleştir + yeniden başlat + uyandır)update.run(güncellemeyi çalıştır + yeniden başlat + uyandır)
- Devam eden bir yanıtı bölmemek için
delayMs(varsayılan 2000) kullanın. restartvarsayılan olarak devre dışıdır;commands.restart: trueile etkinleştirin.
sessions_list / sessions_history / sessions_send / sessions_spawn / session_status
Oturumları listeler, transkript geçmişini inceler veya başka bir oturuma gönderir.
Çekirdek parametreler:
sessions_list:kinds?,limit?,activeMinutes?,messageLimit?(0 = yok)sessions_history:sessionKey(veyasessionId),limit?,includeTools?sessions_send:sessionKey(veyasessionId),message,timeoutSeconds?(0 = fire‑and‑forget)sessions_spawn:task,label?,agentId?,model?,runTimeoutSeconds?,cleanup?session_status:sessionKey?(varsayılan geçerli;sessionIdkabul edilir),model?(defaultgeçersiz kılmayı temizler)
mainkanonik doğrudan sohbet anahtarıdır; küresel/bilinmeyenler gizlidir.messageLimit > 0, oturum başına son N mesajı getirir (araç mesajları filtrelenir).sessions_send,timeoutSeconds > 0olduğunda nihai tamamlanmayı bekler.- Teslim/duyuru tamamlanmadan sonra gerçekleşir ve en iyi çabadır;
status: "ok", duyurunun teslim edildiğini değil, ajan çalışmasının bittiğini doğrular. sessions_spawn, bir alt ajan çalışması başlatır ve talep eden sohbete bir duyuru yanıtı gönderir.sessions_spawnbloklamaz vestatus: "accepted"’yi hemen döndürür.sessions_send, yanıt‑geri ping‑pong’u çalıştırır (durdurmak içinREPLY_SKIPyanıtlayın; maksimum tursession.agentToAgent.maxPingPongTurnsile, 0–5).- Ping‑pong sonrası hedef ajan bir duyuru adımı çalıştırır; duyuruyu bastırmak için
ANNOUNCE_SKIPyanıtlayın.
agents_list
Geçerli oturumun sessions_spawn ile hedefleyebileceği ajan kimliklerini listeler.
Notlar:
- Sonuç, ajan başına izin listeleriyle (
agents.list[].subagents.allowAgents) sınırlıdır. ["*"]yapılandırıldığında, araç tüm yapılandırılmış ajanları içerir veallowAny: true’i işaretler.
Parametreler (genel)
Gateway destekli araçlar (canvas, nodes, cron):
gatewayUrl(varsayılanws://127.0.0.1:18789)gatewayToken(kimlik doğrulama etkinse)timeoutMs
gatewayUrl ayarlandığında, gatewayToken’ı açıkça ekleyin. Araçlar, geçersiz kılmalar için
yapılandırma veya ortam kimlik bilgilerini devralmaz; açık kimlik bilgisi eksikliği hatadır.
Tarayıcı aracı:
profile(isteğe bağlı; varsayılanbrowser.defaultProfile)target(sandbox|host|node)node(isteğe bağlı; belirli bir düğüm kimliği/adını sabitle)
Önerilen ajan akışları
Tarayıcı otomasyonu:browser→status/startsnapshot(ai veya aria)act(click/type/press)- Görsel doğrulama gerekiyorsa
screenshot
canvas→presenta2ui_push(isteğe bağlı)snapshot
nodes→status- Seçilen düğümde
describe notify/run/camera_snap/screen_record
Güvenli kullanım
- Doğrudan
system.run’ten kaçının; yalnızca açık kullanıcı onayıylanodes→runkullanın. - Kamera/ekran yakalama için kullanıcı onayına uyun.
- Medya komutlarını çağırmadan önce izinleri sağlamak için
status/describekullanın.
30. Araçların ajana nasıl sunulduğu
Araçlar iki paralel kanalda sunulur:- Sistem istemi metni: insan tarafından okunabilir bir liste + rehberlik.
- Araç şeması: model API’sine gönderilen yapılandırılmış işlev tanımları.