开源工具OpenWiki:自动生成与维护代码库文档

bracesproul 发布于 2026-07-03 阅读 43

OpenWiki 是一个开源代理和 CLI 工具,用于自动生成和维护代码库的文档。它通过创建 wiki 并与编码Agent的指令文件(如 AGENTS.md)连接,让代理在需要时获取仓库上下文。支持多种模型提供商(如 OpenRouter、OpenAI),可通过 GitHub Action 定时更新文档,确保文档始终与代码变更同步。该项目由 LangChain 团队开发,旨在降低人工维护文档的成本,提升 AI Agent理解代码库的能力。

图像

今天我们发布了 OpenWiki,这是一个开源 agent 和 CLI,用于为代码库生成和维护文档。

当 agent 了解它们所工作的仓库时,它们能写出更好的代码。它们需要知道关键逻辑在哪里,文件之间如何连接,以及代码库期望哪些模式。好的文档为 agent 提供了这些上下文,从而带来更明智的代码变更,并减少可避免的错误。

问题在于文档很难保持最新。编写初始文档需要时间,而每次代码变更时更新它们则更难。在频繁提交 PR 的大型仓库中,文档可能会迅速过时。

OpenWiki 自动处理这项工作。它为你的仓库创建一个 wiki,将该 wiki 与你的编码 agent 连接起来,并在代码变更时保持其更新。

为什么为 agent 构建 wiki

我们受到了现有代码库 wiki 相关工作的启发,包括 DeepWikiAutoWikiKarpathy 的 LLM Wiki 概念。共同的想法很简单:wiki 为人类和 agent 提供了一种结构化的方式来理解代码库,而无需将所有上下文塞进一个巨大的文件。

这很重要,因为大多数编码 agent 已经会读取像 AGENTS.md 或 CLAUDE.md 这样的文件以获取指令。这些文件很有用,但它们不是存储数百页仓库文档的正确位置。它们应该将 agent 指向正确的上下文,然后让 agent 自行检索所需内容。

OpenWiki 遵循这一模型。它生成一个仓库 wiki,然后更新你的 agent 指令文件,添加对那个 wiki 的引用。从此,你的编码 agent 可以自动发现并使用这些文档。

快速开始

OpenWiki 设计为易于从命令行运行。

通过 NPM 安装:

npm install -g openwiki

然后运行:

openwiki --init

图像

init 命令会询问模型提供商和 API 密钥,然后为你的仓库生成文档。

OpenWiki 支持开源和闭源模型提供商,包括 OpenRouter、Fireworks、Baseten、OpenAI 和 Anthropic。默认情况下,它使用提供开源模型的 OpenRouter,但你可以配置最适合你环境的提供商。

由于 OpenWiki 构建在 DeepAgents 之上,它还支持向 LangSmith 进行追踪。如果你提供 LangSmith API 密钥,OpenWiki 会将运行信息追踪到 LangSmith 项目,以便你可以检查 agent 在生成或更新文档时具体做了什么。

OpenWiki 如何连接到你的编码 agent

生成 wiki 后,OpenWiki 会更新仓库的 agent 指令文件。如果你的仓库使用了 AGENTS.md、CLAUDE.md 或两者,OpenWiki 会添加一个指向生成 wiki 的引用,并解释 agent 何时应该使用它。

我们选择这种方法是因为将整个 wiki 放入指令文件会带来太多上下文。在一个大型仓库中,wiki 可能包含数百个文件。在每次 agent 运行时都加载所有这些内容既浪费又难以维护。

一个简短的引用效果更好。你的编码 agent 已经在读取指令文件。一旦 OpenWiki 添加了引用,agent 可以在需要仓库上下文时找到 wiki,而无需你改变工作流程。

保持 wiki 更新

一次性生成文档很有用。但让文档保持最新才是 OpenWiki 更具价值之处。

OpenWiki 包含一个可以按计划运行的 GitHub Action,例如每天一次。该 action 使用 update 标志运行 OpenWiki。OpenWiki 检查自上次运行以来有哪些提交,通过 git diff 了解发生了什么变化,然后使用相关上下文更新 wiki。

这意味着工作流可以在后台运行。随着你的代码库变化,OpenWiki 更新文档。你的编码 agent 通过现有的指令文件引用持续获取最新的 wiki。

优先为代码库构建

本次首次发布专注于代码库的 wiki。目标是让 agent 更容易理解它们所工作的仓库,而无需开发者手动编写和维护详细文档。

随着时间的推移,我们认为 OpenWiki 的概念可以更广泛地应用。Agent 在许多类型的工作中都需要持久化的上下文,而不仅仅是编码。代码库文档是第一个用例,但同样的模式也可以帮助 agent 在其他工作流中维护有用的上下文。

尝试一下

OpenWiki 是开源的,现在即可使用。

你可以安装它,运行 openwiki --init,在几分钟内为你的仓库生成一个 wiki。

在这里查看仓库:https://github.com/langchain-ai/openwiki,并观看演示视频:

https://youtu.be/nIVu3zfYprI

  • 原文链接: x.com/bracesproul/status...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论