工作原理
从"你跟 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 锚定到具体函数,并自动追踪过期。