自动从代码库生成 AGENTS.md 文档的开源工具,让 AI Agent 能读懂你的项目结构、依赖关系和架构决策。告别手写文档永远跟不上代码变更的困境。
01 聊聊痛点
每次新人入职,第一件事就是问"这个模块怎么跑"。我翻出半年前写的 README,跑了一下发现命令已经不对了,依赖版本也变了。新人一脸懵,我也一脸尴尬。更惨的是,现在团队开始用编码 Agent 帮忙写代码,结果 Agent 读不懂项目结构,生成的代码跟现有架构完全不搭,改一个接口牵出一堆 bug。
说实话,文档这东西,写的时候没人看,不写的时候全员骂。手写文档永远跟不上代码变更的速度,代码注释又不够结构化,Agent 更是读不懂你那散落各处的零碎说明。我之前试过用各种文档生成工具,出来的东西要么太学术,要么太粗糙,Agent 根本没法用。
02 核心问题
为什么现有方案总是不行?
手写文档永远过时。 代码改了,文档没改,这是全行业的常态。不是大家懒,是真的顾不上。每次发版前突击更新文档,那滋味谁写谁知道。
代码注释不够结构化。 注释能解释一行代码干嘛的,但解释不了模块之间的关系、数据流向、架构决策。Agent 需要的是结构化的知识,不是零散的注释。
Agent 读不懂你的代码库。 这才是最要命的。现在大家都在用 Cursor、Claude Code 这些编码 Agent,但 Agent 对项目的理解全靠上下文窗口里那点代码。项目一大,Agent 就抓瞎,生成的代码跟现有架构南辕北辙。
03 这个工具是什么
OpenWiki 是 LangChain 出品的一个 CLI 工具,专门为编码 Agent 设计,能自动生成和维护代码库文档。一句话:它把你的代码库变成 Agent 能读懂的结构化知识库。
两周近万星,这个涨星速度说明痛点有多普遍。
关键特性:
• 自动分析代码库,生成结构化文档
• 文档自动追加到 AGENTS.md 和 CLAUDE.md,编码 Agent 直接引用
• 支持 GitHub Actions 和 GitLab CI,PR/MR 自动更新文档
• 多种 LLM 提供商可选,不绑定单一平台
• 支持 LangSmith 追踪,文档生成过程可观测
04 杀手级功能
自动写入 AGENTS.md / CLAUDE.md
这是我觉得最聪明的设计。OpenWiki 生成的文档不是扔到一个没人看的目录里,而是直接追加到 AGENTS.md 和 CLAUDE.md。这两个文件是 Cursor、Claude Code 等编码 Agent 的"说明书",Agent 启动时会自动读取。等于说,文档生成完,Agent 就能直接用了,零配置。

CI 自动更新文档
代码变了,文档自动跟着变。OpenWiki 支持 GitHub Actions 和 GitLab CI,每次提交代码时自动检查文档是否需要更新,需要的话就提一个 PR/MR。我再也不用发版前突击更新文档了,这个功能直接省了我每周至少两小时的文档维护时间。

多提供商支持,不绑死一家
支持 OpenRouter、Fireworks、Baseten、OpenAI、Anthropic,还有 OpenAI 兼容接口。我用的就是 OpenRouter,一个 Key 搞定多个模型切换,不用每个平台单独注册。这点比那些只支持自家模型的工具强太多了。
05 在 Hermes Agent 里用
我日常用 Hermes Agent 做开发,OpenWiki 配合起来有几个实战场景特别顺手:
场景一:新项目上手。 克隆一个陌生项目后,先跑一遍 OpenWiki,AGENTS.md 里就有了完整的模块说明和架构概览。然后让 Hermes Agent 基于这些文档帮我分析代码、写测试,效率比裸读代码高太多了。
场景二:多人协作同步。 团队里有人改了核心模块的接口,CI 自动更新文档并提 PR。我合并代码后,Hermes Agent 读到的就是最新的文档,不会基于过时信息写代码。
场景三:代码审查辅助。 提 MR 前,让 OpenWiki 重新生成文档,对比变更部分,哪些模块的文档受影响了,一目了然。比我自己翻代码找影响范围靠谱多了。
06 配置教程
安装很简单,一行命令搞定:
● ● ●
1# 全局安装
2npm install -g openwiki
3
4# 在项目根目录初始化
5openwiki --init
初始化时会交互式配置,按提示走就行:
● ● ●
1? Select inference provider: OpenRouter
2? Enter API key: sk-or-***(你的 Key,输入时不会明文显示)
3? Select LLM model: anthropic/claude-sonnet-4-20250514
4? Enable LangSmith tracing? (optional) No
API Key 配置完存在本地配置文件里,不会提交到代码仓库。如果你不想交互式配置,也可以用非交互模式:
● ● ●
1# 非交互模式,适合 CI 环境
2openwiki -p
配置好之后,每次运行 openwiki 就会自动分析代码库、生成文档、追加到 AGENTS.md 和 CLAUDE.md。
如果要用 CI 自动更新,在 GitHub Actions 里加个 workflow:
● ● ●
1# .github/workflows/openwiki.yml
2name: Update Docs
3on:
4push:
5branches: [main]
6jobs:
7update-docs:
8runs-on: ubuntu-latest
9steps:
10- uses: actions/checkout@v4
11- run: npm install -g openwiki
12- run: openwiki -p
13env:
14OPENWIKI_API_KEY: ${{ secrets.OPENWIKI_API_KEY }}
15# 如果文档有变更,自动提 PR
07 为什么值得关注
OpenWiki 的本质洞察是:文档不是给人看的,是给 Agent 看的。 这个视角转换太重要了。
以前我们写文档,格式要好看、排版要讲究、措辞要专业。但 Agent 不在乎这些,Agent 在乎的是结构清晰、信息准确、关系明确。OpenWiki 就是按 Agent 视角的文档生成器,它产出的文档天然适配 Agent 的阅读方式。
LangChain 出品,两周近万星,说明这个方向踩中了真实痛点。随着编码 Agent 越来越普及,"让 Agent 理解你的代码库"会变成基础设施级别的需求。OpenWiki 不是又一个文档生成工具,它是 Agent 时代的基础设施。
08 快速上手
三步搞定:
● ● ●
1# 1. 安装
2npm install -g openwiki
3
4# 2. 初始化配置
5openwiki --init
6
7# 3. 生成文档
8openwiki
跑完这三步,你的 AGENTS.md 和 CLAUDE.md 就有内容了,编码 Agent 立刻就能用上。我上周在一个 5 万行的项目上试了一下,从安装到文档生成完毕,不到十分钟。比我自己写 README 快了不知道多少倍,而且覆盖面比我手写的全多了。
当然,LLM 生成的文档不可能百分百准确,关键逻辑还是得自己过一遍。但有个 90 分的自动文档,总比没有文档或者过时文档强。毕竟,烂文档最烂的地方不是写得差,是没人维护,而 OpenWiki 解决的恰恰是维护问题。
编制:十三子悠 公众号:编译完就下班
夜雨聆风