Araçlar (OpenClaw)¶
OpenClaw; tarayıcı, canvas, düğümler ve cron için birinci sınıf ajan araçları sunar.
Bunlar eski openclaw-* 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.
{
tools: { deny: ["browser"] },
}
Notlar:
-
- 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ı)
Örnek (varsayılan olarak yalnızca mesajlaşma, ayrıca Slack + Discord araçlarına izin ver):
{
tools: {
profile: "messaging",
allow: ["slack", "discord"],
},
}
Örnek (kodlama profili, ancak her yerde exec/process’i engelle):
{
tools: {
profile: "coding",
deny: ["group:runtime"],
},
}
Örnek (küresel kodlama profili, yalnızca mesajlaşma destek ajanı):
{
tools: { profile: "coding" },
agents: {
list: [
{
id: "support",
tools: { profile: "messaging", allow: ["slack"] },
},
],
},
}
Sağlayıcıya özgü araç politikası¶
Küresel varsayılanlarınızı değiştirmeden belirli sağlayıcılar
(veya tek bir provider/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):
{
tools: {
profile: "coding",
byProvider: {
"google-antigravity": { profile: "minimal" },
},
},
}
Örnek (sorunlu bir uç nokta için sağlayıcı/model‑özel izin listesi):
{
tools: {
allow: ["group:fs", "group:runtime", "sessions_list"],
byProvider: {
"openai/gpt-5.2": { allow: ["group:fs", "sessions_list"] },
},
},
}
Örnek (tek bir sağlayıcı için ajan‑özel geçersiz kılma):
{
agents: {
list: [
{
id: "support",
tools: {
byProvider: {
"google-antigravity": { allow: ["message", "sessions_list"] },
},
},
},
],
},
}
Araç grupları (kısayollar)¶
Araç politikaları (küresel, ajan, sandbox) birden çok araca açılan group:* 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ç)
Örnek (yalnızca dosya araçları + tarayıcıya izin ver):
{
tools: {
allow: ["group:fs", "browser"],
},
}
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).
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.
Notlar:
- 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
Notlar:
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)
Notlar:
- 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)
Notlar:
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
Profil yönetimi:
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)
Yaygın parametreler:
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
Notlar:
- 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
Notlar:
- 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.
Örnek (run):
{
"action": "run",
"node": "office-mac",
"command": ["echo", "Hello"],
"env": ["FOO=bar"],
"commandTimeoutMs": 12000,
"invokeTimeoutMs": 45000,
"needsScreenRecording": false
}
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ı)
Notlar:
- 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
Notlar:
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)
Notlar:
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)
Notlar:
- 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)
Notlar:
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
Not: 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 render:
canvas→presenta2ui_push(isteğe bağlı)snapshot
Düğüm hedefleme:
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ı.
Bu, ajanın hem “hangi araçlar var”ı hem de “nasıl çağrılacaklarını” görmesi anlamına gelir. Bir araç sistem isteminde veya şemada görünmüyorsa, model onu çağıramaz.