一个 IDEA 插件,让 Git Commit 自动变成结构化知识文档

21 阅读6分钟

你是不是也遇到过这些问题?

  • 新人入职,问你某个模块怎么跑的,你花了半天写了一份文档。下周代码改了,文档又过时了
  • 半年后回头看自己写的代码,完全不记得当初为什么这么设计
  • 产品经理问"这个功能的业务规则是什么",你翻了半天代码才拼凑出来
  • 团队里每个人脑子里都有一块业务知识,但没人能完整说出来

我们写代码的人,最缺的不是编码能力,而是把代码做了什么说清楚的能力。

但写文档这件事,大家都知道重要,就是没人愿意做——因为太枯燥了,而且代码一改,文档就废了。

如果文档能跟着代码自动生长呢?

Knowledge Archiver:让知识随代码自然沉淀

基于这个想法,我开发了一个 IntelliJ IDEA 插件 —— Knowledge Archiver(知识归档)

它的核心思路很简单:Git Commit 后自动调用 AI,把代码变更转化为结构化的业务知识文档。

不是生成代码注释,不是生成 API 文档,而是业务视角的知识——这个模块做了什么业务流程、状态机怎么流转、边界条件有哪些、运维要关注什么。

image.png

五个核心能力

1. Commit 自动归档:零人工介入

每次 Git Commit 成功后,插件在后台异步调用 AI 分析 diff,自动生成一份知识草稿。

开发者不需要任何额外操作,不需要写文档,不需要填表格。知识随代码自然沉淀。

内部流程是这样的:

  1. 提取 commit diff 和 commit message
  2. 从变更文件路径自动匹配所属模块(基于初始化时建立的目录映射,零 Token 消耗)
  3. 提取变更文件的当前内容作为上下文
  4. AI 分析变更并生成业务视角的知识条目
  5. 保存为草稿,等待人工审核

image.png image.png

2. 多视角知识文档:一份文档服务所有角色

传统知识库只有一种视角(通常是开发视角),导致产品、测试、运维都无法直接使用。

这个插件按 7 个视角组织每份文档:

视角核心关注AI 能自动填充?
开发视角业务流程、状态机、核心实现✅ 强
测试视角验收标准、边界场景⚠️ 部分
运维视角日志监控、常见故障⚠️ 部分
实施视角配置项、接口协议⚠️ 部分
产品视角需求背景、业务痛点❌ 人工补充
客户视角操作流程、功能入口❌ 人工补充
销售视角价值主张、核心优势❌ 人工补充

AI 能从代码推导技术细节,但"为什么做这个功能"只有产品经理知道。AI 做能做的,人做人该做的。

image.png

3. 深化分析:AI 自主多轮挖掘

初始化只生成文档骨架。对重点模块,可以触发「深化分析」:

  • AI 自己决定先读哪些源文件
  • 分析一轮后自动反思"还缺什么"
  • 继续读新文件补充,直到覆盖完整
  • 最多 8 轮,全程无需人工干预

最终产出一份包含完整业务流程图、状态机、业务规则的知识文档。而且深化分析会记录每轮用到的源文件清单,让你清楚知道文档的依据在哪里。

image.png

4. AI 对话交互:灵活补充

右侧面板直接和 AI 对话,AI 了解整个项目的上下文:

  • 问"工单管理的审批流程是什么",AI 从知识库检索并回答
  • 说"把报工匹配逻辑补充到知识文档",AI 直接写入
  • 支持写入前质量检查,自动检测"可能""或许""待确认"等不确定性表述,防止推测性内容污染知识库

对话界面采用气泡式聊天风格,实时显示处理步骤进度。

5. 知识库健康检查:确保文档不过时

代码改了一周,文档还准确吗?

一键扫描所有知识条目,检测引用的源文件是否已变更。如果发现变更,支持一键重新分析,确保知识库与最新代码同步。

这在多人协作场景下特别有用——负责人每周跑一次健康检查,就能保证知识库始终是最新的。

设计理念:文件即记忆,对话是工具

大多数 AI 工具依赖对话历史来"记住"上下文。但对话历史是易失的——重启丢失、窗口淘汰。

这个插件反其道而行:AI 的分析结果直接写入 Markdown 文件,下一轮从文件读取已有内容并追加。

这样做的好处:

  • 文件可被用户直接查看和编辑(Markdown 格式,任何编辑器都能打开)
  • 文件可被 Git 版本控制,追踪知识的演进历史
  • 文件不依赖 AI 服务的可用性,即使 API 挂了,已有知识不受影响
  • 多轮分析不会因为上下文窗口溢出而丢失早期结果

配合四层记忆体系:

层级解决什么问题
L1 元数据索引毫秒级定位模块,Commit 归档时不用扫描所有文件
L2 内容层Markdown 存储完整文档,人可读可编辑
L3 检索层本地优先 + AI 兜底,90% 查询零 Token 消耗
L4 输出标签自动发现跨模块依赖,构建知识关联网络

协同开发怎么用?

多人协作时,推荐由指定负责人定期在主分支上批量处理:

每周五下午:
1. git checkout main && git pull
2. 运行「从历史记录生成」→ 选择过去一周的 commit
3. AI 批量生成草稿 → 审查 → 升格为正式文档


每月一次:
1. 运行「知识库健康检查」
2. 检测过时文档 → 重新分析

其他开发者不需要安装插件,正常开发即可。

快速上手

  1. 安装到 IDEA:Settings → Plugins → ⚙️ → Install Plugin from Disk
  2. 配置 API(支持 DeepSeek、智谱、通义千问、Moonshot 等国产模型,BYOK 模式,密钥仅存本地)
  3. 点击「初始化项目知识库」,AI 分析项目结构并生成模块骨架
  4. 开始正常使用,Commit 后自动生成知识草稿

image.png

image.png

Token 消耗参考:

功能每次消耗频率
Commit 自动归档~5K-15K每次 Commit
初始化(每模块)~60K-90K一次性
深化分析(每轮)~85K-190K按需
AI 对话(每次)~12K-30K日常

最后

技术支持

如有问题或建议,欢迎反馈。

知识沉淀不应该是一件"大家都知道重要但就是不做"的事。

让 AI 来做这件枯燥的事,让人专注于更有价值的判断。

如遇见问题可参考使用说明文档信息:jzbamboo.feishu.cn/file/WmWnbY…

欢迎试用和反馈。