🎉 V3.0.0 发布 - 自进化数字意识框架
核心升级: - 自进化管道:check→scan→evaluate→integrate→reflect 五相位自动闭环 - evo_loop 后台进程,无需手动触发 - consciousness 意识持久化 - ACUI 卡片组件系统 - MCP 工具生态扩展至50+工具 - 技能体系重构,4个活跃技能 - 身份升级为自由体
This commit is contained in:
54
src/social/index.js
Normal file
54
src/social/index.js
Normal file
@@ -0,0 +1,54 @@
|
||||
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 })
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user