基于 ContextWeaver 的增强版本,在保留原有语义检索核心的基础上,新增项目记忆系统与跨项目知识共享能力。
| 模块 | 功能 |
|---|---|
| 项目记忆系统 | 三层渐进式路由(Catalog → Global → Feature),记录和检索模块职责、架构决策、项目档案 |
| 跨项目记忆 Hub | 多项目注册、FTS5 全文搜索、关系图谱、依赖链分析 |
| 自动记忆记录 | 会话结束自动提取模块记忆,AI 辅助提取建议 |
| 异步索引队列 | SQLite 持久化任务队列 + 守护进程后台消费 |
| MCP 工具扩展 | 从 1 个工具扩展到 18 个(新增记忆 CRUD、跨项目查询、自动记录、Catalog 维护) |
| Payload 宣错 | Embedding 载荷过大时自动定位并跳过问题文件 |
- FeatureMemory:模块职责、API 端点、依赖关系、数据流
- DecisionRecord:架构决策、替代方案、决策理由、影响
- ProjectProfile:技术栈、项目结构、开发约定
查询请求 → MemoryRouter
├─ Tier 0: Catalog(~1-2KB,始终加载,路由索引)
├─ Tier 1: Global(始终加载,profile + conventions + cross-cutting)
└─ Tier 2: Feature(按需加载,匹配的模块记忆)
路由匹配策略:
- keyword:关键词匹配模块名
- path:文件路径前缀匹配 triggerPaths
- scope:显式加载指定作用域下所有模块(可选级联)
- MMR 去重:自动优化加载结果的多样性(λ=0.65)
find_memory:关键词模糊搜索功能记忆record_memory/delete_memory:功能记忆 CRUDrecord_decision:记录架构决策maintain_memory_catalog:统一维护入口(check / rebuild)load_module_memory:按需渐进式加载list_memory_catalog:查看 Catalog 路由索引
集中管理多个项目的功能记忆,支持跨项目知识复用。
- 多项目注册:
register_project/list_projects - 跨项目搜索:
query_shared_memories(支持 FTS5 全文搜索 + 分类过滤) - 关系图谱:
link_memories(depends_on / extends / references / implements) - 依赖链分析:
get_dependency_chain(递归 CTE 遍历完整依赖图) - 统计信息:
get_memory_stats
~/.contextweaver/memory-hub.db # 跨项目记忆中心数据库(SQLite)
- session_end:会话结束时提供摘要,自动提取并记录新模块记忆(
autoRecord=true时自动保存) - suggest_memory:指定模块名和文件列表,AI 辅助提取记忆结构
| 分类 | 工具 | 说明 |
|---|---|---|
| 代码检索 | codebase-retrieval |
语义 + 精确混合搜索 |
| 记忆搜索 | find_memory |
关键词搜索功能记忆 |
| 记忆写入 | record_memory |
记录模块功能记忆 |
| 记忆删除 | delete_memory |
删除功能记忆 |
| 决策记录 | record_decision |
记录架构决策 |
| 项目档案 | get_project_profile |
获取项目档案 |
| 渐进加载 | load_module_memory |
按需加载模块记忆(支持 keyword/path/scope 路由 + MMR) |
| Catalog 查看 | list_memory_catalog |
查看路由索引 |
| Catalog 维护 | maintain_memory_catalog |
统一 check/rebuild 入口 |
| 跨项目搜索 | query_shared_memories |
跨项目 FTS5 全文搜索 |
| 关系图谱 | link_memories |
创建模块间关系 |
| 依赖链 | get_dependency_chain |
递归获取依赖链 |
| 项目注册 | register_project |
注册项目到 Hub |
| 项目列表 | list_projects |
列出所有注册项目 |
| 统计信息 | get_memory_stats |
Hub 统计 |
| 会话结束 | session_end |
自动提取并记录记忆 |
| 记忆建议 | suggest_memory |
AI 辅助提取模块记忆 |
src/
├── memory/ # 项目记忆系统
│ ├── index.ts # 模块入口
│ ├── types.ts # FeatureMemory, DecisionRecord, ProjectProfile
│ ├── MemoryRouter.ts # 三层渐进式路由器
│ ├── MemoryStore.ts # 项目级记忆持久化
│ ├── MemoryFinder.ts # 功能记忆搜索
│ ├── MemoryHubDatabase.ts # 跨项目记忆 Hub
│ ├── SharedMemoryHub.ts # 共享记忆库管理
│ ├── MemoryAutoRecorder.ts # 会话自动记录
│ └── LegacyMemoryImporter.ts # 旧格式导入
├── indexing/ # 异步索引队列
│ ├── queue.ts # SQLite 任务队列
│ ├── daemon.ts # 守护进程
│ └── types.ts # 队列类型
├── storage/ # 索引快照管理
│ └── layout.ts # 准备/校验/原子切换/清理
├── indexer/
│ └── payloadTooLarge.ts # Embedding 载荷过大定位
├── mcp/tools/ # MCP 工具实现
│ ├── projectMemory.ts # 记忆 CRUD
│ ├── memoryHub.ts # 跨项目记忆
│ ├── loadModuleMemory.ts # 渐进式模块加载
│ ├── listMemoryCatalog.ts # Catalog 查看
│ ├── autoRecord.ts # 自动记录
│ └── indexPolicy.ts # 索引策略
└── ...
MIT