Bu, OpenClaw çekirdek geliştiricileri için bir katkıda bulunanlar kılavuzudur. Harici bir plugin
geliştiriyorsanız bunun yerine Plugin geliştirme
bölümüne bakın. Ayrıntılı mimari başvurusu (yetenek modeli, sahiplik,
yükleme işlem hattı, çalışma zamanı yardımcıları) için Plugin iç yapısı bölümüne bakın.
- plugin = sahiplik sınırı
- yetenek = paylaşılan çekirdek sözleşmesi
Ne zaman yetenek oluşturulmalı?
Yalnızca aşağıdakilerin tümü geçerliyse yeni bir yetenek oluşturun:- Birden fazla tedarikçinin bunu uygulaması makul ölçüde mümkün olmalıdır.
- Kanallar, araçlar veya özellik pluginleri, tedarikçiyi önemsemeden bunu kullanabilmelidir.
- Çekirdeğin geri dönüş, politika, yapılandırma veya teslim davranışını sahiplenmesi gerekir.
Standart sıra
- Türü belirlenmiş çekirdek sözleşmesini tanımlayın.
- Bu sözleşme için plugin kaydını ekleyin.
- Paylaşılan bir çalışma zamanı yardımcısı ekleyin.
- Kanıt olarak gerçek bir tedarikçi pluginini bağlayın.
- Özellik/kanal tüketicilerini çalışma zamanı yardımcısına taşıyın.
- Sözleşme testleri ekleyin.
- Operatöre yönelik yapılandırmayı ve sahiplik modelini belgelendirin.
Ne nereye yerleştirilir?
Sağlayıcı ve çalıştırma düzeneği bağlantı noktaları
Davranış genel ajan döngüsünden ziyade model sağlayıcı sözleşmesine ait olduğunda sağlayıcı kancalarını kullanın. Örnekler arasında aktarım seçiminden sonraki sağlayıcıya özgü istek parametreleri, kimlik doğrulama profili tercihi, istem katmanları ve model/profil yük devretmesinden sonraki takip geri dönüşü yönlendirmesi bulunur. Davranış, bir dönüşü yürüten çalışma zamanına ait olduğunda ajan çalıştırma düzeneği kancalarını kullanın. Çalıştırma düzenekleri; boş çıktı, görünür çıktı olmadan akıl yürütme veya nihai yanıtı olmayan yapılandırılmış bir plan gibi açık protokol sonuçlarını sınıflandırabilir; böylece dış modelin geri dönüş politikası yeniden deneme kararını verebilir. Her iki bağlantı noktasını da dar kapsamlı tutun:- Yeniden deneme/geri dönüş politikasının sahibi çekirdektir.
- Sağlayıcı pluginleri, sağlayıcıya özgü istek/kimlik doğrulama/yönlendirme ipuçlarını sahiplenir.
- Çalıştırma düzeneği pluginleri, çalışma zamanına özgü deneme sınıflandırmasını sahiplenir.
- Üçüncü taraf pluginleri, çekirdek durumunu doğrudan değiştirmek yerine ipuçları döndürür.
Dosya kontrol listesi
Yeni bir yetenek için şu alanlara dokunmanız beklenir:src/<capability>/types.tssrc/<capability>/...registry/runtime.tssrc/plugins/types.tssrc/plugins/registry.tssrc/plugins/captured-registration.tssrc/plugins/contracts/registry.tssrc/plugins/runtime/types-core.tssrc/plugins/runtime/index.tssrc/plugin-sdk/<capability>.tssrc/plugin-sdk/<capability>-runtime.ts- Bir veya daha fazla paketlenmiş plugin paketi.
- Yapılandırma, belgeler, testler.
Uygulamalı örnek: görüntü oluşturma
Görüntü oluşturma standart yapıyı izler:- Çekirdek,
ImageGenerationProvideröğesini tanımlar. - Çekirdek,
registerImageGenerationProvider(...)öğesini kullanıma sunar. - Çekirdek,
api.runtime.imageGeneration.generate(...)ve.listProviders(...)öğelerini kullanıma sunar. - Tedarikçi pluginleri (
comfy,deepinfra,fal,google,litellm,microsoft-foundry,minimax,openai,openrouter,vydra,xai) tedarikçi destekli uygulamaları kaydeder. - Gelecekteki tedarikçiler, kanalları/araçları değiştirmeden aynı sözleşmeyi kaydeder.
agents.defaults.imageModelgörüntüleri analiz eder.agents.defaults.mediaModels.imagegörüntüler oluşturur.
Gömme sağlayıcıları
Yeniden kullanılabilir vektör gömme sağlayıcıları içinregisterEmbeddingProvider(...) / embeddingProviders
sözleşmesini kullanın. Bu sözleşme, bilinçli olarak bellekten daha geniş kapsamlıdır:
araçlar, arama, erişim, içe aktarıcılar veya gelecekteki özellik pluginleri
bellek motoruna bağımlı olmadan gömmeleri kullanabilir. Bellek araması
da genel embeddingProviders öğesini kullanır.
Eski belleğe özgü kayıt API’si ve memoryEmbeddingProviders
sözleşmesi kullanımdan kaldırılmıştır. Tüm yeni gömme sağlayıcıları için
registerEmbeddingProvider ve embeddingProviders kullanın.
İnceleme kontrol listesi
Yeni bir yeteneği yayımlamadan önce şunları doğrulayın:- Hiçbir kanal/araç, tedarikçi kodunu doğrudan içe aktarmaz.
- Paylaşılan yol çalışma zamanı yardımcısıdır.
- En az bir sözleşme testi, paketlenmiş sahipliği doğrular.
- Yapılandırma belgeleri yeni model/yapılandırma anahtarını adlandırır.
- Plugin belgeleri sahiplik sınırını açıklar.
İlgili
- Plugin iç yapısı — yetenek modeli, sahiplik, yükleme işlem hattı, çalışma zamanı yardımcıları.
- Plugin geliştirme — ilk plugin öğreticisi.
- SDK’ya genel bakış — içe aktarma eşlemesi ve kayıt API’si başvurusu.
- Skills oluşturma — tamamlayıcı katkıda bulunan yüzeyi.