Zum Hauptinhalt springen

Plugin SDK-Migration

OpenClaw hat sich von einer breiten Abwärtskompatibilitätsschicht zu einer modernen Plugin- Architektur mit fokussierten, dokumentierten Importen entwickelt. Wenn Ihr Plugin vor der neuen Architektur erstellt wurde, hilft Ihnen dieser Leitfaden bei der Migration.

Was sich ändert

Das alte Plugin-System stellte zwei weit offene Oberflächen bereit, über die Plugins alles importieren konnten, was sie über einen einzigen Einstiegspunkt benötigten:
  • openclaw/plugin-sdk/compat — ein einzelner Import, der Dutzende von Hilfsfunktionen reexportierte. Er wurde eingeführt, um ältere hookbasierte Plugins funktionsfähig zu halten, während die neue Plugin-Architektur entwickelt wurde.
  • openclaw/extension-api — eine Brücke, die Plugins direkten Zugriff auf hostseitige Hilfsfunktionen wie den eingebetteten Agent-Runner gab.
Beide Oberflächen sind jetzt veraltet. Sie funktionieren zur Laufzeit noch, aber neue Plugins dürfen sie nicht verwenden, und bestehende Plugins sollten migriert werden, bevor die nächste Hauptversion sie entfernt.
Die Abwärtskompatibilitätsschicht wird in einer zukünftigen Hauptversion entfernt. Plugins, die weiterhin aus diesen Oberflächen importieren, werden dann nicht mehr funktionieren.

Warum sich das geändert hat

Der alte Ansatz verursachte Probleme:
  • Langsamer Start — der Import einer Hilfsfunktion lud Dutzende nicht zusammenhängender Module
  • Zirkuläre Abhängigkeiten — breite Reexports machten es leicht, Importzyklen zu erzeugen
  • Unklare API-Oberfläche — es gab keine Möglichkeit zu erkennen, welche Exporte stabil und welche intern waren
Das moderne Plugin SDK behebt das: Jeder Importpfad (openclaw/plugin-sdk/\<subpath\>) ist ein kleines, eigenständiges Modul mit klarem Zweck und dokumentiertem Vertrag. Veraltete Komfortschnittstellen für Provider bei gebündelten Kanälen sind ebenfalls entfernt. Importe wie openclaw/plugin-sdk/slack, openclaw/plugin-sdk/discord, openclaw/plugin-sdk/signal, openclaw/plugin-sdk/whatsapp, kanalmarkenspezifische Hilfsschnittstellen sowie openclaw/plugin-sdk/telegram-core waren private Monorepo-Abkürzungen, keine stabilen Plugin-Verträge. Verwenden Sie stattdessen schmale generische SDK-Subpaths. Innerhalb des Workspace für gebündelte Plugins sollten providerspezifische Hilfsfunktionen im eigenen api.ts oder runtime-api.ts dieses Plugins verbleiben. Aktuelle Beispiele gebündelter Provider:
  • Anthropic behält Claude-spezifische Stream-Hilfsfunktionen in der eigenen Schnittstelle api.ts / contract-api.ts
  • OpenAI behält Provider-Builder, Hilfsfunktionen für Standardmodelle und Builder für Echtzeit-Provider in der eigenen api.ts
  • OpenRouter behält Provider-Builder sowie Hilfsfunktionen für Onboarding/Konfiguration in der eigenen api.ts

So migrieren Sie

1

Fallback-Verhalten des Windows-Wrappers prüfen

Wenn Ihr Plugin openclaw/plugin-sdk/windows-spawn verwendet, schlagen nicht aufgelöste Windows- Wrapper .cmd/.bat jetzt standardmäßig fehl, sofern Sie nicht explizit allowShellFallback: true übergeben.
// Vorher
const program = applyWindowsSpawnProgramPolicy({ candidate });

// Nachher
const program = applyWindowsSpawnProgramPolicy({
  candidate,
  // Nur für vertrauenswürdige Kompatibilitätsaufrufer setzen, die
  // absichtlich einen shellvermittelten Fallback akzeptieren.
  allowShellFallback: true,
});
Wenn Ihr Aufrufer nicht absichtlich auf einen Shell-Fallback angewiesen ist, setzen Sie allowShellFallback nicht und behandeln Sie stattdessen den ausgelösten Fehler.
2

Veraltete Importe finden

Durchsuchen Sie Ihr Plugin nach Importen aus einer der beiden veralteten Oberflächen:
grep -r "plugin-sdk/compat" my-plugin/
grep -r "openclaw/extension-api" my-plugin/
3

Durch fokussierte Importe ersetzen

Jeder Export aus der alten Oberfläche wird einem bestimmten modernen Importpfad zugeordnet:
// Vorher (veraltete Abwärtskompatibilitätsschicht)
import {
  createChannelReplyPipeline,
  createPluginRuntimeStore,
  resolveControlCommandGate,
} from "openclaw/plugin-sdk/compat";

// Nachher (moderne fokussierte Importe)
import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline";
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth";
Verwenden Sie für hostseitige Hilfsfunktionen die injizierte Plugin-Runtime, anstatt direkt zu importieren:
// Vorher (veraltete extension-api-Brücke)
import { runEmbeddedPiAgent } from "openclaw/extension-api";
const result = await runEmbeddedPiAgent({ sessionId, prompt });

// Nachher (injizierte Runtime)
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
Dasselbe Muster gilt für andere alte Brückenhilfsfunktionen:
Alter ImportModernes Äquivalent
resolveAgentDirapi.runtime.agent.resolveAgentDir
resolveAgentWorkspaceDirapi.runtime.agent.resolveAgentWorkspaceDir
resolveAgentIdentityapi.runtime.agent.resolveAgentIdentity
resolveThinkingDefaultapi.runtime.agent.resolveThinkingDefault
resolveAgentTimeoutMsapi.runtime.agent.resolveAgentTimeoutMs
ensureAgentWorkspaceapi.runtime.agent.ensureAgentWorkspace
Hilfsfunktionen für Session-Storeapi.runtime.agent.session.*
4

Build und Tests ausführen

pnpm build
pnpm test -- my-plugin/

Referenz der Importpfade

ImportpfadZweckWichtige Exporte
plugin-sdk/plugin-entryKanonische Hilfsfunktion für den Plugin-EinstiegspunktdefinePluginEntry
plugin-sdk/coreVeralteter gebündelter Reexport für Kanal-Einstiegsdefinitionen/-BuilderdefineChannelPluginEntry, createChatChannelPlugin
plugin-sdk/config-schemaExport des Root-KonfigurationsschemasOpenClawSchema
plugin-sdk/provider-entryHilfsfunktion für Einstiegspunkte mit einem einzelnen ProviderdefineSingleProviderPluginEntry
plugin-sdk/channel-coreFokussierte Kanal-Einstiegsdefinitionen und -BuilderdefineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase
plugin-sdk/setupGemeinsame Hilfsfunktionen für Setup-WizardsAllowlist-Prompts, Builder für Setup-Status
plugin-sdk/setup-runtimeRuntime-Hilfsfunktionen zur Setup-ZeitImportsichere Setup-Patch-Adapter, Hilfsfunktionen für Lookup-Notizen, promptResolvedAllowFrom, splitSetupEntries, delegierte Setup-Proxys
plugin-sdk/setup-adapter-runtimeHilfsfunktionen für Setup-AdaptercreateEnvPatchedAccountSetupAdapter
plugin-sdk/setup-toolsHilfsfunktionen für Setup-ToolsformatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR
plugin-sdk/account-coreHilfsfunktionen für mehrere KontenHilfsfunktionen für Kontoliste/Konfiguration/Aktions-Gating
plugin-sdk/account-idHilfsfunktionen für Konto-IDsDEFAULT_ACCOUNT_ID, Normalisierung von Konto-IDs
plugin-sdk/account-resolutionHilfsfunktionen für Konto-LookupsHilfsfunktionen für Konto-Lookups und Standard-Fallbacks
plugin-sdk/account-helpersSchmale Hilfsfunktionen für KontenHilfsfunktionen für Kontoliste/Kontoaktionen
plugin-sdk/channel-setupAdapter für Setup-WizardscreateOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard, plus DEFAULT_ACCOUNT_ID, createTopLevelChannelDmPolicy, setSetupChannelEnabled, splitSetupEntries
plugin-sdk/channel-pairingPrimitive für DM-PairingcreateChannelPairingController
plugin-sdk/channel-reply-pipelineWiring für Antwortpräfixe und TippstatuscreateChannelReplyPipeline
plugin-sdk/channel-config-helpersFabriken für KonfigurationsadaptercreateHybridChannelConfigAdapter
plugin-sdk/channel-config-schemaBuilder für KonfigurationsschemataTypen für Kanal-Konfigurationsschemata
plugin-sdk/telegram-command-configHilfsfunktionen für Telegram-BefehlskonfigurationNormalisierung von Befehlsnamen, Beschreibungs-Trimmen, Validierung von Duplikaten/Konflikten
plugin-sdk/channel-policyAuflösung von Gruppen-/DM-RichtlinienresolveChannelGroupRequireMention
plugin-sdk/channel-lifecycleTracking des KontostatuscreateAccountStatusSink
plugin-sdk/inbound-envelopeHilfsfunktionen für eingehende UmschlägeGemeinsame Hilfsfunktionen für Routen- und Umschlag-Builder
plugin-sdk/inbound-reply-dispatchHilfsfunktionen für eingehende AntwortenGemeinsame Hilfsfunktionen zum Aufzeichnen und Weiterleiten
plugin-sdk/messaging-targetsParsing von Messaging-ZielenHilfsfunktionen zum Parsen/Abgleichen von Zielen
plugin-sdk/outbound-mediaHilfsfunktionen für ausgehende MedienGemeinsames Laden ausgehender Medien
plugin-sdk/outbound-runtimeRuntime-Hilfsfunktionen für ausgehende NachrichtenHilfsfunktionen für ausgehende Identität/Sendedelegation
plugin-sdk/thread-bindings-runtimeHilfsfunktionen für Thread-BindingsHilfsfunktionen für Thread-Binding-Lebenszyklus und Adapter
plugin-sdk/agent-media-payloadVeraltete Hilfsfunktionen für Medien-PayloadsBuilder für Agent-Medien-Payloads für veraltete Feldlayouts
plugin-sdk/channel-runtimeVeralteter Kompatibilitäts-ShimNur alte Kanal-Runtime-Hilfsfunktionen
plugin-sdk/channel-send-resultTypen für SendeergebnisseTypen für Antwortergebnisse
plugin-sdk/runtime-storePersistenter Plugin-SpeichercreatePluginRuntimeStore
plugin-sdk/runtimeBreite Runtime-HilfsfunktionenHilfsfunktionen für Runtime/Logging/Backup/Plugin-Installation
plugin-sdk/runtime-envSchmale Hilfsfunktionen für Runtime-UmgebungenHilfsfunktionen für Logger/Runtime-Umgebung, Timeout, Retry und Backoff
plugin-sdk/plugin-runtimeGemeinsame Hilfsfunktionen für Plugin-RuntimeGemeinsame Hilfsfunktionen für Plugin-Befehle/Hooks/HTTP/interaktive Abläufe
plugin-sdk/hook-runtimeHilfsfunktionen für Hook-PipelinesGemeinsame Hilfsfunktionen für Webhook-/interne Hook-Pipelines
plugin-sdk/lazy-runtimeHilfsfunktionen für Lazy RuntimecreateLazyRuntimeModule, createLazyRuntimeMethod, createLazyRuntimeMethodBinder, createLazyRuntimeNamedExport, createLazyRuntimeSurface
plugin-sdk/process-runtimeProzesshilfsfunktionenGemeinsame Hilfsfunktionen für Exec
plugin-sdk/cli-runtimeCLI-Runtime-HilfsfunktionenHilfsfunktionen für Befehlsformatierung, Waits, Versionen
plugin-sdk/gateway-runtimeGateway-HilfsfunktionenHilfsfunktionen für Gateway-Client und Patches für Kanalstatus
plugin-sdk/config-runtimeKonfigurationshilfsfunktionenHilfsfunktionen zum Laden/Schreiben von Konfiguration
plugin-sdk/telegram-command-configHilfsfunktionen für Telegram-BefehleFallback-stabile Validierungshilfsfunktionen für Telegram-Befehle, wenn die gebündelte Telegram-Vertragsoberfläche nicht verfügbar ist
plugin-sdk/approval-runtimeHilfsfunktionen für Freigabe-PromptsPayload für Exec-/Plugin-Freigaben, Hilfsfunktionen für Freigabefähigkeiten/-profile, native Freigaberouting-/Runtime-Hilfsfunktionen
plugin-sdk/approval-auth-runtimeHilfsfunktionen für Freigabe-AuthentifizierungAuflösung von Genehmigenden, Authentifizierung von Aktionen im selben Chat
plugin-sdk/approval-client-runtimeHilfsfunktionen für Freigabe-ClientsHilfsfunktionen für native Exec-Freigabeprofile/-filter
plugin-sdk/approval-delivery-runtimeHilfsfunktionen für FreigabezustellungNative Adapter für Freigabefähigkeiten/-zustellung
plugin-sdk/approval-native-runtimeHilfsfunktionen für FreigabezieleNative Hilfsfunktionen für Freigabeziel-/Kontobindung
plugin-sdk/approval-reply-runtimeHilfsfunktionen für FreigabeantwortenHilfsfunktionen für Antwort-Payloads bei Exec-/Plugin-Freigaben
plugin-sdk/security-runtimeSicherheitshilfsfunktionenGemeinsame Hilfsfunktionen für Vertrauen, DM-Gating, externe Inhalte und Secret-Erfassung
plugin-sdk/ssrf-policyHilfsfunktionen für SSRF-RichtlinienHilfsfunktionen für Host-Allowlist und Richtlinien für private Netzwerke
plugin-sdk/ssrf-runtimeRuntime-Hilfsfunktionen für SSRFPinned-Dispatcher, geschütztes Fetch, SSRF-Richtlinien-Hilfsfunktionen
plugin-sdk/collection-runtimeHilfsfunktionen für begrenzte CachespruneMapToMaxSize
plugin-sdk/diagnostic-runtimeHilfsfunktionen für Diagnose-GatingisDiagnosticFlagEnabled, isDiagnosticsEnabled
plugin-sdk/error-runtimeHilfsfunktionen zur FehlerformatierungformatUncaughtError, isApprovalNotFoundError, Hilfsfunktionen für Fehlergraphen
plugin-sdk/fetch-runtimeHilfsfunktionen für umschlossenes Fetch/ProxyresolveFetch, Proxy-Hilfsfunktionen
plugin-sdk/host-runtimeHilfsfunktionen zur Host-NormalisierungnormalizeHostname, normalizeScpRemoteHost
plugin-sdk/retry-runtimeRetry-HilfsfunktionenRetryConfig, retryAsync, Richtlinien-Runner
plugin-sdk/allow-fromFormatierung von AllowlistsformatAllowFromLowercase
plugin-sdk/allowlist-resolutionZuordnung von Allowlist-EingabenmapAllowlistResolutionInputs
plugin-sdk/command-authBefehls-Gating und Hilfsfunktionen für BefehlsoberflächenresolveControlCommandGate, Hilfsfunktionen für Senderautorisierung, Hilfsfunktionen für Befehlsregistrierung
plugin-sdk/secret-inputParsing von Secret-EingabenHilfsfunktionen für Secret-Eingaben
plugin-sdk/webhook-ingressHilfsfunktionen für Webhook-AnfragenHilfsfunktionen für Webhook-Ziele
plugin-sdk/webhook-request-guardsHilfsfunktionen für Guards bei Webhook-RequestsHilfsfunktionen zum Lesen/Begrenzen von Request-Bodies
plugin-sdk/reply-runtimeGemeinsame Antwort-RuntimeEingehende Weiterleitung, Heartbeat, Antwortplanung, Chunking
plugin-sdk/reply-dispatch-runtimeSchmale Hilfsfunktionen für Antwort-DispatchHilfsfunktionen für Finalisierung und Provider-Dispatch
plugin-sdk/reply-historyHilfsfunktionen für AntwortverlaufbuildHistoryContext, buildPendingHistoryContextFromMap, recordPendingHistoryEntry, clearHistoryEntriesIfEnabled
plugin-sdk/reply-referencePlanung von AntwortreferenzencreateReplyReferencePlanner
plugin-sdk/reply-chunkingHilfsfunktionen für Antwort-ChunksHilfsfunktionen für Text-/Markdown-Chunking
plugin-sdk/session-store-runtimeHilfsfunktionen für Session-StoresHilfsfunktionen für Store-Pfade und updated-at
plugin-sdk/state-pathsHilfsfunktionen für State-PfadeHilfsfunktionen für State- und OAuth-Verzeichnisse
plugin-sdk/routingHilfsfunktionen für Routing/Session-KeysresolveAgentRoute, buildAgentSessionKey, resolveDefaultAgentBoundAccountId, Hilfsfunktionen zur Normalisierung von Session-Keys
plugin-sdk/status-helpersHilfsfunktionen für KanalstatusBuilder für Kanal-/Kontostatus-Zusammenfassungen, Standards für Runtime-Status, Hilfsfunktionen für Issue-Metadaten
plugin-sdk/target-resolver-runtimeHilfsfunktionen für ZielauflösungGemeinsame Hilfsfunktionen für Zielauflösung
plugin-sdk/string-normalization-runtimeHilfsfunktionen zur String-NormalisierungHilfsfunktionen für Slug-/String-Normalisierung
plugin-sdk/request-urlHilfsfunktionen für Request-URLsString-URLs aus requestähnlichen Eingaben extrahieren
plugin-sdk/run-commandHilfsfunktionen für zeitgesteuerte BefehleTimed-Command-Runner mit normalisiertem stdout/stderr
plugin-sdk/param-readersParameter-ReaderGemeinsame Parameter-Reader für Tool/CLI
plugin-sdk/tool-sendExtraktion für Tool-SendExtrahiert kanonische Ziel-Felder für Sendungen aus Tool-Argumenten
plugin-sdk/temp-pathHilfsfunktionen für Temp-PfadeGemeinsame Hilfsfunktionen für temporäre Download-Pfade
plugin-sdk/logging-coreLogging-HilfsfunktionenLogger für Subsysteme und Hilfsfunktionen für Redaction
plugin-sdk/markdown-table-runtimeHilfsfunktionen für Markdown-TabellenHilfsfunktionen für Markdown-Tabellenmodi
plugin-sdk/reply-payloadTypen für NachrichtenantwortenTypen für Antwort-Payloads
plugin-sdk/provider-setupKuratierte Hilfsfunktionen für Setup lokaler/selbstgehosteter ProviderHilfsfunktionen für Erkennung/Konfiguration selbstgehosteter Provider
plugin-sdk/self-hosted-provider-setupFokussierte Hilfsfunktionen für Setup selbstgehosteter OpenAI-kompatibler ProviderDieselben Hilfsfunktionen für Erkennung/Konfiguration selbstgehosteter Provider
plugin-sdk/provider-auth-runtimeRuntime-Hilfsfunktionen für Provider-AuthentifizierungHilfsfunktionen zur Auflösung von API-Schlüsseln zur Laufzeit
plugin-sdk/provider-auth-api-keyHilfsfunktionen für Setup von Provider-API-SchlüsselnHilfsfunktionen für Onboarding/Profilschreibung mit API-Schlüsseln
plugin-sdk/provider-auth-resultHilfsfunktionen für Provider-Auth-ResultateStandard-Builder für OAuth-Auth-Resultate
plugin-sdk/provider-auth-loginInteraktive Hilfsfunktionen für Provider-LoginGemeinsame Hilfsfunktionen für interaktiven Login
plugin-sdk/provider-env-varsHilfsfunktionen für Provider-UmgebungsvariablenHilfsfunktionen für Lookup von Auth-Umgebungsvariablen bei Providern
plugin-sdk/provider-model-sharedGemeinsame Hilfsfunktionen für Provider-Modelle/ReplayProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat, gemeinsame Builder für Replay-Richtlinien, Hilfsfunktionen für Provider-Endpunkte und Normalisierung von Modell-IDs
plugin-sdk/provider-catalog-sharedGemeinsame Hilfsfunktionen für Provider-KatalogefindCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat
plugin-sdk/provider-onboardPatches für Provider-OnboardingHilfsfunktionen für Onboarding-Konfiguration
plugin-sdk/provider-httpHilfsfunktionen für Provider-HTTPGenerische Hilfsfunktionen für Provider-HTTP/Endpunktfähigkeiten
plugin-sdk/provider-web-fetchHilfsfunktionen für Web-Fetch bei ProvidernHilfsfunktionen für Registrierung/Cache von Web-Fetch-Providern
plugin-sdk/provider-web-searchHilfsfunktionen für Websuche bei ProvidernHilfsfunktionen für Registrierung/Cache/Konfiguration von Websuch-Providern
plugin-sdk/provider-toolsHilfsfunktionen für Provider-Tool-/Schema-KompatibilitätProviderToolCompatFamily, buildProviderToolCompatFamilyHooks, Gemini-Schema-Bereinigung + Diagnose sowie xAI-Kompatibilitätshilfen wie resolveXaiModelCompatPatch / applyXaiModelCompat
plugin-sdk/provider-usageHilfsfunktionen für Provider-NutzungfetchClaudeUsage, fetchGeminiUsage, fetchGithubCopilotUsage und andere Hilfsfunktionen zur Providernutzung
plugin-sdk/provider-streamHilfsfunktionen für Provider-Stream-WrapperProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers, Typen für Stream-Wrapper sowie gemeinsame Wrapper-Hilfsfunktionen für Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot
plugin-sdk/keyed-async-queueGeordnete asynchrone QueueKeyedAsyncQueue
plugin-sdk/media-runtimeGemeinsame MedienhilfsfunktionenHilfsfunktionen für Abruf/Transformation/Speicherung von Medien sowie Builder für Medien-Payloads
plugin-sdk/media-understandingHilfsfunktionen für MedienverständnisTypen für Provider von Medienverständnis sowie providerseitige Exporte für Bild-/Audio-Hilfsfunktionen
plugin-sdk/text-runtimeGemeinsame TexthilfsfunktionenEntfernen von für Assistenten sichtbarem Text, Hilfsfunktionen für Rendern/Chunking/Tabellen in Markdown, Redaction-Hilfsfunktionen, Hilfsfunktionen für Direktive-Tags, Safe-Text-Hilfsfunktionen und verwandte Text-/Logging-Hilfsfunktionen
plugin-sdk/text-chunkingHilfsfunktionen für Text-ChunkingHilfsfunktion für Chunking ausgehender Texte
plugin-sdk/speechSprachhilfsfunktionenTypen für Sprach-Provider sowie providerseitige Hilfsfunktionen für Direktiven, Registries und Validierung
plugin-sdk/speech-coreGemeinsamer Sprach-CoreTypen für Sprach-Provider, Registry, Direktiven, Normalisierung
plugin-sdk/realtime-transcriptionHilfsfunktionen für Echtzeit-TranskriptionProvider-Typen und Hilfsfunktionen für Registries
plugin-sdk/realtime-voiceHilfsfunktionen für Echtzeit-SpracheProvider-Typen und Hilfsfunktionen für Registries
plugin-sdk/image-generation-coreGemeinsamer Core für BildgenerierungTypen für Bildgenerierung, Failover, Authentifizierung und Hilfsfunktionen für Registries
plugin-sdk/video-generationHilfsfunktionen für VideogenerierungTypen für Video-Provider/Requests/Ergebnisse
plugin-sdk/video-generation-coreGemeinsamer Core für VideogenerierungTypen für Videogenerierung, Hilfsfunktionen für Failover, Provider-Lookup und Parsing von Modell-Referenzen
plugin-sdk/interactive-runtimeHilfsfunktionen für interaktive AntwortenNormalisierung/Reduktion interaktiver Antwort-Payloads
plugin-sdk/channel-config-primitivesPrimitive für Kanal-KonfigurationSchmale Primitive für Kanal-Konfigurationsschemata
plugin-sdk/channel-config-writesHilfsfunktionen für Konfigurationsschreibvorgänge bei KanälenHilfsfunktionen zur Autorisierung von Kanal-Konfigurationsschreibvorgängen
plugin-sdk/channel-plugin-commonGemeinsames Kanal-PräludiumGemeinsame Exporte des Kanal-Präludiums
plugin-sdk/channel-statusHilfsfunktionen für KanalstatusGemeinsame Hilfsfunktionen für Snapshots/Zusammenfassungen des Kanalstatus
plugin-sdk/allowlist-config-editHilfsfunktionen für Allowlist-KonfigurationHilfsfunktionen zum Bearbeiten/Lesen von Allowlist-Konfigurationen
plugin-sdk/group-accessHilfsfunktionen für GruppenzugriffGemeinsame Hilfsfunktionen für Entscheidungen zum Gruppenzugriff
plugin-sdk/direct-dmHilfsfunktionen für direkte DMsGemeinsame Hilfsfunktionen für Authentifizierung/Guards bei direkten DMs
plugin-sdk/extension-sharedGemeinsame Hilfsfunktionen für ErweiterungenPrimitive Hilfsfunktionen für passive Kanäle/Status
plugin-sdk/webhook-targetsHilfsfunktionen für Webhook-ZieleRegistry für Webhook-Ziele und Hilfsfunktionen für Routeninstallation
plugin-sdk/webhook-pathHilfsfunktionen für Webhook-PfadeHilfsfunktionen zur Normalisierung von Webhook-Pfaden
plugin-sdk/web-mediaGemeinsame Hilfsfunktionen für Web-MedienHilfsfunktionen zum Laden entfernter/lokaler Medien
plugin-sdk/zodZod-ReexportReexportiertes zod für Plugin SDK-Konsumenten
plugin-sdk/memory-coreGebündelte Hilfsfunktionen für memory-coreHilfsoberfläche für Speicherverwaltung/Konfiguration/Datei/CLI
plugin-sdk/memory-core-engine-runtimeRuntime-Fassade der Memory-EngineRuntime-Fassade für Speicherindex/-suche
plugin-sdk/memory-core-host-engine-foundationFoundation-Engine für Memory-HostExporte der Foundation-Engine für Memory-Host
plugin-sdk/memory-core-host-engine-embeddingsEmbedding-Engine für Memory-HostExporte der Embedding-Engine für Memory-Host
plugin-sdk/memory-core-host-engine-qmdQMD-Engine für Memory-HostExporte der QMD-Engine für Memory-Host
plugin-sdk/memory-core-host-engine-storageStorage-Engine für Memory-HostExporte der Storage-Engine für Memory-Host
plugin-sdk/memory-core-host-multimodalMultimodale Hilfsfunktionen für Memory-HostMultimodale Hilfsfunktionen für Memory-Host
plugin-sdk/memory-core-host-queryQuery-Hilfsfunktionen für Memory-HostQuery-Hilfsfunktionen für Memory-Host
plugin-sdk/memory-core-host-secretSecret-Hilfsfunktionen für Memory-HostSecret-Hilfsfunktionen für Memory-Host
plugin-sdk/memory-core-host-statusStatus-Hilfsfunktionen für Memory-HostStatus-Hilfsfunktionen für Memory-Host
plugin-sdk/memory-core-host-runtime-cliCLI-Runtime für Memory-HostCLI-Runtime-Hilfsfunktionen für Memory-Host
plugin-sdk/memory-core-host-runtime-coreCore-Runtime für Memory-HostCore-Runtime-Hilfsfunktionen für Memory-Host
plugin-sdk/memory-core-host-runtime-filesDatei-/Runtime-Hilfsfunktionen für Memory-HostDatei-/Runtime-Hilfsfunktionen für Memory-Host
plugin-sdk/memory-lancedbGebündelte Hilfsfunktionen für memory-lancedbHilfsoberfläche für memory-lancedb
plugin-sdk/testingTestwerkzeugeTesthilfsfunktionen und Mocks
Diese Tabelle ist absichtlich nur die häufige Migrations-Teilmenge und nicht die vollständige SDK- Oberfläche. Die vollständige Liste mit über 200 Einstiegspunkten befindet sich in scripts/lib/plugin-sdk-entrypoints.json. Diese Liste enthält weiterhin einige Hilfsschnittstellen für gebündelte Plugins wie plugin-sdk/feishu, plugin-sdk/feishu-setup, plugin-sdk/zalo, plugin-sdk/zalo-setup und plugin-sdk/matrix*. Diese bleiben für die Wartung gebündelter Plugins und aus Kompatibilitätsgründen exportiert, werden aber absichtlich nicht in der häufigen Migrationstabelle aufgeführt und sind nicht das empfohlene Ziel für neuen Plugin-Code. Dieselbe Regel gilt für andere Familien gebündelter Hilfsfunktionen wie:
  • Browser-Unterstützungshilfen: plugin-sdk/browser-config-support, plugin-sdk/browser-support
  • Matrix: plugin-sdk/matrix*
  • LINE: plugin-sdk/line*
  • IRC: plugin-sdk/irc*
  • gebündelte Hilfs-/Plugin-Oberflächen wie plugin-sdk/googlechat, plugin-sdk/zalouser, plugin-sdk/bluebubbles*, plugin-sdk/mattermost*, plugin-sdk/msteams, plugin-sdk/nextcloud-talk, plugin-sdk/nostr, plugin-sdk/tlon, plugin-sdk/twitch, plugin-sdk/github-copilot-login, plugin-sdk/github-copilot-token, plugin-sdk/diagnostics-otel, plugin-sdk/diffs, plugin-sdk/llm-task, plugin-sdk/thread-ownership und plugin-sdk/voice-call
plugin-sdk/github-copilot-token stellt derzeit die schmale Token-Hilfsoberfläche DEFAULT_COPILOT_API_BASE_URL, deriveCopilotApiBaseUrlFromToken und resolveCopilotApiToken bereit. Verwenden Sie den schmalsten Import, der zur Aufgabe passt. Wenn Sie einen Export nicht finden können, prüfen Sie den Quellcode unter src/plugin-sdk/ oder fragen Sie in Discord nach.

Zeitplan für die Entfernung

WannWas passiert
JetztVeraltete Oberflächen geben Laufzeitwarnungen aus
Nächste HauptversionVeraltete Oberflächen werden entfernt; Plugins, die sie weiter verwenden, schlagen fehl
Alle Core-Plugins wurden bereits migriert. Externe Plugins sollten vor der nächsten Hauptversion migrieren.

Warnungen vorübergehend unterdrücken

Setzen Sie diese Umgebungsvariablen, während Sie an der Migration arbeiten:
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
Dies ist ein vorübergehender Ausweg, keine dauerhafte Lösung.

Verwandt