程序员最讨厌的两件事:别人不写注释,自己写文档。
这话放在 AI Agent 开发时代,成了真问题——你写的代码不只是给人看的,还要给 AI 助手看。Cursor、Claude Code、Github Copilot 读代码的能力很强,但前提是项目里有个像样的文档结构,告诉 Agent 你的代码怎么组织的、每个模块干什么的、接口怎么调。
没有文档的代码库,Agent 进去跟人进了迷宫一样。
LangChain 最近开源的 OpenWiki,就是想解决这个问题的。装起来很简单:
npm install -g openwiki
在项目目录下跑 openwiki --init 配置 API Key,然后执行 openwiki "为这个仓库生成文档",它就开始扫描代码库,输出结构化文档。
生成的文档放在 openwiki/ 目录下。如果目录已存在,它会对比代码变化,只更新改动的部分,而不是全量重写。用完一次之后 CLI 不会退出,可以继续提要求,比如"把 API 文档写详细点""给新增模块加个使用示例"——像在跟人聊天一样迭代文档。
OpenWiki 还有一个值得注意的设计:它会自动修改项目里的 AGENTS.md 或 CLAUDE.md 文件。这两个文件的作用是告诉 AI 助手项目的组织方式。OpenWiki 会往里面追加一段提示,让 AI 去翻 openwiki/ 目录里的文档。结果就是:你写一次文档,之后每次 Cursor 或 Claude Code 打开项目,它们都会自动去读 OpenWiki 生成的内容来理解代码结构。
对于 CI 集成,OpenWiki 提供了 GitHub Actions 和 GitLab CI 的配置文件。设置好之后,每次代码变更触发 CI,它会自动检查需要更新的文档部分,然后开一个 Pull Request,你可以 review 一下再合并。文档最常见的问题是「写的时候新鲜,一个月后就过期」,接入 CI 之后这个问题能得到缓解——文档不再是某个周五下午的记忆碎片,而是跟代码同步更新的活资料。
OpenWiki 支持 OpenRouter、Fireworks、Baseten、OpenAI、Anthropic 五家提供商,预置模型包括智谱 GLM 5.2、Kimi K2.6、Anthropic Sonnet 5 等。有自己部署模型网关的团队,可以通过 OpenAI 兼容端点接入,也可以走 Anthropic 兼容端点做自托管,所有数据不离开自己的网络。
值不值得用,看你的项目有没有这些问题:
- 已经在用 Cursor、Claude Code 或 Copilot 做日常开发,但项目没有文档
- 文档超过一个月没人动过了
- 新成员加入时问的第一句话是「这个模块是干啥的」
装一个 OpenWiki,花 5 分钟初始化,然后让它跑一次。生成的文档可能不如你手写的精致,但肯定比没有强。接入 CI 之后它会持续更新,这一点比追求一次性的完美文档更实际。
夜雨聆风