UNPKG

@gongfu/memory

Version:

Intelligent memory layer for Gongfu using mem0

1 lines 112 kB
{"version":3,"sources":["../src/memory-client.ts","../src/adapters/task-memory.ts","../src/adapters/agent-memory.ts","../src/adapters/user-preference.ts","../src/utils/memory-utils.ts","../src/index.ts"],"names":["task"],"mappings":"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","sourcesContent":["/**\n * Mem0 客户端封装\n * 提供 Gongfu 项目的记忆管理核心功能\n */\n\nimport { Memory as Mem0Client } from 'mem0ai'\nimport type {\n MemoryConfig,\n MemoryEntry,\n MemoryMetadata,\n SearchOptions,\n SearchResult,\n SearchFilter,\n MemoryExport,\n MemoryCategory\n} from './types'\n\n/**\n * 记忆客户端\n * 封装 mem0 的核心功能,提供类型安全的接口\n */\nexport class MemoryClient {\n private client: Mem0Client\n private config: MemoryConfig\n private defaultUserId: string\n private defaultProjectId?: string\n\n constructor(config: MemoryConfig) {\n this.config = config\n this.defaultUserId = config.userId || 'default'\n this.defaultProjectId = config.projectId\n\n // 初始化 mem0 客户端\n this.client = new Mem0Client({\n api_key: config.apiKey,\n ...config.config\n })\n }\n\n /**\n * 添加记忆\n */\n async add(\n content: string,\n metadata?: Partial<MemoryMetadata>\n ): Promise<MemoryEntry> {\n const fullMetadata: MemoryMetadata = {\n userId: this.defaultUserId,\n projectId: this.defaultProjectId,\n ...metadata,\n tags: metadata?.tags || [],\n createdAt: new Date(),\n updatedAt: new Date()\n }\n\n // 调用 mem0 添加记忆\n const result = await this.client.add(content, {\n user_id: fullMetadata.userId,\n metadata: this.serializeMetadata(fullMetadata)\n })\n\n return this.parseMemoryResult(result)\n }\n\n /**\n * 批量添加记忆\n */\n async batchAdd(\n memories: Array<{ content: string; metadata?: Partial<MemoryMetadata> }>\n ): Promise<MemoryEntry[]> {\n const results = await Promise.all(\n memories.map(({ content, metadata }) => this.add(content, metadata))\n )\n return results\n }\n\n /**\n * 搜索记忆\n */\n async search(\n query: string,\n options?: SearchOptions\n ): Promise<SearchResult[]> {\n const searchParams: any = {\n query,\n user_id: options?.filter?.userId || this.defaultUserId,\n limit: options?.limit || 10\n }\n\n // 添加过滤条件\n if (options?.filter) {\n searchParams.filters = this.buildFilters(options.filter)\n }\n\n const results = await this.client.search(searchParams)\n \n return results.map((result: any) => ({\n memory: this.parseMemoryResult(result),\n score: result.score || 0,\n highlights: result.highlights\n }))\n }\n\n /**\n * 批量搜索\n */\n async batchSearch(\n queries: string[],\n options?: SearchOptions\n ): Promise<SearchResult[][]> {\n const results = await Promise.all(\n queries.map(query => this.search(query, options))\n )\n return results\n }\n\n /**\n * 获取特定记忆\n */\n async get(memoryId: string): Promise<MemoryEntry | null> {\n try {\n const result = await this.client.get(memoryId)\n return result ? this.parseMemoryResult(result) : null\n } catch (error) {\n console.error('获取记忆失败:', error)\n return null\n }\n }\n\n /**\n * 更新记忆\n */\n async update(\n memoryId: string,\n content: string,\n metadata?: Partial<MemoryMetadata>\n ): Promise<MemoryEntry> {\n const existingMemory = await this.get(memoryId)\n if (!existingMemory) {\n throw new Error(`记忆不存在: ${memoryId}`)\n }\n\n const updatedMetadata: MemoryMetadata = {\n ...existingMemory.metadata,\n ...metadata,\n updatedAt: new Date()\n }\n\n const result = await this.client.update(memoryId, {\n data: content,\n metadata: this.serializeMetadata(updatedMetadata)\n })\n\n return this.parseMemoryResult(result)\n }\n\n /**\n * 删除记忆\n */\n async delete(memoryId: string): Promise<boolean> {\n try {\n await this.client.delete(memoryId)\n return true\n } catch (error) {\n console.error('删除记忆失败:', error)\n return false\n }\n }\n\n /**\n * 删除所有记忆\n */\n async deleteAll(filter?: SearchFilter): Promise<number> {\n // 先搜索符合条件的记忆\n const memories = await this.search('*', { filter, limit: 10000 })\n \n // 批量删除\n const deletePromises = memories.map(({ memory }) => \n this.delete(memory.id)\n )\n \n const results = await Promise.all(deletePromises)\n return results.filter(success => success).length\n }\n\n /**\n * 导出用户记忆\n */\n async exportUserMemories(userId?: string): Promise<MemoryExport> {\n const targetUserId = userId || this.defaultUserId\n \n // 获取所有记忆\n const memories = await this.search('*', {\n filter: { userId: targetUserId },\n limit: 10000\n })\n\n // 统计信息\n const byCategory: Record<string, number> = {}\n let oldestDate = new Date()\n let newestDate = new Date(0)\n\n memories.forEach(({ memory }) => {\n const category = memory.metadata.category || 'other'\n byCategory[category] = (byCategory[category] || 0) + 1\n \n if (memory.createdAt < oldestDate) oldestDate = memory.createdAt\n if (memory.createdAt > newestDate) newestDate = memory.createdAt\n })\n\n return {\n version: '1.0',\n exportedAt: new Date(),\n userId: targetUserId,\n projectId: this.defaultProjectId,\n memories: memories.map(({ memory }) => memory),\n statistics: {\n totalCount: memories.length,\n byCategory: byCategory as Record<MemoryCategory, number>,\n dateRange: {\n oldest: oldestDate,\n newest: newestDate\n }\n }\n }\n }\n\n /**\n * 导入记忆\n */\n async importMemories(data: MemoryExport): Promise<number> {\n let imported = 0\n \n for (const memory of data.memories) {\n try {\n await this.add(memory.content, memory.metadata)\n imported++\n } catch (error) {\n console.error('导入记忆失败:', error, memory)\n }\n }\n \n return imported\n }\n\n /**\n * 清除用户记忆\n */\n async clearUserMemories(userId?: string): Promise<number> {\n return this.deleteAll({ userId: userId || this.defaultUserId })\n }\n\n /**\n * 清除项目记忆\n */\n async clearProjectMemories(projectId?: string): Promise<number> {\n return this.deleteAll({ \n projectId: projectId || this.defaultProjectId \n })\n }\n\n /**\n * 获取记忆统计\n */\n async getStats(filter?: SearchFilter): Promise<{\n total: number\n byCategory: Record<MemoryCategory, number>\n byUser: Record<string, number>\n averageScore: number\n }> {\n const memories = await this.search('*', { filter, limit: 10000 })\n \n const byCategory: Record<string, number> = {}\n const byUser: Record<string, number> = {}\n let totalScore = 0\n\n memories.forEach(({ memory, score }) => {\n const category = memory.metadata.category || 'other'\n byCategory[category] = (byCategory[category] || 0) + 1\n \n const userId = memory.metadata.userId\n byUser[userId] = (byUser[userId] || 0) + 1\n \n totalScore += score\n })\n\n return {\n total: memories.length,\n byCategory: byCategory as Record<MemoryCategory, number>,\n byUser,\n averageScore: memories.length > 0 ? totalScore / memories.length : 0\n }\n }\n\n /**\n * 预热缓存\n */\n async warmCache(options: {\n userId?: string\n categories?: MemoryCategory[]\n limit?: number\n }): Promise<void> {\n const { userId, categories, limit = 100 } = options\n \n // 预加载常用记忆\n const filter: SearchFilter = {\n userId: userId || this.defaultUserId\n }\n \n if (categories?.length) {\n filter.category = categories\n }\n \n await this.search('*', { filter, limit })\n }\n\n // ============= 私有方法 =============\n\n /**\n * 序列化元数据\n */\n private serializeMetadata(metadata: MemoryMetadata): Record<string, any> {\n return {\n ...metadata,\n createdAt: metadata.createdAt?.toISOString(),\n updatedAt: metadata.updatedAt?.toISOString(),\n lastAccessedAt: metadata.lastAccessedAt?.toISOString()\n }\n }\n\n /**\n * 解析记忆结果\n */\n private parseMemoryResult(result: any): MemoryEntry {\n const metadata = result.metadata || {}\n \n return {\n id: result.id || result.memory_id,\n content: result.memory || result.data || result.content,\n embedding: result.embedding,\n metadata: {\n userId: metadata.userId || this.defaultUserId,\n projectId: metadata.projectId || this.defaultProjectId,\n category: metadata.category,\n tags: metadata.tags || [],\n ttl: metadata.ttl,\n importance: metadata.importance,\n accessCount: metadata.accessCount || 0,\n lastAccessedAt: metadata.lastAccessedAt \n ? new Date(metadata.lastAccessedAt) \n : undefined,\n createdAt: metadata.createdAt \n ? new Date(metadata.createdAt) \n : new Date(),\n updatedAt: metadata.updatedAt \n ? new Date(metadata.updatedAt) \n : new Date()\n },\n score: result.score,\n createdAt: new Date(metadata.createdAt || Date.now()),\n updatedAt: new Date(metadata.updatedAt || Date.now())\n }\n }\n\n /**\n * 构建过滤器\n */\n private buildFilters(filter: SearchFilter): Record<string, any> {\n const filters: Record<string, any> = {}\n \n if (filter.projectId) {\n filters.projectId = filter.projectId\n }\n \n if (filter.category) {\n filters.category = Array.isArray(filter.category) \n ? { $in: filter.category }\n : filter.category\n }\n \n if (filter.tags?.length) {\n filters.tags = { $in: filter.tags }\n }\n \n if (filter.timeRange) {\n filters.createdAt = {}\n if (filter.timeRange.start) {\n filters.createdAt.$gte = filter.timeRange.start.toISOString()\n }\n if (filter.timeRange.end) {\n filters.createdAt.$lte = filter.timeRange.end.toISOString()\n }\n }\n \n if (filter.importance) {\n filters.importance = {}\n if (filter.importance.min !== undefined) {\n filters.importance.$gte = filter.importance.min\n }\n if (filter.importance.max !== undefined) {\n filters.importance.$lte = filter.importance.max\n }\n }\n \n return filters\n }\n}","/**\n * 任务记忆管理适配器\n * 专门处理任务相关的记忆,包括任务模式学习、智能建议等\n */\n\nimport { MemoryClient } from '../memory-client'\nimport type {\n MemoryConfig,\n TaskMemory,\n TaskPattern,\n TaskOutcome,\n TaskSuggestion,\n SearchResult\n} from '../types'\n\n/**\n * 任务接口(简化版,实际项目中应该从主项目导入)\n */\ninterface Task {\n id: string\n name: string\n type: string\n priority?: 'low' | 'normal' | 'high' | 'urgent'\n status?: string\n estimatedTime?: string\n actualTime?: string\n tags?: string[]\n description?: string\n owner?: string\n dependencies?: string[]\n}\n\n/**\n * 任务记忆适配器\n */\nexport class TaskMemoryAdapter {\n private memory: MemoryClient\n private userId: string\n private projectId?: string\n\n constructor(config: MemoryConfig) {\n this.memory = new MemoryClient(config)\n this.userId =