diff --git a/src/components/AiChat.vue b/src/components/AiChat.vue
index fb6b689..5f7441a 100644
--- a/src/components/AiChat.vue
+++ b/src/components/AiChat.vue
@@ -2230,6 +2230,12 @@ onMounted(async () => {
await store.loadProviders()
await store.loadConversations()
store.loadSkills()
+ // @ 提及预加载: AiChat 的 @ 联想读取 projectsStore.projects/tasks,
+ // 但 loadProjects/loadTasks 分别绑在 Projects.vue/Tasks.vue 的 onMounted。
+ // 若用户启动后直接用 AI Chat(未访问过这两个页面), store 数据为空 → @ 无匹配。
+ // 此处按需预加载(已加载则跳过), 不阻塞首屏(无 await, 后台执行)。
+ if (!projectsStore.projects.length) void projectsStore.loadProjects()
+ if (!projectsStore.tasks.length) void projectsStore.loadTasks()
// B-260616-12: 监听工具慢执行提示(useAiEvents 经 Tauri 事件总线广播;composable 无组件上下文,
// 由本组件弹本地 toast。主窗口与分离窗口各挂一份 AiChat,各自消费,无重复——emit 单发,
// 两窗口的 listener 各收一次但 msg 相同,toast 各自渲染互不干扰)
diff --git a/src/components/ToolCard.vue b/src/components/ToolCard.vue
index 52f4cb1..0b43794 100644
--- a/src/components/ToolCard.vue
+++ b/src/components/ToolCard.vue
@@ -191,416 +191,33 @@
-
-