Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
To jest przewodnik dla współtwórców przeznaczony dla głównych deweloperów OpenClaw. Jeśli
tworzysz zewnętrzny plugin, zobacz zamiast tego Tworzenie pluginów.
Szczegółowe odniesienie architektoniczne (model możliwości, własność,
potok ładowania, pomocniki środowiska uruchomieniowego) znajdziesz w Wewnętrzna architektura Plugin.
- plugin = granica własności
- możliwość = współdzielony kontrakt rdzenia
Kiedy utworzyć możliwość
Utwórz nową możliwość, gdy wszystkie poniższe warunki są spełnione:- Więcej niż jeden dostawca mógłby wiarygodnie ją zaimplementować.
- Kanały, narzędzia lub pluginy funkcji powinny z niej korzystać bez przejmowania się dostawcą.
- Rdzeń musi posiadać zachowanie dotyczące mechanizmu awaryjnego, zasad, konfiguracji lub dostarczania.
Standardowa sekwencja
- Zdefiniuj typowany kontrakt rdzenia.
- Dodaj rejestrację pluginu dla tego kontraktu.
- Dodaj współdzielony pomocnik środowiska uruchomieniowego.
- Podłącz jeden rzeczywisty plugin dostawcy jako dowód.
- Przenieś konsumentów funkcji/kanałów na pomocnik środowiska uruchomieniowego.
- Dodaj testy kontraktu.
- Udokumentuj konfigurację widoczną dla operatora i model własności.
Co trafia gdzie
Rdzeń:- Typy żądań/odpowiedzi.
- Rejestr dostawców + rozwiązywanie.
- Zachowanie mechanizmu awaryjnego.
- Schemat konfiguracji z propagowanymi metadanymi dokumentacji
title/descriptionw zagnieżdżonych obiektach, symbolach wieloznacznych, elementach tablic i węzłach kompozycji. - Powierzchnia pomocnika środowiska uruchomieniowego.
- Wywołania API dostawcy.
- Obsługa uwierzytelniania dostawcy.
- Normalizacja żądań specyficzna dla dostawcy.
- Rejestracja implementacji możliwości.
- Wywołuje
api.runtime.*lub pasujący pomocnikplugin-sdk/*-runtime. - Nigdy nie wywołuje bezpośrednio implementacji dostawcy.
Granice dostawcy i uprzęży
Używaj haków dostawcy, gdy zachowanie należy do kontraktu dostawcy modelu, a nie do ogólnej pętli agenta. Przykłady obejmują parametry żądań specyficzne dla dostawcy po wyborze transportu, preferencje profilu uwierzytelniania, nakładki promptów i trasowanie mechanizmu awaryjnego dla kontynuacji po przełączeniu modelu/profilu. Używaj haków uprzęży agenta, gdy zachowanie należy do środowiska uruchomieniowego wykonującego turę. Uprzęże mogą klasyfikować udane, ale nieużyteczne wyniki prób, takie jak puste odpowiedzi, odpowiedzi zawierające tylko rozumowanie lub odpowiedzi zawierające tylko planowanie, aby zewnętrzna polityka mechanizmu awaryjnego modelu mogła podjąć decyzję o ponownej próbie. Utrzymuj obie granice wąsko:- Rdzeń posiada politykę ponownych prób/mechanizmu awaryjnego.
- Pluginy dostawców posiadają wskazówki dotyczące żądań/uwierzytelniania/trasowania specyficzne dla dostawcy.
- Pluginy uprzęży posiadają klasyfikację prób specyficzną dla środowiska uruchomieniowego.
- Pluginy zewnętrzne zwracają wskazówki, a nie bezpośrednie mutacje stanu rdzenia.
Lista kontrolna plików
Dla nowej możliwości spodziewaj się pracy w tych obszarach: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- Jeden lub więcej pakietów dołączonych pluginów.
- Konfiguracja, dokumentacja, testy.
Przykład roboczy: generowanie obrazów
Generowanie obrazów ma standardowy kształt:- Rdzeń definiuje
ImageGenerationProvider. - Rdzeń udostępnia
registerImageGenerationProvider(...). - Rdzeń udostępnia
runtime.imageGeneration.generate(...). - Pluginy
openai,google,faliminimaxrejestrują implementacje oparte na dostawcach. - Przyszli dostawcy rejestrują ten sam kontrakt bez zmieniania kanałów/narzędzi.
agents.defaults.imageModelanalizuje obrazy.agents.defaults.imageGenerationModelgeneruje obrazy.
Lista kontrolna przeglądu
Przed wysłaniem nowej możliwości zweryfikuj:- Żaden kanał/narzędzie nie importuje bezpośrednio kodu dostawcy.
- Pomocnik środowiska uruchomieniowego jest współdzieloną ścieżką.
- Co najmniej jeden test kontraktu sprawdza dołączoną własność.
- Dokumentacja konfiguracji nazywa nowy model/klucz konfiguracji.
- Dokumentacja Plugin wyjaśnia granicę własności.
Powiązane
- Wewnętrzna architektura Plugin — model możliwości, własność, potok ładowania, pomocniki środowiska uruchomieniowego.
- Tworzenie pluginów — samouczek pierwszego pluginu.
- Przegląd SDK — mapa importów i odniesienie API rejestracji.
- Tworzenie Skills — pokrewna powierzchnia dla współtwórców.