UNPKG

@qianjue/mcp-memory-server

Version:

A Model Context Protocol (MCP) server for intelligent memory management with vector search capabilities

164 lines 4.68 kB
import { MemoryEntry, CreateMemoryInput, UpdateMemoryInput, MemoryFilter, ApiResponse, MemoryStats, CreateFolderInput, RenameFolderInput, DeleteFolderInput, FolderInfo, FolderListResponse } from '../types/memory.js'; import { VectorSearchResult, VectorStats, SemanticSearchOptions, VectorApiResponse } from '../types/vector.js'; import { PerformanceMetrics, SystemMetrics } from '../utils/PerformanceMonitor.js'; export declare class MemoryManager { private fileManager; private config; private cache; private index; private isInitialized; private embeddingManager; private vectorStore; private vectorEnabled; constructor(storagePath?: string, cacheSize?: number); /** * 初始化记忆管理器(加载现有记忆到缓存和索引) */ private initialize; /** * 设置存储路径 */ setStoragePath(storagePath: string): Promise<ApiResponse>; /** * 创建记忆 */ createMemory(input: CreateMemoryInput): Promise<ApiResponse<MemoryEntry>>; /** * 读取记忆 */ readMemories(filter?: MemoryFilter): Promise<ApiResponse<MemoryEntry[]>>; /** * 更新记忆 */ updateMemory(memoryId: string, input: UpdateMemoryInput): Promise<ApiResponse<MemoryEntry>>; /** * 删除记忆 */ deleteMemory(memoryId: string): Promise<ApiResponse>; /** * 获取记忆统计信息 */ getMemoryStats(): Promise<ApiResponse<MemoryStats>>; /** * 根据 ID 查找记忆 */ private findMemoryById; /** * 应用过滤器到记忆列表 */ private applyFilters; /** * 获取记忆文件路径 */ private getMemoryFilePath; /** * 清理旧的对话记忆 */ cleanupOldConversations(maxAge?: number): Promise<ApiResponse<number>>; /** * 检查是否有搜索条件 */ private hasSearchCriteria; /** * 获取增强的记忆统计信息 */ getEnhancedStats(): Promise<ApiResponse<{ memoryStats: MemoryStats; cacheStats: { size: number; maxSize: number; hitCount: number; missCount: number; hitRate: number; }; indexStats: { contentTerms: number; tags: number; types: number; conversations: number; metadataKeys: number; dates: number; }; performanceStats: { totalOperations: number; uniqueOperations: number; averageOperationTime: number; slowestOperation: PerformanceMetrics | null; fastestOperation: PerformanceMetrics | null; mostFrequentOperation: PerformanceMetrics | null; systemMetrics: SystemMetrics; }; }>>; /** * 配置嵌入提供商 */ configureEmbedding(config: any): Promise<VectorApiResponse>; /** * 语义搜索记忆 */ semanticSearch(options: SemanticSearchOptions): Promise<VectorApiResponse<VectorSearchResult[]>>; /** * 为现有记忆生成嵌入向量 */ generateEmbeddingsForExistingMemories(): Promise<VectorApiResponse<{ processed: number; failed: number; }>>; /** * 获取向量统计信息 */ getVectorStats(): Promise<VectorApiResponse<VectorStats>>; /** * 计算两个文本的相似度 */ calculateSimilarity(text1: string, text2: string): Promise<VectorApiResponse<{ similarity: number; }>>; /** * 合并向量搜索和关键词搜索结果 */ private combineSearchResults; /** * 检查向量功能是否启用 */ isVectorEnabled(): boolean; /** * 获取嵌入提供商信息 */ getEmbeddingProviderInfo(): any; /** * 创建文件夹 */ createFolder(input: CreateFolderInput): Promise<ApiResponse<FolderInfo>>; /** * 删除文件夹 */ deleteFolder(input: DeleteFolderInput): Promise<ApiResponse<{ deletedMemories: number; }>>; /** * 重命名文件夹 */ renameFolder(input: RenameFolderInput): Promise<ApiResponse<FolderInfo>>; /** * 列出所有文件夹 */ listFolders(): Promise<ApiResponse<FolderListResponse>>; /** * 获取文件夹中的所有记忆 */ private getMemoriesInFolder; /** * 保存文件夹信息 */ private saveFolderInfo; /** * 删除文件夹信息 */ private removeFolderInfo; /** * 获取父文件夹路径 */ private getParentPath; } //# sourceMappingURL=MemoryManager.d.ts.map