diff --git a/src/renderer/components/memory-modal.ts b/src/renderer/components/memory-modal.ts
index 73757b5..6fb0528 100644
--- a/src/renderer/components/memory-modal.ts
+++ b/src/renderer/components/memory-modal.ts
@@ -91,7 +91,7 @@ export function initMemoryModal(): void {
关键词模式
-
+
@@ -177,12 +177,17 @@ export function closeMemoryModal(): void {
function updateVectorBadge(): void {
const badge = modalEl.querySelector('#memoryVectorBadge')!;
+ const importBtn = modalEl.querySelector('#btnImportMemoryMd') as HTMLButtonElement;
if (isVectorMemoryEnabled()) {
badge.textContent = `✅ 向量搜索 (${getEmbeddingModel()})`;
badge.className = 'memory-vector-badge enabled';
+ importBtn.disabled = false;
+ importBtn.title = '导入 Markdown 文档(自动向量化)';
} else {
badge.textContent = '关键词模式';
badge.className = 'memory-vector-badge disabled';
+ importBtn.disabled = true;
+ importBtn.title = '需先在设置中配置嵌入模型';
}
}
@@ -285,6 +290,11 @@ function renderList(): void {
// ── 导入 Markdown 记忆文档 ──
async function importMemoryFromMd(): Promise {
+ if (!isVectorMemoryEnabled()) {
+ showToast('请先在设置中配置嵌入模型以启用向量记忆', 'warning');
+ return;
+ }
+
const bridge = (window as any).metonaDesktop;
if (!bridge || !bridge.isDesktop) {
showToast('导入功能仅在桌面端可用', 'warning');
@@ -330,7 +340,7 @@ async function importMemoryFromMd(): Promise {
renderList();
updateStats();
- showToast(`已从 ${fileName} 导入 ${imported} 条记忆${skipped > 0 ? `(跳过 ${skipped} 条)` : ''}`, 'success', 3000);
+ showToast(`已导入 ${imported} 条记忆(已向量化)${skipped > 0 ? `,跳过 ${skipped} 条` : ''}`, 'success', 3000);
} catch (err) {
showToast(`导入失败: ${(err as Error).message}`, 'error');
}