代码写完了文档怎么办? – 自动生成代码文档

写文档这件事,99% 的开发者都知道重要,但 90% 都选择”等有空再写”。LangChain 开源的 OpenWiki 给出了一个”作弊方案”:让 AI 替你写文档,写完还能放进 CI 自动更新。
什么场景下需要用?
场景 1:项目起步时,快速生成初始文档
新项目搭好了架子,功能也跑了七七八八,但文档还是一张白纸。OpenWiki 跑一遍,自动分析整个代码库,生成涵盖项目架构、模块说明、API 接口的初始 Wiki。而且它会把生成结果写入 openwiki/ 目录,根据你的代码库结构自动生成 AGENTS.md 或 CLAUDE.md 文件——告诉你的 AI 编程助手”文档在这里,以后查项目先看这里”。
场景 2:代码更新了,文档也需要同步
项目迭代半年后,文档早就和代码”分道扬镳”了。Flask 改成了 FastAPI,模块拆了又重建,但 README 还在说”这是一个 Flask 项目”。OpenWiki 的 --update 模式能对比代码变化,只更新有变动的部分,而不是全量重写。还可以配置 CI 工作流,让文档更新像 CI 测试一样自动化。
场景 3:多人协作时确保文档一致性
团队协作中,文档分散在 Notion、飞书、Confluence 等多个平台,各说各话。OpenWiki 生成的文档直接放在代码仓库里,和代码一起版本控制。每次合并请求都会触发文档更新检查,保证合并后的代码和文档永远同步。
怎么用?
安装
npm install -g openwiki
就这一条命令。OpenWiki 是用 Node.js 写的,全局安装后即可使用。
快速开始
初始化配置:
openwiki --init
首次运行会引导你配置 LLM 提供商(支持 OpenRouter、OpenAI、Anthropic 等)和 API Key。配置信息保存在 ~/.openwiki/.env。
生成项目文档:
openwiki
进入交互式 CLI,OpenWiki 会分析整个代码库并开始生成文档。
一行命令生成并退出:
openwiki "请为这个仓库生成完整的代码文档"
只生成不交互:
openwiki -p "Summarize what you can do"
-p 或 --print 模式执行一次操作后打印结果并退出,适合脚本调用。
进阶用法
配置 CI 自动更新文档:
GitHub Actions 用户,复制 OpenWiki 提供的 workflow 文件到项目:
cp node_modules/openwiki/examples/openwiki-update.yml .github/workflows/
这样每次代码合并后,GitHub Actions 会自动运行 OpenWiki 更新文档并提交 PR。
GitLab CI 用户同理,复制:
cp node_modules/openwiki/examples/openwiki-update.gitlab-ci.yml .gitlab-ci.yml
自定义 LLM 提供商:
# 使用 Anthropic 的替代网关
export OPENWIKI_PROVIDER=anthropic
export ANTHROPIC_API_KEY=your-key
export ANTHROPIC_BASE_URL=https://your-gateway.example.com/anthropic
# 或使用 OpenAI 兼容网关
export OPENWIKI_PROVIDER=openai-compatible
export OPENAI_COMPATIBLE_API_KEY=your-gateway-key
export OPENAI_COMPATIBLE_BASE_URL=https://your-gateway.example.com/v1
export OPENWIKI_MODEL_ID=your-gateway-model-name
更新已存在的文档:
openwiki --update
OpenWiki 会检测仓库变化,只更新有变动的文档部分,而不是覆盖你手动修改的内容。
注意事项
- • OpenWiki 生成的是代码文档(架构、API、模块说明),不是 API 参考文档(自动生成函数签名那种)
- • 配置的 LLM 模型质量直接影响文档质量,推荐使用能力较强的模型
- • 生成内容后建议人工审阅,AI 生成的文档可能有理解偏差
- • 文档默认放在
openwiki/目录,不要和手写文档混放
总结
OpenWiki 解决了写文档最大的障碍——”懒得开始”。自动化分析、生成、更新,让文档不再成为代码库的”后娘养的孩子”。这个 LangChain 出品的项目在 GitHub 上已有 7,453 Stars,适合所有需要提升文档质量但人手不足的团队。
夜雨聆风