代码改了文档再也不会过时:LangChain开源OpenWiki,用git diff增量更新代码库文档并自动告诉AI去读
代码写完、功能测完,准备提交项目了,结果打开 README 半天不知道从哪写起。不是不会写,是真不想写,一般都拖到最后。更麻烦的是,代码改了几次,文档很快又跟不上了。
LangChain 最近开源了一个叫 OpenWiki 的 CLI 工具,专门解决这个问题。它的作用是让 AI 帮你读代码、写文档,并且每天自动同步更新。在 GitHub 上已经收获了 10100 多个 Star。
实际使用体验
打开终端,运行 npm install -g openwiki 全局安装。装好之后进入项目目录,运行 openwiki code --init,会让你选择一个 AI 模型(如 OpenAI、Anthropic),填入 API Key 之后就开始自动读取整个项目的代码结构。
它会对目录、模块、函数和注释进行分析,理解代码逻辑,5 分钟之内就能完成一份规范的文档。执行完会看到一个 openwiki/ 目录,里面包含架构说明、安装配置、API 端点列表、开发规范等内容。
同时还会在根目录生成一个 AGENTS.md 文件,作用是引导 Agent 去读生成的 wiki 文档来提高效率。
核心功能
一个命令生成整个文档。 它不会只扫描一遍文件目录,而是先对整个项目进行分析,包括目录结构、模块关系、函数接口和代码注释,弄清楚项目的组织方式,然后自动生成五种类型的文件:项目概览、项目结构图、安装与配置说明、API 端点列表、开发规范。生成的文档放在 openwiki/ 目录下,不会影响项目结构。
每天自动同步。 它提供了一个 --update 参数,更新文档时底层用 git diff 获取代码变化内容,让 AI 对变化进行分析,只更新被影响到的文档,不用每次重新生成全部文档,可以省不少 token。
自动告诉 AI 去读文档。 文档生成完后,它会在 AGENTS.md 中添加一条提示,让 Agent 去读生成的 Wiki。设计很巧妙,并不是把所有文档都放到指令文件里,而是只放一个简单的指针,用到的时候再查询,又可以省一些 token。
完全自动化。 提供完整的 workflow,可以按计划执行(例如每天一次),自动生成 PR 来更新文档,不会直接提交到主分支,可以等到 review 之后再合并来保证文档质量。workflow 配置参考 examples/openwiki-update.yml,复制到 .github/workflows/ 目录下即可使用。
支持多种模型,成本可控。 支持 OpenRouter、OpenAI、Anthropic、Fireworks、DeepSeek 等多种 provider,可以用 Claude Sonnet,也可以用价格更低的模型如 DeepSeek。配置保存在本地的 ~/.openwiki/.env 文件中,不包含在 git 历史里。还可以设置自己的 baseURL,接入自己搭建的 gateway 或代理。预定义模型包括 GLM 5.2、Kimi K2.6、Sonnet 5 等,也可以自定义 model ID,支持 OpenAI-compatible endpoints。
安装与使用
全局安装:
npm install -g openwiki
进入项目目录执行初始化:
openwiki code --init
选择模型并填写 API Key,即可自动生成文档。要实现自动更新,把示例 workflow 复制到 .github/workflows/ 目录下,每天自动运行,只需要进行 Merge。
注意事项
第一次跑大项目时 token 消耗会比较大,如果项目有几万行代码,第一次生成可能花费几美元,建议先从小项目开始试手。
如果代码质量很差或者没有注释,AI 可能生成质量不高的文档,它无法理解透彻,也写不出好的东西。
敏感信息可能会进文档,如果代码中直接写入了 token 或密码,生成之后要进行一次检查,确认没有泄露再提交到仓库。
项目基于 MIT 协议开放。
开源地址:https://github.com/langchain-ai/openwiki