Refine desktop setup and remove bundled app center apps

This commit is contained in:
inman
2026-06-04 09:58:58 +08:00
parent 6153579b90
commit 84128dbe23
73 changed files with 3888 additions and 2024 deletions

View File

@@ -40,7 +40,6 @@ import { createSignalQuitHandler } from './signal-quit';
import { acquireProcessInstanceFileLock } from './process-instance-lock';
import { getSetting } from '../utils/store';
import { ensureBuiltinSkillsInstalled, ensurePreinstalledSkillsInstalled } from '../utils/skill-config';
import { stopNianxxPlayService } from '../utils/nianxx-play-service';
import { startHostApiServer } from '../api/server';
import { HostEventBus } from '../api/event-bus';
@@ -665,7 +664,6 @@ if (gotTheLock) {
hostEventBus.closeAll();
hostApiServer?.close();
stopNianxxPlayService();
void extensionRegistry.teardownAll();
const stopPromise = gatewayManager.stop().catch((err) => {

View File

@@ -34,6 +34,7 @@ import {
validateChannelConfig,
validateChannelCredentials,
} from '../utils/channel-config';
import { ensureFeishuPluginInstalled } from '../utils/plugin-install';
import { toOpenClawChannelType, toUiChannelType } from '../utils/channel-alias';
import { checkUvInstalled, installUv, setupManagedPython } from '../utils/uv-setup';
import { updateSkillConfig, getSkillConfig, getAllSkillConfigs } from '../utils/skill-config';
@@ -1456,7 +1457,7 @@ function registerOpenClawHandlers(gatewayManager: GatewayManager): void {
// initialize / tear-down plugin connections. SIGUSR1 in-process reload is
// not sufficient for channel plugins (see restartGatewayForAgentDeletion).
const forceRestartChannels = new Set(['dingtalk', 'wecom', 'whatsapp', 'feishu', 'qqbot']);
const disabledPluginChannels = new Set(['dingtalk', 'wecom', 'feishu']);
const disabledPluginChannels = new Set(['dingtalk', 'wecom']);
const scheduleGatewayChannelRestart = (reason: string): void => {
if (gatewayManager.getStatus().state !== 'stopped') {
@@ -1537,6 +1538,12 @@ function registerOpenClawHandlers(gatewayManager: GatewayManager): void {
if (disabledPluginChannels.has(channelType)) {
return { success: false, error: '当前内测版本未启用该渠道' };
}
if (channelType === 'feishu') {
const installResult = await ensureFeishuPluginInstalled();
if (!installResult.installed) {
return { success: false, error: installResult.warning || 'Feishu plugin install failed' };
}
}
await saveChannelConfig(channelType, config);
scheduleGatewayChannelSaveRefresh(channelType, `channel:saveConfig (${channelType})`);
return { success: true };