Skip to content

工作原理

从"你跟 AI 写代码"到"你队友的 coding AI 拿到你的决策"的完整流程。

数据流

┌─────────────────────────────────────────────────┐
│                   数据来源                        │
│  AI 对话记录        源代码          文档           │
└────────┬──────────────────┬────────────┬─────────┘
         ▼                  ▼            ▼
┌─────────────────────────────────────────────────┐
│                  摄入层                           │
│  Session 摄入     Joern CPG       冷启动          │
│  (分段 → 提取)    (代码结构)      (LLM 推断)      │
└────────┬──────────────────┬────────────┬─────────┘
         ▼                  ▼            ▼
┌─────────────────────────────────────────────────┐
│             MEMGRAPH(图数据库)                   │
│  CodeEntity ◄──ANCHORED_TO──► DecisionContext    │
│  CALLS/CONTAINS 边          CAUSED_BY/DEPENDS_ON │
└───────────────────────┬─────────────────────────┘

┌─────────────────────────────────────────────────┐
│             MCP SERVER(9 个工具)                 │
│  五槽位检索 + 渐进披露                             │
└───────────────────────┬─────────────────────────┘

┌─────────────────────────────────────────────────┐
│  Claude Code / Cursor / 任何 MCP 兼容 AI          │
│  写代码时自动获取决策上下文                         │
└─────────────────────────────────────────────────┘

分步说明

1. 分析代码结构

Joern 把源代码解析成代码属性图(CPG)——有哪些函数、谁调用谁、文件包含什么。这个骨架是决策的锚定目标。

2. 提取决策

analyze(核心模块)逐函数读代码,从图谱查询调用者/被调用者,调 LLM 提取结构化决策。通过模板系统高度可配置。

Session 摄入 读取 Claude Code 对话记录,把对话分段,从每个段落中提取具体决策,包含理由、被否决的方案和代码锚点。

3. 决策存入图谱

每条决策成为 DecisionContext 节点,通过五个槽位索引:代码锚点、关键词、决策关联、元数据、语义向量。

4. Coding AI 查询图谱

你(或队友)编辑代码时,coding AI 通过 MCP 查询 Context Chain。从当前代码位置出发遍历图谱,匹配关键词,沿决策链扩散找到相关决策。

5. 图谱持续优化

精炼管线晚上自动跑:提升锚点精度、归一化关键词、检测过期决策、连接跨 session 的相关决策、标记覆盖空白。

跟其他方案的区别

传统文档 写一次就过时。Context Chain 持续捕获决策。

代码注释 解释代码做了什么。Context Chain 记录代码为什么这样写、否决了什么、决策之间的关系。

其他 context 工具 在 repo 级别捕获知识。Context Chain 锚定到具体函数,并自动追踪过期。

基于 Apache 2.0 协议发布