Skip to content

简介

问题

AI 写代码的时代,一个人 + AI 就能独立完成一个服务。效率很高,但每一个设计决策——为什么选方案 A 不选 B、接受了什么 trade-off、否决了什么——都不在 repo 里。

存 context 的地方不缺:CLAUDE.md、SDD 系统、Notion、commit message、PR description、AI 聊天记录。问题不在存储,而在存储之后:

  • 检索不行。 你在改一个函数,你需要的是跟 这个函数此刻 相关的决策。在一堆扁平文档里做关键词搜索不够用——你得先知道这个决策存在、大概在哪里,才能找到它。
  • 知识是孤立的。 auth 中间件的一个决策和支付流程的一个决策可能深度相关(一个导致了另一个),但在扁平文档里它们只是两段不相干的文字,知识之间没有有机关联。
  • 对人不友好。 原始 AI 对话记录太长,总结文档又丢失了细节。两种格式都无法帮助队友真正理解代码库为什么长成这样。

Context Chain 做什么

一个本地知识图谱,从代码库和 AI 编程对话中提取设计决策,存入 Memgraph,通过 MCP 协议喂给你的 coding AI。

现有的 context engineering 工具(OpenSpec、Git-AI、Dexicon)在 spec 或 repo 级别捕获知识。Context Chain 更深一层:

  • 锚定到函数 — 每条决策绑在具体函数上(通过 Joern CPG),不是笼统地挂在 repo 层面
  • 代码变了,决策跟着标记 — 改了代码,受影响的决策自动标为过期,不会悄悄烂掉
  • 提取的是决策本身 — 不是 prompt 摘要,不是原始聊天记录,而是 选了什么、否了什么、为什么这样选
  • 决策之间有关系CAUSED_BYDEPENDS_ONCONFLICTS_WITH,图上的边把相关决策串起来
  • 跑在你的订阅上 — 用 claude -p(Claude CLI),不花 API 钱。重活晚上跑,白天写代码时 coding AI 直接从图谱拿现成的 context,写代码速度更快
代码库 → Joern CPG → LLM 逐函数提取决策
    → Memgraph(图数据库)→ MCP Server(9 个工具)
        → Claude Code 写代码时自动获取上下文

技术栈

组件技术
图数据库Memgraph
代码分析Joern(CPG)
决策提取Claude CLI / Anthropic API
MCP ServerTypeScript + @modelcontextprotocol/sdk
DashboardHono + 原生 HTML/JS
容器Docker Compose

当前状态

核心管线(analyze_function + 全量扫描 + MCP Server + Dashboard + session 摄入 + Joern CPG + 跨 repo 关联)已在多 repo TypeScript 项目上实战验证。语义向量搜索和精炼管线已完成开发。

路线图

方向计划
消费层沉浸式 KT 系统和团队知识地图——帮 理解代码库,不只是帮 AI
Agent 支持目前支持 Claude Code;将接入 Cursor、Windsurf、Cline、Copilot 等 MCP 兼容 agent
多源摄入Slack、Notion、会议记录——不只是代码和 AI 对话
Spec 驱动工作流OpenSpec 风格:提案 → spec → 设计 → 实现,决策在实现后自动锚定

基于 Apache 2.0 协议发布