From 72e57c6232dd6fcbdd1a5a2f04cd7b08800cbe91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Mon, 22 Jun 2026 00:46:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96:=20L3=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=80=BB=E7=BA=BF=E5=85=A5AppState(=E5=9F=BA=E5=BB=BA=E5=B0=B1?= =?UTF-8?q?=E4=BD=8D,emit=E5=8F=8C=E5=86=99=E7=95=99=E6=89=B93)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ai_event_bus字段独立于工作流event_bus,批2b仅入AppState+初始化。 emit点双写+前端订阅留批3:无后端订阅者(工作流独立域)+前端经ai-chat-event已收→全双写空转,待真实消费者(跨端/多模块)出现再针对性接入。渐进可回退。 --- src-tauri/src/state.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src-tauri/src/state.rs b/src-tauri/src/state.rs index 6bd78e1..f5d9e8b 100644 --- a/src-tauri/src/state.rs +++ b/src-tauri/src/state.rs @@ -366,6 +366,16 @@ pub struct AppState { pub resolvers: Arc, /// AI 会话状态 pub ai_session: Arc>, + /// L3 AI 事件总线(pub-sub 域,独立于工作流 event_bus)。 + /// + /// 批2b:总线入 AppState 就绪(基建就位)。emit 点双写 + 前端订阅**留批3**: + /// 现阶段无后端订阅者(工作流独立域)+ 前端经 ai-chat-event 已收 → 全双写空转, + /// 待真实消费者(跨端透传/多模块订阅)出现再针对性双写(渐进接入,机制优先)。 + /// + /// dead_code:批2b 仅入 AppState,emit 点未双写(publish 无调用方); + /// 标 allow 保留作批3 接入(零调用方≠垃圾,预留保留)。 + #[allow(dead_code)] + pub ai_event_bus: crate::commands::ai::event_bus::EventBus, // ── 知识库 ── /// 知识库 Repo pub knowledge: KnowledgeRepo, @@ -649,6 +659,8 @@ impl AppState { ai_messages: AiMessageRepo::new(&db), ai_tool_executions: AiToolExecutionRepo::new(&db), ai_session: Arc::new(Mutex::new(AiSession::new())), + // L3 批2b:AI 事件总线入 AppState(独立于工作流 event_bus)。emit 双写留批3。 + ai_event_bus: crate::commands::ai::event_bus::EventBus::new(), knowledge: KnowledgeRepo::new(&db), knowledge_events: KnowledgeEventsRepo::new(&db), knowledge_config: Arc::new(Mutex::new(KnowledgeConfig::default())),