

























@@ -50,7 +50,11 @@ import {
5050type NormalizedPluginsConfig,
5151} from "./config-state.js";
5252import { isPluginEnabledByDefaultForPlatform } from "./default-enablement.js";
53-import { discoverOpenClawPlugins, type PluginCandidate } from "./discovery.js";
53+import {
54+discoverOpenClawPlugins,
55+type PluginCandidate,
56+type PluginDiscoveryResult,
57+} from "./discovery.js";
5458import { shouldRejectHardlinkedPluginFiles } from "./hardlink-policy.js";
5559import { getGlobalHookRunner, initializeGlobalHookRunner } from "./hook-runner-global.js";
5660import { toSafeImportPath } from "./import-specifier.js";
@@ -198,6 +202,7 @@ export type PluginLoadOptions = {
198202loadModules?: boolean;
199203throwOnLoadError?: boolean;
200204manifestRegistry?: PluginManifestRegistry;
205+discovery?: PluginDiscoveryResult;
201206};
202207203208function detailPluginStartupTrace(
@@ -1690,12 +1695,13 @@ export function loadOpenClawPlugins(options: PluginLoadOptions = {}): PluginRegi
16901695candidates: createPluginCandidatesFromManifestRegistry(suppliedManifestRegistry),
16911696diagnostics: [] as PluginDiagnostic[],
16921697}
1693- : discoverOpenClawPlugins({
1698+ : (options.discovery ??
1699+discoverOpenClawPlugins({
16941700workspaceDir: options.workspaceDir,
16951701extraPaths: normalized.loadPaths,
16961702 env,
16971703 installRecords,
1698-});
1704+}));
16991705const manifestRegistry =
17001706suppliedManifestRegistry ??
17011707loadPluginManifestRegistry({
@@ -2559,12 +2565,14 @@ export async function loadOpenClawPluginCliRegistry(
25592565activateGlobalSideEffects: false,
25602566});
256125672562-const discovery = discoverOpenClawPlugins({
2563-workspaceDir: options.workspaceDir,
2564-extraPaths: normalized.loadPaths,
2565- env,
2566- installRecords,
2567-});
2568+const discovery =
2569+options.discovery ??
2570+discoverOpenClawPlugins({
2571+workspaceDir: options.workspaceDir,
2572+extraPaths: normalized.loadPaths,
2573+ env,
2574+ installRecords,
2575+});
25682576const manifestRegistry = loadPluginManifestRegistry({
25692577config: cfg,
25702578workspaceDir: options.workspaceDir,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。