Kayıt sırasında her Plugin’e enjekte edilenDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
api.runtime nesnesi için başvuru. Bu yardımcıları, ana bilgisayar iç bileşenlerini doğrudan içe aktarmak yerine kullanın.
Kanal Plugin'leri
Kanal Plugin’leri için bu yardımcıları bağlam içinde kullanan adım adım kılavuz.
Sağlayıcı Plugin'leri
Sağlayıcı Plugin’leri için bu yardımcıları bağlam içinde kullanan adım adım kılavuz.
Yapılandırma yükleme ve yazma
Etkin çağrı yoluna zaten geçirilmiş yapılandırmayı tercih edin; örneğin kayıt sırasındaapi.config veya kanal/sağlayıcı geri çağrılarında bir cfg bağımsız değişkeni. Bu, sıcak yollarda yapılandırmayı yeniden ayrıştırmak yerine tek bir süreç anlık görüntüsünün iş boyunca akmasını sağlar.
api.runtime.config.current() öğesini yalnızca uzun ömürlü bir işleyicinin geçerli süreç anlık görüntüsüne ihtiyaç duyduğu ve bu işleve hiçbir yapılandırma geçirilmediği durumlarda kullanın. Döndürülen değer salt okunurdur; düzenlemeden önce kopyalayın veya bir mutasyon yardımcısı kullanın.
Araç fabrikaları ctx.runtimeConfig ve ctx.getRuntimeConfig() alır. Yapılandırma, araç tanımı oluşturulduktan sonra değişebiliyorsa uzun ömürlü bir aracın execute geri çağrısı içinde getter’ı kullanın.
Değişiklikleri api.runtime.config.mutateConfigFile(...) veya api.runtime.config.replaceConfigFile(...) ile kalıcı hale getirin. Her yazma açık bir afterWrite ilkesi seçmelidir:
afterWrite: { mode: "auto" }, gateway yeniden yükleme planlayıcısının karar vermesine izin verir.afterWrite: { mode: "restart", reason: "..." }, yazıcı sıcak yeniden yüklemenin güvensiz olduğunu bildiğinde temiz bir yeniden başlatmayı zorunlu kılar.afterWrite: { mode: "none", reason: "..." }, otomatik yeniden yükleme/yeniden başlatmayı yalnızca çağıran taraf takip işlemini üstlendiğinde bastırır.
afterWrite ile birlikte türlendirilmiş bir followUp özeti döndürür. Yeniden başlatmanın gerçekte ne zaman gerçekleşeceğinin sahibi yine Gateway’dir.
api.runtime.config.loadConfig() ve api.runtime.config.writeConfigFile(...), runtime-config-load-write altındaki kullanımdan kaldırılmış uyumluluk yardımcılarıdır. Çalışma zamanında bir kez uyarı verirler ve geçiş penceresi sırasında eski harici Plugin’ler için kullanılabilir kalırlar. Paketlenmiş Plugin’ler bunları kullanmamalıdır; Plugin kodu bunları çağırırsa veya bu yardımcıları Plugin SDK alt yollarından içe aktarırsa yapılandırma sınırı korumaları başarısız olur.
Doğrudan SDK içe aktarmaları için, geniş
openclaw/plugin-sdk/config-runtime uyumluluk barrel’ı yerine odaklı yapılandırma alt yollarını kullanın: türler için config-contracts, zaten yüklenmiş yapılandırma doğrulamaları ve Plugin giriş araması için plugin-config-runtime, geçerli süreç anlık görüntüleri için runtime-config-snapshot ve yazmalar için config-mutation. Paketlenmiş Plugin testleri, geniş uyumluluk barrel’ını taklit etmek yerine bu odaklı alt yolları doğrudan taklit etmelidir.
Dahili OpenClaw çalışma zamanı kodu da aynı yöndedir: yapılandırmayı CLI, Gateway veya süreç sınırında bir kez yükleyin, ardından bu değeri iletin. Başarılı mutasyon yazmaları süreç çalışma zamanı anlık görüntüsünü yeniler ve dahili revizyonunu ilerletir; uzun ömürlü önbellekler yapılandırmayı yerel olarak serileştirmek yerine çalışma zamanının sahip olduğu önbellek anahtarını temel almalıdır. Uzun ömürlü çalışma zamanı modüllerinde ortamdan loadConfig() çağrılarına karşı sıfır toleranslı bir tarayıcı vardır; geçirilmiş bir cfg, bir istek context.getRuntimeConfig() öğesi veya açık bir süreç sınırında getRuntimeConfig() kullanın.
Sağlayıcı ve kanal yürütme yolları, yapılandırma geri okuması veya düzenleme için döndürülen bir dosya anlık görüntüsünü değil, etkin çalışma zamanı yapılandırma anlık görüntüsünü kullanmalıdır. Dosya anlık görüntüleri, kullanıcı arayüzü ve yazmalar için SecretRef işaretçileri gibi kaynak değerleri korur; sağlayıcı geri çağrıları çözümlenmiş çalışma zamanı görünümüne ihtiyaç duyar. Bir yardımcı, etkin kaynak anlık görüntüsü veya etkin çalışma zamanı anlık görüntüsü ile çağrılabiliyorsa kimlik bilgilerini okumadan önce selectApplicableRuntimeConfig() üzerinden yönlendirin.
Çalışma zamanı ad alanları
api.runtime.agent
api.runtime.agent
Aracı kimliği, dizinler ve oturum yönetimi.Çalışma zamanı yazmaları için
runEmbeddedAgent(...), Plugin kodundan normal bir OpenClaw aracı sırası başlatmak için tarafsız yardımcıdır. Kanal tarafından tetiklenen yanıtlarla aynı sağlayıcı/model çözümlemesini ve aracı donanımı seçimini kullanır.runEmbeddedPiAgent(...) uyumluluk diğer adı olarak kalır.resolveThinkingPolicy(...), sağlayıcı/modelin desteklenen düşünme düzeylerini ve isteğe bağlı varsayılanı döndürür. Sağlayıcı Plugin’leri, düşünme kancaları aracılığıyla modele özgü profilin sahibidir; bu nedenle araç Plugin’leri sağlayıcı listelerini içe aktarmak veya çoğaltmak yerine bu çalışma zamanı yardımcısını çağırmalıdır.normalizeThinkingLevel(...), on, x-high veya extra high gibi kullanıcı metnini, çözümlenen ilkeye göre denetlemeden önce kanonik depolanmış düzeye dönüştürür.Oturum deposu yardımcıları api.runtime.agent.session altındadır:updateSessionStore(...) veya updateSessionStoreEntry(...) tercih edin. Bunlar Gateway’in sahip olduğu oturum deposu yazıcısından geçer, eşzamanlı güncellemeleri korur ve sıcak önbelleği yeniden kullanır. saveSessionStore(...), uyumluluk ve çevrimdışı bakım tarzı yeniden yazmalar için kullanılabilir kalır.api.runtime.agent.defaults
api.runtime.agent.defaults
Varsayılan model ve sağlayıcı sabitleri:
api.runtime.llm
api.runtime.llm
Sağlayıcı iç bileşenlerini içe aktarmadan veya OpenClaw model/kimlik doğrulama/temel URL hazırlığını çoğaltmadan, ana bilgisayarın sahip olduğu bir metin tamamlama çalıştırın.Yardımcı, OpenClaw’ın yerleşik çalışma zamanı ile aynı basit tamamlama hazırlık yolunu ve ana bilgisayarın sahip olduğu çalışma zamanı yapılandırma anlık görüntüsünü kullanır. Bağlam motorları oturuma bağlı bir
llm.complete yeteneği alır; böylece model çağrıları etkin oturumun aracısını kullanır ve sessizce varsayılan aracıya geri düşmez. Sonuç, sağlayıcı/model/aracı atıfının yanı sıra kullanılabildiğinde normalleştirilmiş token, önbellek ve tahmini maliyet kullanımını içerir.api.runtime.subagent
api.runtime.subagent
Arka plan alt aracı çalışmalarını başlatın ve yönetin.
deleteSession(...), aynı Plugin tarafından api.runtime.subagent.run(...) aracılığıyla oluşturulan oturumları silebilir. Rastgele kullanıcı veya operatör oturumlarını silmek yine de yönetici kapsamlı bir Gateway isteği gerektirir.api.runtime.nodes
api.runtime.nodes
Bağlı düğümleri listeleyin ve Gateway tarafından yüklenen Plugin kodundan veya Plugin CLI komutlarından düğüm ana bilgisayar komutu çağırın. Bir Plugin eşleştirilmiş bir cihazda yerel işi üstlendiğinde, örneğin başka bir Mac’te bir tarayıcı veya ses köprüsü olduğunda bunu kullanın.Gateway içinde bu çalışma zamanı süreç içindedir. Plugin CLI komutlarında yapılandırılmış Gateway’i RPC üzerinden çağırır; böylece
openclaw googlemeet recover-tab gibi komutlar terminalden eşleştirilmiş düğümleri inceleyebilir. Node komutları yine normal Gateway düğüm eşleştirmesinden, komut izin listelerinden, Plugin düğüm çağırma ilkelerinden ve düğüm yerel komut işleme sürecinden geçer.Tehlikeli düğüm ana bilgisayar komutları açığa çıkaran Plugin’ler, api.registerNodeInvokePolicy(...) ile bir düğüm çağırma ilkesi kaydetmelidir. İlke, komut izin listesi denetimlerinden sonra ve komut düğüme iletilmeden önce Gateway içinde çalışır; böylece doğrudan node.invoke çağrıları ve daha üst düzey Plugin araçları aynı yaptırım yolunu paylaşır.api.runtime.tasks.managedFlows
api.runtime.tasks.managedFlows
Task Flow çalışma zamanını mevcut bir OpenClaw oturum anahtarına veya güvenilir araç bağlamına bağlayın; ardından her çağrıda sahip geçirmeden Task Flow’lar oluşturun ve yönetin.Task Flow dayanıklı çok adımlı iş akışı durumunu izler. Bir zamanlayıcı değildir:
gelecekteki uyandırmalar için Cron veya Kendi bağlama katmanınızdan güvenilir bir OpenClaw oturum anahtarınız zaten olduğunda
api.session.workflow.scheduleSessionTurn(...) kullanın; ardından bu iş akış durumuna, alt görevlere, beklemelere veya iptale ihtiyaç duyduğunda zamanlanmış sıradan managedFlows kullanın.bindSession({ sessionKey, requesterOrigin }) kullanın. Ham kullanıcı girdisinden bağlama yapmayın.api.runtime.tts
api.runtime.tts
Metinden konuşmaya sentezi.Çekirdek
messages.tts yapılandırmasını ve sağlayıcı seçimini kullanır. PCM ses arabelleği + örnekleme hızını döndürür.api.runtime.mediaUnderstanding
api.runtime.mediaUnderstanding
Görüntü, ses ve video analizi.Hiç çıktı üretilmediğinde
{ text: undefined } döndürür (ör. atlanan girdi).api.runtime.stt.transcribeAudioFile(...), api.runtime.mediaUnderstanding.transcribeAudioFile(...) için uyumluluk takma adı olarak kalır.api.runtime.imageGeneration
api.runtime.imageGeneration
Görüntü oluşturma.
api.runtime.webSearch
api.runtime.webSearch
Web araması.
api.runtime.media
api.runtime.media
Düşük düzey medya yardımcıları.
api.runtime.config
api.runtime.config
Geçerli runtime yapılandırma anlık görüntüsü ve işlemsel yapılandırma yazımları. Etkin çağrı yoluna zaten geçirilmiş olan yapılandırmayı tercih edin;
current() yalnızca işleyicinin süreç anlık görüntüsüne doğrudan ihtiyaç duyması durumunda kullanın.mutateConfigFile(...) ve replaceConfigFile(...), örneğin { mode: "restart", requiresRestart: true, reason } gibi bir followUp değeri döndürür; bu değer, yeniden başlatma denetimini Gateway’den almadan yazar niyetini kaydeder.api.runtime.system
api.runtime.system
Sistem düzeyi yardımcılar.
api.runtime.events
api.runtime.events
Olay abonelikleri.
api.runtime.logging
api.runtime.logging
Günlükleme.
api.runtime.modelAuth
api.runtime.modelAuth
Model ve sağlayıcı kimlik doğrulama çözümlemesi.
api.runtime.state
api.runtime.state
Durum dizini çözümlemesi ve SQLite destekli anahtarlı depolama.Anahtarlı depolar yeniden başlatmalardan sonra korunur ve runtime’a bağlı Plugin kimliğine göre yalıtılır. Atomik tekilleştirme talepleri için
registerIfAbsent(...) kullanın: anahtar eksikse veya süresi dolmuşsa ve kaydedildiyse true, canlı bir değer zaten varsa ve değeri, oluşturulma zamanı veya TTL’si üzerine yazılmadan korunuyorsa false döndürür. Sınırlar: ad alanı başına maxEntries, Plugin başına 1.000 canlı satır, 64 KB altındaki JSON değerleri ve isteğe bağlı TTL sona ermesi.api.runtime.tools
api.runtime.tools
Bellek aracı fabrikaları ve CLI.
api.runtime.channel
api.runtime.channel
Kanala özgü runtime yardımcıları (bir kanal Plugin’i yüklendiğinde kullanılabilir).Kullanılabilir bahsetme yardımcıları:
api.runtime.channel.mentions, runtime enjeksiyonu kullanan paketli kanal plugins için paylaşılan gelen bahsetme ilkesi yüzeyidir:buildMentionRegexesmatchesMentionPatternsmatchesMentionWithExplicitimplicitMentionKindWhenresolveInboundMentionDecision
api.runtime.channel.mentions, eski resolveMentionGating* uyumluluk yardımcılarını bilerek açığa çıkarmaz. Normalleştirilmiş { facts, policy } yolunu tercih edin.Runtime referanslarını saklama
register geri çağrısı dışında kullanmak üzere runtime referansını saklamak için createPluginRuntimeStore kullanın:
Runtime deposu kimliği için
pluginId tercih edin. Daha düşük düzeydeki key biçimi, bir Plugin’in bilinçli olarak birden fazla runtime yuvasına ihtiyaç duyduğu yaygın olmayan durumlar içindir.Diğer üst düzey api alanları
api.runtime dışında, API nesnesi şunları da sağlar:
Plugin kimliği.
Plugin görünen adı.
Geçerli yapılandırma anlık görüntüsü (varsa bellekte etkin çalışma zamanı anlık görüntüsü).
plugins.entries.<id>.config içinden Plugin’e özgü yapılandırma.Kapsamlı günlükleyici (
debug, info, warn, error).Geçerli yükleme modu;
"setup-runtime" hafif, tam giriş öncesi başlangıç/kurulum penceresidir.Plugin köküne göreli bir yolu çözümle.
İlgili
- Plugin iç yapısı — yetenek modeli ve kayıt defteri
- SDK giriş noktaları —
definePluginEntryseçenekleri - SDK genel bakışı — alt yol başvurusu