Skip to content

codefromkarl/ContextWeaver

Repository files navigation

ContextWeaver(增强版)

基于 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:功能记忆 CRUD
  • record_decision:记录架构决策
  • maintain_memory_catalog:统一维护入口(check / rebuild)
  • load_module_memory:按需渐进式加载
  • list_memory_catalog:查看 Catalog 路由索引

🔗 跨项目记忆 Hub

集中管理多个项目的功能记忆,支持跨项目知识复用。

核心能力

  • 多项目注册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 辅助提取记忆结构

📋 MCP 工具清单(18 个)

分类 工具 说明
代码检索 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

About

基于 ContextWeaver 的增强版 — 语义检索 + 项目记忆 + 跨项目知识共享

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors