Skip to main content
Zestaw SDK Plugin jest udostępniany jako zbiór wąskich publicznych podścieżek w openclaw/plugin-sdk/. Ta strona zawiera katalog często używanych podścieżek pogrupowanych według przeznaczenia. Zakres definiują trzy pliki:
  • scripts/lib/plugin-sdk-entrypoints.json: utrzymywany wykaz punktów wejścia, które kompiluje proces budowania.
  • scripts/lib/plugin-sdk-private-local-only-subpaths.json: lokalne dla repozytorium podścieżki testowe/wewnętrzne. Eksporty pakietu to wykaz pomniejszony o tę listę.
  • src/plugin-sdk/entrypoints.ts: metadane klasyfikacji przestarzałych podścieżek, zarezerwowanych dołączonych funkcji pomocniczych, obsługiwanych dołączonych fasad oraz publicznych powierzchni należących do pluginów.
Opiekunowie kontrolują liczbę publicznych eksportów za pomocą pnpm plugin-sdk:surface oraz aktywne podścieżki zarezerwowanych funkcji pomocniczych za pomocą pnpm plugins:boundary-report:summary; nieużywane eksporty zarezerwowanych funkcji pomocniczych powodują niepowodzenie raportu CI, zamiast pozostawać w publicznym SDK jako nieaktywny dług zgodności. Przewodnik tworzenia pluginów znajduje się w sekcji Omówienie SDK Plugin.

Punkt wejścia pluginu

Przestarzałe funkcje pomocnicze zgodności i testów

Przestarzałe podścieżki pozostają eksportowane dla starszych pluginów, ale nowy kod powinien używać wyspecjalizowanych podścieżek SDK wymienionych poniżej. Utrzymywana lista to scripts/lib/plugin-sdk-deprecated-public-subpaths.json; CI odrzuca z niej importy produkcyjne dołączonych komponentów. Szerokie moduły zbiorcze, takie jak plugin-sdk/compat, plugin-sdk/config-types, plugin-sdk/infra-runtime oraz plugin-sdk/text-runtime, służą wyłącznie do zapewniania zgodności, a plugin-sdk/zod jest ponownym eksportem zgodności: należy importować zod bezpośrednio z zod. Szerokie moduły zbiorcze domen plugin-sdk/agent-runtime, plugin-sdk/channel-lifecycle, plugin-sdk/channel-runtime, plugin-sdk/cli-runtime, plugin-sdk/conversation-runtime, plugin-sdk/hook-runtime, plugin-sdk/media-runtime, plugin-sdk/plugin-runtime oraz plugin-sdk/security-runtime są również przestarzałe; zamiast nich należy używać wyspecjalizowanych podścieżek. Podścieżki funkcji pomocniczych testów OpenClaw oparte na Vitest są wyłącznie lokalne dla repozytorium i nie są już eksportami pakietu: agent-runtime-test-contracts, channel-contract-testing, channel-target-testing, channel-test-helpers, plugin-state-test-runtime, plugin-test-api, plugin-test-contracts, plugin-test-runtime, provider-http-test-mocks, provider-test-contracts, reply-payload-testing, sqlite-runtime-testing, test-env, test-fixtures, test-node-mocks oraz testing. Prywatne powierzchnie dołączonych funkcji pomocniczych ssrf-runtime-internal oraz codex-native-task-runtime są również wyłącznie lokalne dla repozytorium.

Zarezerwowane podścieżki funkcji pomocniczych dołączonych pluginów

plugin-sdk/codex-mcp-projection jest jedyną zarezerwowaną podścieżką: należącą do pluginu powierzchnią zgodności dla dołączonego pluginu Codex, a nie ogólnym interfejsem API SDK. Importy między pluginami należącymi do różnych właścicieli są blokowane przez zabezpieczenia kontraktu pakietu, a CI kończy się niepowodzeniem, gdy zarezerwowana podścieżka przestaje być importowana. plugin-sdk/codex-native-task-runtime jest wyłącznie lokalna dla repozytorium i nie stanowi eksportu pakietu. src/plugin-sdk/entrypoints.ts śledzi również obsługiwane dołączone fasady, czyli punkty wejścia SDK obsługiwane przez odpowiadający im dołączony plugin do czasu zastąpienia ich kontraktami ogólnymi: plugin-sdk/discord, plugin-sdk/lmstudio, plugin-sdk/lmstudio-runtime, plugin-sdk/matrix, plugin-sdk/mattermost, plugin-sdk/memory-core-engine-runtime, plugin-sdk/provider-zai-endpoint, plugin-sdk/qa-runner-runtime, plugin-sdk/telegram-account, plugin-sdk/tts-runtime oraz plugin-sdk/zalouser. Kilka z nich jest również przestarzałych w nowym kodzie; zobacz uwagi przy poszczególnych wierszach poniżej.
Przestarzałe rodziny funkcji pomocniczych kanałów pozostają dostępne wyłącznie w celu zachowania zgodności opublikowanych pluginów. Plan usunięcia jest następujący: zachować je przez okres migracji zewnętrznych pluginów, utrzymywać pluginy repozytorium/dołączone na channel-inbound i channel-outbound, a następnie usunąć podścieżki zgodności podczas kolejnego dużego porządkowania SDK. Dotyczy to starych rodzin wiadomości/środowiska uruchomieniowego kanałów, strumieniowania kanałów, bezpośredniego dostępu do wiadomości prywatnych, wydzielonych przychodzących funkcji pomocniczych, opcji odpowiedzi oraz ścieżek parowania.
Migawki użycia dostawców zwykle zgłaszają co najmniej jedno windows limitu, każde z etykietą, procentem wykorzystania i opcjonalnym czasem resetowania. Dostawcy, którzy zamiast resetowalnych limitów udostępniają saldo lub tekst stanu konta, powinni zwracać summary z pustą tablicą windows, zamiast tworzyć fikcyjne wartości procentowe. OpenClaw wyświetla ten tekst podsumowania w danych wyjściowych stanu; należy używać error tylko wtedy, gdy punkt końcowy użycia zakończył się niepowodzeniem lub nie zwrócił użytecznych danych o użyciu.
Zastrzeżone podścieżki SDK funkcji pomocniczych dołączonych pluginów to wąskie powierzchnie właściwe dla poszczególnych właścicieli, przeznaczone dla kodu dołączonych pluginów. Są śledzone w spisie SDK, aby kompilacje pakietów i tworzenie aliasów pozostawały deterministyczne, ale nie są ogólnymi API do tworzenia pluginów. Nowe kontrakty hosta wielokrotnego użytku powinny korzystać z ogólnych podścieżek SDK, takich jak plugin-sdk/gateway-runtime, plugin-sdk/ssrf-runtime i plugin-sdk/plugin-config-runtime.

Powiązane materiały