UNPKG

@promptx/cli

Version:

DPML-powered AI prompt framework - Revolutionary AI-First CLI system based on Deepractice Prompt Markup Language. Build sophisticated AI agents with structured prompts, memory systems, and execution frameworks.

143 lines (124 loc) 4.7 kB
// 测试 remember 功能的脚本 const { MindService } = require('../lib/core/cognition/memory/mind/MindService'); const { NetworkSemantic } = require('../lib/core/cognition/memory/mind/components/NetworkSemantic'); const path = require('path'); const fs = require('fs').promises; async function testRemember() { console.log('🧪 开始测试 remember 功能...\n'); // 设置测试目录 const testDir = path.join(__dirname, '../../.test-memory'); // 清理测试目录 try { await fs.rm(testDir, { recursive: true, force: true }); } catch (e) {} // 创建 MindService 实例 const mindService = new MindService(); mindService.setStoragePath(testDir); console.log('🚀 Prime 语义网络'); try { const primeResult = await mindService.primeSemantic(); console.log('✅ Prime 成功,初始状态:'); console.log(primeResult); console.log(''); } catch (error) { console.error('❌ Prime 失败:', error.message); return; } console.log('📝 测试1: 第一次 remember'); const mindmap1 = `mindmap ((记忆系统)) 测试功能 remember功能 正常工作验证 recall功能 架构设计 持久化方案 二进制格式`; try { const semantic1 = await mindService.remember(mindmap1); console.log('✅ 第一次 remember 成功'); console.log(' - Schemas 数量:', semantic1.getAllSchemas().length); console.log(' - Schema 名称:', semantic1.getAllSchemas().map(s => s.name)); console.log(' - Cues 总数:', semantic1.getAllCues().length); console.log(''); } catch (error) { console.error('❌ 第一次 remember 失败:', error.message); return; } console.log('📝 测试2: 第二次 remember(新 Schema)'); const mindmap2 = `mindmap ((性能优化)) 缓存策略 内存缓存 磁盘缓存 算法优化 时间复杂度 空间复杂度`; try { const semantic2 = await mindService.remember(mindmap2); console.log('✅ 第二次 remember 成功'); console.log(' - Schemas 数量:', semantic2.getAllSchemas().length); console.log(' - Schema 名称:', semantic2.getAllSchemas().map(s => s.name)); console.log(' - Cues 总数:', semantic2.getAllCues().length); console.log(''); } catch (error) { console.error('❌ 第二次 remember 失败:', error.message); return; } console.log('📝 测试3: 第三次 remember(合并到现有 Schema)'); const mindmap3 = `mindmap ((记忆系统)) 测试功能 集成测试 单元测试 性能测试 压力测试 负载测试`; try { const semantic3 = await mindService.remember(mindmap3); console.log('✅ 第三次 remember 成功(应该合并到第一个 Schema)'); console.log(' - Schemas 数量:', semantic3.getAllSchemas().length); console.log(' - Schema 名称:', semantic3.getAllSchemas().map(s => s.name)); // 查看第一个 Schema 的详细信息 const memorySchema = semantic3.findSchema('记忆系统'); if (memorySchema) { console.log(' - "记忆系统" Schema 的 Cues:', memorySchema.getCues().map(c => c.word)); } console.log(''); } catch (error) { console.error('❌ 第三次 remember 失败:', error.message); return; } console.log('🔍 测试4: 验证持久化'); try { // 等待异步持久化完成 console.log(' - 等待异步持久化完成...'); await new Promise(resolve => setTimeout(resolve, 100)); // 创建新的 MindService 实例来验证持久化 const newMindService = new MindService(); newMindService.setStoragePath(testDir); // 重新加载,验证数据是否持久化 const loadedSemantic = await NetworkSemantic.load(testDir, 'global-semantic'); console.log('✅ 持久化验证成功'); console.log(' - 加载的 Schemas 数量:', loadedSemantic.getAllSchemas().length); console.log(' - Schema 名称:', loadedSemantic.getAllSchemas().map(s => s.name)); console.log(' - Cues 总数:', loadedSemantic.getAllCues().length); console.log(''); } catch (error) { console.error('❌ 持久化验证失败:', error.message); return; } console.log('🎨 测试5: 导出为 mindmap'); try { const exportedMindmap = await mindService.exportToMindmap(); console.log('✅ 导出成功,mindmap 内容:'); console.log('---'); console.log(exportedMindmap); console.log('---'); } catch (error) { console.error('❌ 导出失败:', error.message); } console.log('\n✨ 测试完成!'); } // 运行测试 testRemember().catch(console.error);