v0.13.0: 记忆系统重构 — MEMORY.md 文件化 + 路径保护 + 自动提取优化
核心变更: - 删除 SQLite memories 表 + FTS5 + IVF 向量存储引擎 (~1300行) - 4 个记忆工具合并为 1 个 memory 工具 (5 action) - 记忆存储改为工作空间 MEMORY.md 单文件,严格格式校验 - 路径保护: checkPathAllowed 拦截所有工具,仅 memory 专用 IPC 通道可访问 - 应用启动/工作空间切换时自动校验并初始化 MEMORY.md(格式错误自动备份重建) - 自动记忆提取重建: 对话结束时触发,多层质量过滤(内容/泛化/去重/安全/importance门槛) - 工具总数: 42→40,UI 全面更新(帮助面板、工具面板、设置面板、README) - 版本号更新: 0.12.11 → 0.13.0
This commit is contained in:
@@ -23,7 +23,6 @@ import { initHistoryModal, closeHistoryModal } from './components/history-modal.
|
||||
import { initMemoryModal } from './components/memory-modal.js';
|
||||
import { initToolsModal, closeToolsModal } from './components/tools-modal.js';
|
||||
import { initTokenDashboard, closeTokenDashboard } from './components/token-dashboard.js';
|
||||
import { initMemoryManager } from './services/memory-manager.js';
|
||||
import { setToolEnabled, setRunCommandMode, refreshMCPTools } from './services/tool-registry.js';
|
||||
import { startAllMCPServers } from './services/mcp-client.js';
|
||||
import { initToolConfirmModal } from './components/tool-confirm-modal.js';
|
||||
@@ -321,7 +320,6 @@ async function init(): Promise<void> {
|
||||
// ── 防御性重置:确保首次启动不会遗留脏状态 ──
|
||||
state.set('toolCallingEnabled', true);
|
||||
state.set('runCommandMode', 'confirm'); // 默认需确认
|
||||
state.set('memoryEnabled', true);
|
||||
state.set('thinkEnabled', false);
|
||||
|
||||
initLogPanel(); // ← 日志面板最先初始化,确保后续 init 日志能显示
|
||||
@@ -346,9 +344,13 @@ async function init(): Promise<void> {
|
||||
|
||||
await checkConnection();
|
||||
await loadModels();
|
||||
await initMemoryManager();
|
||||
await loadSearxngConfig(db);
|
||||
|
||||
// ── MEMORY.md 初始化 ──
|
||||
import('./services/memory-service.js').then(({ initMemoryFile }) => {
|
||||
initMemoryFile().catch(() => {});
|
||||
});
|
||||
|
||||
// ── Harness Engineering 系统初始化 ──
|
||||
initHarnessHooks();
|
||||
initVerificationSystem();
|
||||
@@ -435,9 +437,6 @@ async function init(): Promise<void> {
|
||||
await startAllMCPServers();
|
||||
await refreshMCPTools();
|
||||
|
||||
// ── Agent 记忆设置 ──
|
||||
const memoryEnabled = await db.getSetting('memoryEnabled', true);
|
||||
state.set('memoryEnabled', memoryEnabled);
|
||||
|
||||
(document.querySelector('#chatInput') as HTMLElement)?.focus();
|
||||
|
||||
@@ -471,6 +470,10 @@ async function init(): Promise<void> {
|
||||
setupDesktopIntegration();
|
||||
initHarnessHooks();
|
||||
initVerificationSystem();
|
||||
// ── MEMORY.md 初始化(fallback 路径)──
|
||||
import('./services/memory-service.js').then(({ initMemoryFile }) => {
|
||||
initMemoryFile().catch(() => {});
|
||||
});
|
||||
checkConnection().then(loadModels);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user