الانتقال إلى المحتوى الرئيسي

ترحيل Plugin SDK

انتقلت OpenClaw من طبقة توافق عكسي واسعة إلى معمارية إضافات حديثة ذات عمليات استيراد مركزة وموثقة. إذا كانت إضافتك قد بُنيت قبل المعمارية الجديدة، فسيساعدك هذا الدليل على الترحيل.

ما الذي يتغير

وفّر نظام الإضافات القديم سطحين مفتوحين على مصراعيهما كانا يسمحان للإضافات باستيراد أي شيء تحتاج إليه من نقطة دخول واحدة:
  • openclaw/plugin-sdk/compat — استيراد واحد يعيد تصدير عشرات المساعدات. وقد قُدّم لإبقاء الإضافات القديمة المعتمدة على hooks تعمل بينما كانت معمارية الإضافات الجديدة قيد البناء.
  • openclaw/extension-api — جسر كان يمنح الإضافات وصولًا مباشرًا إلى مساعدات جهة المضيف مثل مشغّل الوكيل المدمج.
كلا السطحين أصبح الآن مهملًا. وما زالا يعملان في وقت التشغيل، لكن يجب ألا تستخدمهما الإضافات الجديدة، وينبغي للإضافات الحالية الترحيل قبل أن يزيلهما الإصدار الرئيسي التالي.
ستتم إزالة طبقة التوافق العكسي في إصدار رئيسي مستقبلي. وستتعطل الإضافات التي ما زالت تستورد من هذه الواجهات عندما يحدث ذلك.

لماذا تغير هذا

تسبب النهج القديم في مشكلات:
  • بدء تشغيل بطيء — كان استيراد مساعد واحد يحمّل عشرات الوحدات غير المرتبطة
  • اعتماديات دائرية — جعلت عمليات إعادة التصدير الواسعة من السهل إنشاء دورات استيراد
  • سطح API غير واضح — لم تكن هناك طريقة لمعرفة أي التصديرات كانت مستقرة وأيها داخلية
تصلح Plugin SDK الحديثة ذلك: فكل مسار استيراد (openclaw/plugin-sdk/\<subpath\>) هو وحدة صغيرة مستقلة ذات غرض واضح وعقد موثق. كما أزيلت أيضًا طبقات الراحة القديمة الخاصة بالموفّرين للقنوات المدمجة. فعمليات الاستيراد مثل openclaw/plugin-sdk/slack وopenclaw/plugin-sdk/discord، وopenclaw/plugin-sdk/signal وopenclaw/plugin-sdk/whatsapp، وطبقات المساعدة الموسومة بالقناة، و openclaw/plugin-sdk/telegram-core كانت اختصارات خاصة بمستودع mono وليست عقودًا مستقرة للإضافات. استخدم بدلًا منها subpaths عامة ضيقة في SDK. وداخل workspace الخاصة بالإضافة المدمجة، احتفظ بالمساعدات المملوكة للموفّر داخل api.ts أو runtime-api.ts الخاصين بتلك الإضافة. أمثلة الموفّرين المدمجين الحالية:
  • يحتفظ Anthropic بمساعدات البث الخاصة بـ Claude داخل طبقة api.ts / contract-api.ts الخاصة به
  • يحتفظ OpenAI ببناة الموفّرين، ومساعدات النماذج الافتراضية، وبناة الموفّرين الفورية داخل api.ts الخاص به
  • يحتفظ OpenRouter بباني الموفّر ومساعدات onboarding/config داخل api.ts الخاص به

كيفية الترحيل

1

مراجعة سلوك الرجوع الاحتياطي لـ Windows wrapper

إذا كانت إضافتك تستخدم openclaw/plugin-sdk/windows-spawn، فإن أغلفة Windows ‏.cmd/.bat غير المحلولة تفشل الآن بشكل مغلق ما لم تمرر allowShellFallback: true صراحة.
// قبل
const program = applyWindowsSpawnProgramPolicy({ candidate });

// بعد
const program = applyWindowsSpawnProgramPolicy({
  candidate,
  // اضبط هذا فقط للمستدعين الموثوقين المتوافقين الذين
  // يقبلون عمدًا الرجوع الاحتياطي عبر shell.
  allowShellFallback: true,
});
إذا لم يكن المستدعي لديك يعتمد عمدًا على الرجوع الاحتياطي عبر shell، فلا تضبط allowShellFallback وتعامل مع الخطأ المرفوع بدلًا من ذلك.
2

البحث عن عمليات الاستيراد المهملة

ابحث في إضافتك عن عمليات الاستيراد من أي من السطحين المهملين:
grep -r "plugin-sdk/compat" my-plugin/
grep -r "openclaw/extension-api" my-plugin/
3

الاستبدال بعمليات استيراد مركزة

يقابل كل تصدير من السطح القديم مسار استيراد حديثًا محددًا:
// قبل (طبقة التوافق العكسي المهملة)
import {
  createChannelReplyPipeline,
  createPluginRuntimeStore,
  resolveControlCommandGate,
} from "openclaw/plugin-sdk/compat";

// بعد (عمليات استيراد حديثة ومركزة)
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";
بالنسبة إلى المساعدات الموجودة جهة المضيف، استخدم plugin runtime المحقون بدلًا من الاستيراد المباشر:
// قبل (جسر extension-api المهمل)
import { runEmbeddedPiAgent } from "openclaw/extension-api";
const result = await runEmbeddedPiAgent({ sessionId, prompt });

// بعد (runtime محقونة)
const result = await api.runtime.agent.runEmbeddedPiAgent({ sessionId, prompt });
ينطبق النمط نفسه على مساعدات الجسر القديمة الأخرى:
الاستيراد القديمالمعادل الحديث
resolveAgentDirapi.runtime.agent.resolveAgentDir
resolveAgentWorkspaceDirapi.runtime.agent.resolveAgentWorkspaceDir
resolveAgentIdentityapi.runtime.agent.resolveAgentIdentity
resolveThinkingDefaultapi.runtime.agent.resolveThinkingDefault
resolveAgentTimeoutMsapi.runtime.agent.resolveAgentTimeoutMs
ensureAgentWorkspaceapi.runtime.agent.ensureAgentWorkspace
مساعدات مخزن الجلسةapi.runtime.agent.session.*
4

البناء والاختبار

pnpm build
pnpm test -- my-plugin/

مرجع مسارات الاستيراد

مسار الاستيرادالغرضالتصديرات الأساسية
plugin-sdk/plugin-entryمساعد إدخال الإضافة القانونيdefinePluginEntry
plugin-sdk/coreإعادة تصدير جامعة قديمة لتعريفات/بناة إدخال القنواتdefineChannelPluginEntry, createChatChannelPlugin
plugin-sdk/config-schemaتصدير مخطط الإعداد الجذريOpenClawSchema
plugin-sdk/provider-entryمساعد إدخال موفّر واحدdefineSingleProviderPluginEntry
plugin-sdk/channel-coreتعريفات وبناة إدخال القنوات المركزةdefineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase
plugin-sdk/setupمساعدات setup المشتركةمطالبات قائمة السماح، وبناة حالة setup
plugin-sdk/setup-runtimeمساعدات runtime في وقت setupمهايئات تصحيح setup الآمنة للاستيراد، ومساعدات ملاحظات lookup، وpromptResolvedAllowFrom، وsplitSetupEntries، ووكلاء setup المفوضون
plugin-sdk/setup-adapter-runtimeمساعدات مهايئات setupcreateEnvPatchedAccountSetupAdapter
plugin-sdk/setup-toolsمساعدات أدوات setupformatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR
plugin-sdk/account-coreمساعدات تعدد الحساباتمساعدات قوائم/إعدادات/بوابات أفعال الحساب
plugin-sdk/account-idمساعدات account-idDEFAULT_ACCOUNT_ID، وتطبيع account-id
plugin-sdk/account-resolutionمساعدات lookup للحسابمساعدات lookup للحساب + fallback الافتراضي
plugin-sdk/account-helpersمساعدات حساب ضيقةمساعدات قائمة الحساب/إجراء الحساب
plugin-sdk/channel-setupمهايئات معالج setupcreateOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard، بالإضافة إلى DEFAULT_ACCOUNT_ID وcreateTopLevelChannelDmPolicy وsetSetupChannelEnabled وsplitSetupEntries
plugin-sdk/channel-pairingبدائيات اقتران الرسائل المباشرةcreateChannelPairingController
plugin-sdk/channel-reply-pipelineربط بادئة الرد + مؤشرات الكتابةcreateChannelReplyPipeline
plugin-sdk/channel-config-helpersمصانع مهايئات الإعدادcreateHybridChannelConfigAdapter
plugin-sdk/channel-config-schemaبناة مخطط الإعدادأنواع مخطط إعداد القناة
plugin-sdk/telegram-command-configمساعدات إعداد أوامر Telegramتطبيع أسماء الأوامر، واقتطاع الوصف، والتحقق من التكرار/التعارض
plugin-sdk/channel-policyحل سياسات المجموعة/الرسائل المباشرةresolveChannelGroupRequireMention
plugin-sdk/channel-lifecycleتتبع حالة الحسابcreateAccountStatusSink
plugin-sdk/inbound-envelopeمساعدات المغلف الواردمساعدات route + builder للمغلف المشتركة
plugin-sdk/inbound-reply-dispatchمساعدات الرد الواردمساعدات record-and-dispatch المشتركة
plugin-sdk/messaging-targetsتحليل أهداف المراسلةمساعدات تحليل/مطابقة الأهداف
plugin-sdk/outbound-mediaمساعدات الوسائط الصادرةتحميل الوسائط الصادرة المشتركة
plugin-sdk/outbound-runtimeمساعدات runtime الصادرةمساعدات هوية/تفويض إرسال صادر
plugin-sdk/thread-bindings-runtimeمساعدات ربط السلاسلدورة حياة ربط السلاسل ومساعدات المهايئ
plugin-sdk/agent-media-payloadمساعدات حمولة الوسائط القديمةمنشئ حمولة وسائط الوكيل لتخطيطات الحقول القديمة
plugin-sdk/channel-runtimeطبقة توافق مهملةأدوات runtime قديمة للقناة فقط
plugin-sdk/channel-send-resultأنواع نتائج الإرسالأنواع نتائج الرد
plugin-sdk/runtime-storeتخزين الإضافات الدائمcreatePluginRuntimeStore
plugin-sdk/runtimeمساعدات runtime واسعةمساعدات runtime/logging/backup/plugin-install
plugin-sdk/runtime-envمساعدات بيئة runtime ضيقةlogger/runtime env، والمهلة، وإعادة المحاولة، ومساعدات backoff
plugin-sdk/plugin-runtimeمساعدات runtime مشتركة للإضافةمساعدات أوامر/hooks/http/تفاعلية للإضافة
plugin-sdk/hook-runtimeمساعدات مسار hookمساعدات pipeline مشتركة لـ webhook/internal hook
plugin-sdk/lazy-runtimeمساعدات runtime الكسولةcreateLazyRuntimeModule, createLazyRuntimeMethod, createLazyRuntimeMethodBinder, createLazyRuntimeNamedExport, createLazyRuntimeSurface
plugin-sdk/process-runtimeمساعدات العملياتمساعدات exec المشتركة
plugin-sdk/cli-runtimeمساعدات runtime لـ CLIتنسيق الأوامر، والانتظار، ومساعدات الإصدار
plugin-sdk/gateway-runtimeمساعدات Gatewayعميل Gateway ومساعدات تصحيح حالة القناة
plugin-sdk/config-runtimeمساعدات الإعدادمساعدات تحميل/كتابة الإعداد
plugin-sdk/telegram-command-configمساعدات أوامر Telegramمساعدات تحقق أوامر Telegram الثابتة في fallback عندما يكون سطح عقد Telegram المدمج غير متاح
plugin-sdk/approval-runtimeمساعدات مطالبات الموافقةحمولة موافقة exec/plugin، ومساعدات قدرة/ملف تعريف الموافقة، ومساعدات التوجيه/runtime الأصلية للموافقة
plugin-sdk/approval-auth-runtimeمساعدات مصادقة الموافقةحل الموافقين، ومصادقة الإجراء في الدردشة نفسها
plugin-sdk/approval-client-runtimeمساعدات عميل الموافقةمساعدات ملف تعريف/مرشح موافقة exec الأصلية
plugin-sdk/approval-delivery-runtimeمساعدات تسليم الموافقةمهايئات قدرة/تسليم الموافقة الأصلية
plugin-sdk/approval-native-runtimeمساعدات هدف الموافقةمساعدات ربط هدف/حساب الموافقة الأصلية
plugin-sdk/approval-reply-runtimeمساعدات رد الموافقةمساعدات حمولة رد موافقة exec/plugin
plugin-sdk/security-runtimeمساعدات الأمانمساعدات الثقة المشتركة، وبوابة الرسائل المباشرة، والمحتوى الخارجي، وجمع الأسرار
plugin-sdk/ssrf-policyمساعدات سياسة SSRFقائمة سماح المضيف ومساعدات سياسة الشبكة الخاصة
plugin-sdk/ssrf-runtimeمساعدات runtime لـ SSRFمساعدات pinned-dispatcher وguarded fetch وسياسة SSRF
plugin-sdk/collection-runtimeمساعدات bounded cachepruneMapToMaxSize
plugin-sdk/diagnostic-runtimeمساعدات بوابة التشخيصisDiagnosticFlagEnabled, isDiagnosticsEnabled
plugin-sdk/error-runtimeمساعدات تنسيق الأخطاءformatUncaughtError, isApprovalNotFoundError، ومساعدات رسم الأخطاء
plugin-sdk/fetch-runtimeمساعدات fetch/proxy المغلفةresolveFetch، ومساعدات proxy
plugin-sdk/host-runtimeمساعدات تطبيع المضيفnormalizeHostname, normalizeScpRemoteHost
plugin-sdk/retry-runtimeمساعدات إعادة المحاولةRetryConfig, retryAsync, مشغلات السياسات
plugin-sdk/allow-fromتنسيق قائمة السماحformatAllowFromLowercase
plugin-sdk/allowlist-resolutionتعيين إدخالات قائمة السماحmapAllowlistResolutionInputs
plugin-sdk/command-authبوابة الأوامر ومساعدات سطح الأوامرresolveControlCommandGate، ومساعدات تفويض المرسل، ومساعدات سجل الأوامر
plugin-sdk/secret-inputتحليل إدخال السرمساعدات إدخال الأسرار
plugin-sdk/webhook-ingressمساعدات طلب webhookأدوات هدف webhook
plugin-sdk/webhook-request-guardsمساعدات حراسة جسم webhookمساعدات قراءة/تحديد حجم جسم الطلب
plugin-sdk/reply-runtimeruntime رد مشتركةdispatch وارد، heartbeat، مخطط الرد، التجزئة
plugin-sdk/reply-dispatch-runtimeمساعدات dispatch للرد الضيقةمساعدات finalize + dispatch الخاصة بالموفّر
plugin-sdk/reply-historyمساعدات سجل الردbuildHistoryContext, buildPendingHistoryContextFromMap, recordPendingHistoryEntry, clearHistoryEntriesIfEnabled
plugin-sdk/reply-referenceتخطيط مرجع الردcreateReplyReferencePlanner
plugin-sdk/reply-chunkingمساعدات تجزئة الردمساعدات تجزئة النص/Markdown
plugin-sdk/session-store-runtimeمساعدات مخزن الجلسةمساعدات مسار المخزن + updated-at
plugin-sdk/state-pathsمساعدات مسارات الحالةمساعدات دليل الحالة وOAuth
plugin-sdk/routingمساعدات routing/session-keyresolveAgentRoute, buildAgentSessionKey, resolveDefaultAgentBoundAccountId، ومساعدات تطبيع session-key
plugin-sdk/status-helpersمساعدات حالة القناةبناة ملخص/لقطة حالة القناة/الحساب، والقيم الافتراضية لـ runtime-state، ومساعدات بيانات وصفية للمشكلات
plugin-sdk/target-resolver-runtimeمساعدات حل الهدفمساعدات حل الهدف المشتركة
plugin-sdk/string-normalization-runtimeمساعدات تطبيع السلاسلمساعدات تطبيع slug/string
plugin-sdk/request-urlمساعدات عنوان URL للطلباستخراج عناوين URL النصية من مدخلات تشبه الطلب
plugin-sdk/run-commandمساعدات الأوامر ذات المهلةمشغّل أوامر ذات مهلة مع stdout/stderr مُطبّعين
plugin-sdk/param-readersقارئات المعلماتقارئات معلمات شائعة للأداة/CLI
plugin-sdk/tool-sendاستخراج إرسال الأداةاستخراج حقول هدف الإرسال القانونية من وسائط الأداة
plugin-sdk/temp-pathمساعدات المسارات المؤقتةمساعدات مسار التنزيل المؤقت المشتركة
plugin-sdk/logging-coreمساعدات التسجيلsubsystem logger ومساعدات الحجب
plugin-sdk/markdown-table-runtimeمساعدات جداول Markdownمساعدات وضع جدول Markdown
plugin-sdk/reply-payloadأنواع رد الرسائلأنواع حمولة الرد
plugin-sdk/provider-setupمساعدات setup منسقة للموفّر المحلي/المستضاف ذاتيًامساعدات اكتشاف/تهيئة الموفّر المستضاف ذاتيًا
plugin-sdk/self-hosted-provider-setupمساعدات setup مركزة للموفّر المستضاف ذاتيًا والمتوافق مع OpenAIمساعدات اكتشاف/تهيئة الموفّر المستضاف ذاتيًا نفسها
plugin-sdk/provider-auth-runtimeمساعدات مصادقة runtime للموفّرمساعدات حل API-key في وقت التشغيل
plugin-sdk/provider-auth-api-keyمساعدات setup لمفتاح API للموفّرمساعدات onboarding/كتابة profile لمفتاح API
plugin-sdk/provider-auth-resultمساعدات auth-result للموفّرمنشئ OAuth auth-result القياسي
plugin-sdk/provider-auth-loginمساعدات login التفاعلية للموفّرمساعدات login التفاعلي المشتركة
plugin-sdk/provider-env-varsمساعدات env-vars للموفّرمساعدات lookup لمتغيرات env الخاصة بمصادقة الموفّر
plugin-sdk/provider-model-sharedمساعدات model/replay مشتركة للموفّرProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat، وبناة سياسة replay المشتركة، ومساعدات نقطة نهاية الموفّر، ومساعدات تطبيع معرّف النموذج
plugin-sdk/provider-catalog-sharedمساعدات فهرس مشتركة للموفّرfindCatalogTemplate, buildSingleProviderApiKeyCatalog, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat
plugin-sdk/provider-onboardتصحيحات onboarding للموفّرمساعدات إعداد onboarding
plugin-sdk/provider-httpمساعدات HTTP للموفّرمساعدات HTTP/قدرات نقطة النهاية العامة للموفّر
plugin-sdk/provider-web-fetchمساعدات web-fetch للموفّرمساعدات تسجيل/ذاكرة مؤقتة لموفّر web-fetch
plugin-sdk/provider-web-searchمساعدات web-search للموفّرمساعدات تسجيل/ذاكرة مؤقتة/إعداد لموفّر web-search
plugin-sdk/provider-toolsمساعدات توافق أداة/مخطط الموفّرProviderToolCompatFamily, buildProviderToolCompatFamilyHooks، وتنظيف مخطط Gemini + التشخيصات، ومساعدات توافق xAI مثل resolveXaiModelCompatPatch / applyXaiModelCompat
plugin-sdk/provider-usageمساعدات استخدام الموفّرfetchClaudeUsage, fetchGeminiUsage, fetchGithubCopilotUsage، ومساعدات استخدام موفّرين أخرى
plugin-sdk/provider-streamمساعدات غلاف stream للموفّرProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers، وأنواع stream wrapper، ومساعدات wrapper المشتركة لـ Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot
plugin-sdk/keyed-async-queueصف async مرتبKeyedAsyncQueue
plugin-sdk/media-runtimeمساعدات وسائط مشتركةمساعدات fetch/transform/store للوسائط بالإضافة إلى بناة حمولة الوسائط
plugin-sdk/media-understandingمساعدات فهم الوسائطأنواع موفّري فهم الوسائط بالإضافة إلى تصديرات مساعدات الصورة/الصوت المواجهة للموفّر
plugin-sdk/text-runtimeمساعدات نص مشتركةإزالة النص المرئي للمساعد، ومساعدات render/chunking/table الخاصة بـ Markdown، ومساعدات الحجب، ومساعدات directive-tag، وأدوات النص الآمن، ومساعدات النص/التسجيل ذات الصلة
plugin-sdk/text-chunkingمساعدات تجزئة النصمساعد تجزئة النص الصادر
plugin-sdk/speechمساعدات Speechأنواع موفّري الكلام بالإضافة إلى التصديرات المواجهة للموفّر الخاصة بـ directive وregistry والتحقق
plugin-sdk/speech-coreSpeech core مشتركةأنواع موفّري الكلام، والسجل، وdirectives، والتطبيع
plugin-sdk/realtime-transcriptionمساعدات النسخ الفوريأنواع الموفّرين ومساعدات السجل
plugin-sdk/realtime-voiceمساعدات الصوت الفوريأنواع الموفّرين ومساعدات السجل
plugin-sdk/image-generation-corecore مشتركة لإنشاء الصورأنواع إنشاء الصور، والتراجع الاحتياطي، والمصادقة، ومساعدات السجل
plugin-sdk/video-generationمساعدات إنشاء الفيديوأنواع موفّر/طلب/نتيجة إنشاء الفيديو
plugin-sdk/video-generation-corecore مشتركة لإنشاء الفيديوأنواع إنشاء الفيديو، ومساعدات التراجع الاحتياطي، وlookup للموفّر، وتحليل model-ref
plugin-sdk/interactive-runtimeمساعدات الرد التفاعليتطبيع/تقليص حمولة الرد التفاعلي
plugin-sdk/channel-config-primitivesبدائيات إعداد القناةبدائيات ضيقة لمخطط إعداد القناة
plugin-sdk/channel-config-writesمساعدات كتابة إعداد القناةمساعدات تفويض كتابة إعداد القناة
plugin-sdk/channel-plugin-commonprelude مشتركة للقناةتصديرات prelude مشتركة لإضافة القناة
plugin-sdk/channel-statusمساعدات حالة القناةمساعدات snapshot/summary المشتركة لحالة القناة
plugin-sdk/allowlist-config-editمساعدات إعداد allowlistمساعدات تعديل/قراءة إعداد allowlist
plugin-sdk/group-accessمساعدات وصول المجموعةمساعدات قرار وصول المجموعة المشتركة
plugin-sdk/direct-dmمساعدات الرسائل المباشرة المباشرةمساعدات مصادقة/حراسة الرسائل المباشرة المشتركة
plugin-sdk/extension-sharedمساعدات extension مشتركةبدائيات مساعدة لحالة/قناة سلبية
plugin-sdk/webhook-targetsمساعدات أهداف webhookسجل أهداف webhook ومساعدات تثبيت المسارات
plugin-sdk/webhook-pathمساعدات مسار webhookمساعدات تطبيع مسار webhook
plugin-sdk/web-mediaمساعدات وسائط ويب مشتركةمساعدات تحميل الوسائط البعيدة/المحلية
plugin-sdk/zodإعادة تصدير Zodإعادة تصدير zod لمستهلكي Plugin SDK
plugin-sdk/memory-coreمساعدات memory-core المدمجةسطح مساعدات مدير/إعداد/ملف/CLI الخاص بالذاكرة
plugin-sdk/memory-core-engine-runtimeواجهة runtime لمحرك الذاكرةواجهة runtime للفهرسة/البحث في الذاكرة
plugin-sdk/memory-core-host-engine-foundationمحرك الأساس للمضيف الخاص بالذاكرةتصديرات محرك الأساس للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-engine-embeddingsمحرك embeddings للمضيف الخاص بالذاكرةتصديرات محرك embeddings للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-engine-qmdمحرك QMD للمضيف الخاص بالذاكرةتصديرات محرك QMD للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-engine-storageمحرك التخزين للمضيف الخاص بالذاكرةتصديرات محرك التخزين للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-multimodalمساعدات الوسائط المتعددة للمضيف الخاص بالذاكرةمساعدات الوسائط المتعددة للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-queryمساعدات الاستعلام للمضيف الخاص بالذاكرةمساعدات الاستعلام للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-secretمساعدات الأسرار للمضيف الخاص بالذاكرةمساعدات الأسرار للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-statusمساعدات الحالة للمضيف الخاص بالذاكرةمساعدات الحالة للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-runtime-cliruntime CLI للمضيف الخاص بالذاكرةمساعدات runtime CLI للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-runtime-coreruntime core للمضيف الخاص بالذاكرةمساعدات runtime core للمضيف الخاص بالذاكرة
plugin-sdk/memory-core-host-runtime-filesمساعدات الملفات/runtime للمضيف الخاص بالذاكرةمساعدات الملفات/runtime للمضيف الخاص بالذاكرة
plugin-sdk/memory-lancedbمساعدات memory-lancedb المدمجةسطح مساعدات Memory-lancedb
plugin-sdk/testingأدوات الاختبارمساعدات الاختبار وmocks
يمثل هذا الجدول عمدًا مجموعة الترحيل الشائعة، وليس السطح الكامل لـ SDK. وتوجد القائمة الكاملة التي تضم أكثر من 200 نقطة دخول في scripts/lib/plugin-sdk-entrypoints.json. ولا تزال هذه القائمة تتضمن بعض طبقات المساعدة الخاصة بالإضافات المدمجة مثل plugin-sdk/feishu وplugin-sdk/feishu-setup وplugin-sdk/zalo، وplugin-sdk/zalo-setup وplugin-sdk/matrix*. وتظل هذه الطبقات مُصدَّرة من أجل صيانة الإضافات المدمجة والتوافق، لكنها أُزيلت عمدًا من جدول الترحيل الشائع وليست الهدف الموصى به لشيفرة الإضافات الجديدة. وتنطبق القاعدة نفسها على عائلات المساعدات المدمجة الأخرى مثل:
  • مساعدات دعم المتصفح: plugin-sdk/browser-config-support, plugin-sdk/browser-support
  • Matrix: ‏plugin-sdk/matrix*
  • LINE: ‏plugin-sdk/line*
  • IRC: ‏plugin-sdk/irc*
  • طبقات المساعدة/الإضافات المدمجة مثل 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، وplugin-sdk/voice-call
يكشف plugin-sdk/github-copilot-token حاليًا سطح المساعدة الضيق الخاص بالرمز DEFAULT_COPILOT_API_BASE_URL، وderiveCopilotApiBaseUrlFromToken، وresolveCopilotApiToken. استخدم أضيق عملية استيراد تطابق المهمة. وإذا لم تتمكن من العثور على تصدير، فراجع المصدر في src/plugin-sdk/ أو اسأل على Discord.

الجدول الزمني للإزالة

متىماذا يحدث
الآنتصدر الواجهات المهملة تحذيرات في وقت التشغيل
الإصدار الرئيسي التاليستتم إزالة الواجهات المهملة؛ وستفشل الإضافات التي ما زالت تستخدمها
تم بالفعل ترحيل كل الإضافات الأساسية. وينبغي أن تُرحّل الإضافات الخارجية قبل الإصدار الرئيسي التالي.

كتم التحذيرات مؤقتًا

اضبط متغيرات البيئة هذه أثناء العمل على الترحيل:
OPENCLAW_SUPPRESS_PLUGIN_SDK_COMPAT_WARNING=1 openclaw gateway run
OPENCLAW_SUPPRESS_EXTENSION_API_WARNING=1 openclaw gateway run
هذا منفذ هروب مؤقت، وليس حلًا دائمًا.

ذو صلة