OpenClaw utrzymuje starsze kontrakty pluginów podłączone przez nazwane adaptery zgodności przed ich usunięciem. Chroni to istniejące pluginy wbudowane i zewnętrzne, gdy kontrakty SDK, manifestu, konfiguracji, configu i środowiska uruchomieniowego agenta ewoluują.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Rejestr zgodności
Kontrakty zgodności pluginów są śledzone w głównym rejestrze pod adresemsrc/plugins/compat/registry.ts.
Każdy rekord ma:
- stabilny kod zgodności
- status:
active,deprecated,removal-pendingalboremoved - właściciela: SDK, config, konfigurację, kanał, dostawcę, wykonywanie pluginu, środowisko uruchomieniowe agenta albo core
- daty wprowadzenia i wycofania, gdy mają zastosowanie
- wskazówki dotyczące zamiennika
- dokumentację, diagnostykę i testy obejmujące stare i nowe zachowanie
src/commands/doctor/shared/deprecation-compat.ts. Te rekordy obejmują stare kształty configu, układy rejestru instalacji i podkładki naprawcze, które mogą wymagać dalszej dostępności po usunięciu ścieżki zgodności środowiska uruchomieniowego.
Przeglądy wydaniowe powinny sprawdzać oba rejestry. Nie usuwaj migracji Doctor tylko dlatego, że odpowiadający jej rekord zgodności środowiska uruchomieniowego lub configu wygasł; najpierw zweryfikuj, czy nie istnieje obsługiwana ścieżka aktualizacji, która nadal wymaga naprawy. Ponownie zweryfikuj też każdą adnotację zamiennika podczas planowania wydania, ponieważ własność pluginów i ślad configu mogą się zmieniać, gdy dostawcy i kanały są przenoszone poza core.
Pakiet inspektora pluginów
Inspektor pluginów powinien żyć poza głównym repozytorium OpenClaw jako osobny pakiet/repozytorium oparte na wersjonowanych kontraktach zgodności i manifestu. CLI pierwszego dnia powinno wyglądać tak:- walidację manifestu/schematu
- sprawdzaną wersję zgodności kontraktu
- kontrole metadanych instalacji/źródła
- kontrole importów ścieżki zimnej
- ostrzeżenia o wycofaniu i zgodności
--json, aby uzyskać stabilne dane wyjściowe czytelne maszynowo w adnotacjach CI. Core OpenClaw powinien udostępniać kontrakty i fixtures, z których inspektor może korzystać, ale nie powinien publikować binarium inspektora z głównego pakietu openclaw.
Ścieżka akceptacji utrzymujących
Użyj wspieranego przez Crabbox Blacksmith Testbox dla ścieżki akceptacji instalowalnego pakietu podczas walidowania zewnętrznego inspektora względem pakietów pluginów OpenClaw. Uruchom ją z czystego checkoutu OpenClaw po zbudowaniu pakietu:Zasady wycofywania
OpenClaw nie powinien usuwać udokumentowanego kontraktu pluginu w tym samym wydaniu, które wprowadza jego zamiennik. Sekwencja migracji jest następująca:- Dodaj nowy kontrakt.
- Zachowaj stare zachowanie podłączone przez nazwany adapter zgodności.
- Emituj diagnostykę lub ostrzeżenia, gdy autorzy pluginów mogą podjąć działanie.
- Udokumentuj zamiennik i harmonogram.
- Przetestuj stare i nowe ścieżki.
- Odczekaj ogłoszone okno migracji.
- Usuń tylko po jawnej zgodzie na wydanie z niekompatybilnymi zmianami.
active.
Obecne obszary zgodności
Obecne rekordy zgodności obejmują:- stare szerokie importy SDK, takie jak
openclaw/plugin-sdk/compat - stare kształty pluginów tylko z hookami oraz
before_agent_start - stare punkty wejścia pluginów
activate(api), gdy pluginy migrują doregister(api) - stare aliasy SDK, takie jak
openclaw/extension-api,openclaw/plugin-sdk/channel-runtime, kreatory statusuopenclaw/plugin-sdk/command-auth,openclaw/plugin-sdk/test-utils(zastąpione przez wyspecjalizowane podścieżki testoweopenclaw/plugin-sdk/*) oraz aliasy typówClawdbotConfig/OpenClawSchemaType - listę dozwolonych wbudowanych pluginów i zachowanie włączania
- stare metadane manifestu zmiennych środowiskowych dostawcy/kanału
- stare hooki pluginów dostawców i aliasy typów, gdy dostawcy przechodzą na jawne hooki katalogu, uwierzytelniania, thinking, replay i transportu
- stare aliasy środowiska uruchomieniowego, takie jak
api.runtime.taskFlow,api.runtime.subagent.getSession,api.runtime.sttoraz wycofaneapi.runtime.config.loadConfig()/api.runtime.config.writeConfigFile(...) - stary podzielony zapis pluginu pamięci, gdy pluginy pamięci przechodzą na
registerMemoryCapability - stare helpery SDK kanału dla natywnych schematów wiadomości, bramkowania wzmianek, formatowania koperty przychodzącej i zagnieżdżania capability zatwierdzania
- stary klucz trasy kanału i aliasy helperów porównywalnego celu, gdy pluginy
przechodzą na
openclaw/plugin-sdk/channel-route - wskazówki aktywacji zastępowane własnością udziałów manifestu
- awaryjny runtime
setup-api, gdy deskryptory konfiguracji przechodzą na zimne metadanesetup.requiresRuntime: false - hooki
discoverydostawcy, gdy hooki katalogu dostawcy przechodzą nacatalog.run(...) - metadane kanału
showConfigured/showInSetup, gdy pakiety kanałów przechodzą naopenclaw.channel.exposure - stare klucze configu polityki środowiska uruchomieniowego, gdy Doctor migruje operatorów do
agentRuntime - awaryjne wygenerowane metadane configu wbudowanych kanałów, gdy lądują metadane
channelConfigsoparte najpierw na rejestrze - utrwalone flagi środowiskowe wyłączenia rejestru pluginów i migracji instalacji, gdy
przepływy napraw migrują operatorów do
openclaw plugins registry --refreshiopenclaw doctor --fix - stare ścieżki configu wyszukiwania w sieci, pobierania z sieci i x_search należące do pluginów, gdy
Doctor migruje je do
plugins.entries.<plugin>.config - stary autorski config
plugins.installsi aliasy ścieżki ładowania wbudowanych pluginów, gdy metadane instalacji przechodzą do zarządzanego stanem rejestru pluginów
Informacje o wydaniu
Informacje o wydaniu powinny zawierać nadchodzące wycofania pluginów z docelowymi datami i linkami do dokumentacji migracji. To ostrzeżenie musi nastąpić, zanim ścieżka zgodności przejdzie doremoval-pending albo removed.