feat(electron): auto-upgrade bundled OpenClaw plugins at app startup (#521)

This commit is contained in:
paisley
2026-03-16 13:19:06 +08:00
committed by GitHub
Unverified
parent 02d38d15db
commit 9ec23174c0
6 changed files with 172 additions and 292 deletions

View File

@@ -29,6 +29,7 @@ import {
} from './main-window-focus';
import { getSetting } from '../utils/store';
import { ensureBuiltinSkillsInstalled, ensurePreinstalledSkillsInstalled } from '../utils/skill-config';
import { ensureAllBundledPluginsInstalled } from '../utils/plugin-install';
import { startHostApiServer } from '../api/server';
import { HostEventBus } from '../api/event-bus';
import { deviceOAuthManager } from '../utils/device-oauth';
@@ -294,6 +295,12 @@ async function initialize(): Promise<void> {
logger.warn('Failed to install preinstalled skills:', error);
});
// Pre-deploy/upgrade bundled OpenClaw plugins (dingtalk, wecom, qqbot, feishu)
// to ~/.openclaw/extensions/ so they are always up-to-date after an app update.
void ensureAllBundledPluginsInstalled().catch((error) => {
logger.warn('Failed to install/upgrade bundled plugins:', error);
});
// Bridge gateway and host-side events before any auto-start logic runs, so
// renderer subscribers observe the full startup lifecycle.
gatewayManager.on('status', (status: { state: string }) => {