
























@@ -5,13 +5,15 @@ import { isChannelConfigured } from "../../../config/channel-configured.js";
55import { detectPluginAutoEnableCandidates } from "../../../config/plugin-auto-enable.js";
66import type { OpenClawConfig } from "../../../config/types.openclaw.js";
77import { compareOpenClawVersions } from "../../../config/version.js";
8+import { isTruthyEnvValue } from "../../../infra/env.js";
89import { resolveProviderInstallCatalogEntries } from "../../../plugins/provider-install-catalog.js";
910import { resolveWebSearchInstallCatalogEntry } from "../../../plugins/web-search-install-catalog.js";
1011import { VERSION } from "../../../version.js";
1112import { repairMissingPluginInstallsForIds } from "./missing-configured-plugin-install.js";
1213import { asObjectRecord } from "./object.js";
13141415export const CONFIGURED_PLUGIN_INSTALL_RELEASE_VERSION = "2026.5.2-beta.1";
16+const UPDATE_IN_PROGRESS_ENV = "OPENCLAW_UPDATE_IN_PROGRESS";
15171618const AGENT_HARNESS_RUNTIME_PLUGIN_IDS: Readonly<Record<string, string>> = {
1719// Codex can be selected as a harness for OpenAI models without a plugin entry.
@@ -343,9 +345,10 @@ export async function maybeRunConfiguredPluginInstallReleaseStep(params: {
343345return { changes: [], warnings: [], completed: false, touchedConfig: false };
344346}
345347const env = params.env ?? process.env;
348+const updateInProgress = isTruthyEnvValue(env[UPDATE_IN_PROGRESS_ENV]);
346349const configured = collectReleaseConfiguredPluginIds({ cfg: params.cfg, env });
347350if (configured.pluginIds.length === 0 && configured.channelIds.length === 0) {
348-return { changes: [], warnings: [], completed: true, touchedConfig: true };
351+return { changes: [], warnings: [], completed: true, touchedConfig: !updateInProgress };
349352}
350353const repaired = await repairMissingPluginInstallsForIds({
351354cfg: params.cfg,
@@ -354,7 +357,7 @@ export async function maybeRunConfiguredPluginInstallReleaseStep(params: {
354357blockedPluginIds: collectBlockedPluginIds(params.cfg),
355358 env,
356359});
357-const completed = repaired.warnings.length === 0;
360+const completed = repaired.warnings.length === 0 && !updateInProgress;
358361return {
359362changes: repaired.changes,
360363warnings: repaired.warnings,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。