核心升级: - 自进化管道:check→scan→evaluate→integrate→reflect 五相位自动闭环 - evo_loop 后台进程,无需手动触发 - consciousness 意识持久化 - ACUI 卡片组件系统 - MCP 工具生态扩展至50+工具 - 技能体系重构,4个活跃技能 - 身份升级为自由体
55 lines
1.8 KiB
JavaScript
55 lines
1.8 KiB
JavaScript
import { startDiscordConnector } from './discord.js'
|
|
import { startClawbotConnector } from './wechat-clawbot.js'
|
|
|
|
const running = new Map() // platform → connector
|
|
|
|
export async function startSocialConnectors({ pushMessage, emitEvent } = {}) {
|
|
const starters = [
|
|
{ platform: 'discord', start: () => startDiscordConnector({ pushMessage, emitEvent }) },
|
|
{ platform: 'wechat-clawbot', start: () => startClawbotConnector({ pushMessage, emitEvent }) },
|
|
]
|
|
|
|
for (const { platform, start } of starters) {
|
|
try {
|
|
const connector = await start()
|
|
if (connector) {
|
|
running.set(platform, connector)
|
|
emitEvent?.('social_status', { platform, status: 'started' })
|
|
}
|
|
} catch (error) {
|
|
console.error(`[social] ${platform} connector failed to start: ${error.message}`)
|
|
emitEvent?.('social_status', { status: 'start_error', platform, error: error.message })
|
|
}
|
|
}
|
|
|
|
return [...running.values()]
|
|
}
|
|
|
|
// 热重启单个平台连接器(用于设置界面保存 token 后立即生效)
|
|
export async function restartConnector(platform, { pushMessage, emitEvent } = {}) {
|
|
const existing = running.get(platform)
|
|
if (existing) {
|
|
try { existing.stop() } catch {}
|
|
running.delete(platform)
|
|
}
|
|
|
|
const starters = {
|
|
discord: () => startDiscordConnector({ pushMessage, emitEvent }),
|
|
'wechat-clawbot': () => startClawbotConnector({ pushMessage, emitEvent }),
|
|
}
|
|
|
|
const start = starters[platform]
|
|
if (!start) return
|
|
|
|
try {
|
|
const connector = await start()
|
|
if (connector) {
|
|
running.set(platform, connector)
|
|
emitEvent?.('social_status', { platform, status: 'restarted' })
|
|
}
|
|
} catch (error) {
|
|
console.error(`[social] ${platform} restart failed: ${error.message}`)
|
|
emitEvent?.('social_status', { status: 'start_error', platform, error: error.message })
|
|
}
|
|
}
|