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-pendinglubremoved - właściciela: SDK, config, setup, channel, provider, wykonanie Pluginu, runtime agenta lub core
- daty wprowadzenia i wycofania, gdy mają zastosowanie
- wskazówki dotyczące zamiennika
- dokumentację, diagnostykę i testy, które obejmują stare i nowe zachowanie
Pakiet inspektora Pluginów
Inspektor Pluginów powinien znajdować się poza głównym repo OpenClaw jako osobny pakiet/repozytorium oparty na wersjonowanych kontraktach zgodności i manifestu. CLI pierwszego dnia powinno wyglądać tak:- walidację manifestu/schematu
- wersję kontraktu zgodności, która jest sprawdzana
- kontrole metadanych instalacji/źródła
- kontrole importu cold-path
- ostrzeżenia o wycofaniach i zgodności
--json, aby uzyskać stabilne wyjście czytelne maszynowo dla adnotacji CI. Core
OpenClaw powinno udostępniać kontrakty i fixture’y, które inspektor może wykorzystywać, ale
nie powinno publikować binarki inspektora z głównego pakietu openclaw.
Polityka wycofań
OpenClaw nie powinien usuwać udokumentowanego kontraktu Pluginu w tym samym wydaniu, w którym wprowadza jego zamiennik. Sekwencja migracji wygląda następująco:- 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 zarówno starą, jak i nową ścieżkę.
- Odczekaj ogłoszone okno migracji.
- Usuwaj tylko po jawnym zatwierdzeniu wydania łamiącego zgodność.
Bieżące obszary zgodności
Bieżące rekordy zgodności obejmują:- starsze szerokie importy SDK, takie jak
openclaw/plugin-sdk/compat - starsze kształty Pluginów oparte wyłącznie na hookach oraz
before_agent_start - allowlistę dołączonych Pluginów i zachowanie ich włączania
- starsze metadane manifestu env-var dla dostawców/kanałów
- wskazówki aktywacji, które są zastępowane przez własność wkładów manifestu
- aliasy nazw
embeddedHarnessiagent-harness, podczas gdy nazewnictwo publiczne przesuwa się w stronęagentRuntime - fallback generowanych metadanych konfiguracji dołączonych kanałów, podczas gdy
wdrażane są metadane
channelConfigsoparte najpierw na rejestrze
Informacje o wydaniu
Informacje o wydaniu powinny zawierać nadchodzące wycofania Pluginów wraz z datami docelowymi i linkami do dokumentacji migracji. To ostrzeżenie musi pojawić się, zanim ścieżka zgodności przejdzie doremoval-pending lub removed.