
现在越来越多人用 coding agent 改代码。但 agent 干活好不好,很大程度取决于它对这个仓库到底了解多少——代码怎么跑、为什么当初这么设计。让它每次现读一遍全部代码不现实,靠人手写文档又累又容易过期。
LangChain 的 Brace 最近开源了一个新工具 OpenWiki,专门来解决这件事:自动为你的代码库生成、并持续维护一套给 agent 看的文档。
下面是他的完整演示。
一条 npm 命令就能装上
OpenWiki 的定位是"生成和维护面向 agent 的代码库文档的最简单方式"。上手成本很低:先用 npm 在本地装好,然后跑一条 openwiki init 就行。

选模型这一步,开源闭源都收
init 会先走一个引导流程,让你挑模型 provider。OpenWiki 同时支持开源和闭源的模型 provider。演示里 Brace 选了 OpenRouter,接着粘贴 API key,再选具体模型。
预置了几个可选模型;如果你想用的模型不在列表里,可以填自定义的 model ID。因为 OpenWiki 本身是开源的,你要是希望某个 provider 或模型被加进内置选项,直接提 PR 就能合进包里。演示中 Brace 选的是 GLM 5.2。

想看它"底下到底干了什么",就接上 LangSmith
选完模型,它会问你要不要填 LangSmith API key。这一步是可选的。
OpenWiki 构建在 DeepAgents 和 LangSmith 之上,所以你如果填了 key,它会把 OpenWiki 的每一个动作、每一次运行都追踪到一个 tracing 项目里,方便你随时看清它在底层是怎么跑的。Brace 演示时跳过了这步。
按下回车,因为跑的是 init,它会立刻开始为当前仓库生成文档。
生成出来的文档长什么样
生成的文档会放在一个叫 OpenWiki 的目录下,里面有若干子目录,以及一个 quickstart.md。
这个 quickstart 是整套文档的索引:它高度概括了这个仓库是什么、干什么、有哪些重要文件,同时充当目录,指向其它文档目录和代码库里的具体文件。这也是你的 coding agent 收集仓库信息时第一个会去看的文件——既是仓库的高层描述,也是快速定位内部东西的入口。
展开那些子目录,能看到针对仓库不同方面的分文档。以 OpenWiki 自己这个仓库为例,里面有 agent 本身、agent 的架构、CLI、CLI 里的各种操作,还有几个用来追踪 OpenWiki 做过哪些更新的文件。
关键在于,这些文件不只写技术文档,还写高层的业务逻辑——各个部分背后的设计意图。
为什么要这样?因为对 agent 的上下文来说,光知道"代码怎么工作"不够,还得知道"为什么当初这么实现"。代码怎么跑,agent 读代码就能看出来;但为什么这么改,就得靠 OpenWiki 去翻 git commit、commit 历史、注释等等,把每次变更背后的业务逻辑和决策整理成文档。这样 agent 在你的仓库里真正动手写代码时,才有最好的上下文。
文档不更新就是废纸,交给 GitHub Action 每天自动跑
你肯定不想手动维护这些文档。所以 OpenWiki 提供了一个可以直接抄用的 GitHub Action:每天跑一次,自动更新你的 OpenWiki 文档。
它跑的是 openwiki update 命令(前面 init 是初始化,更新就是 update)。这个 Action 每天运行一次,然后在你的仓库里提一个 pull request,自动更新文档。

它更新文档的方式,主要靠 git:记录上次更新文档前最后一个 commit hash,然后把此后合并进来的每一个 commit 都过一遍——检查每处改动、PR 描述、评论等等——据此判断是否需要更新文档,保证文档始终跟得上代码。
频率完全可调。仓库更新不频繁,就改成一周一次;如果是每天有几十万 commit 合并的巨型仓库,也可以四小时、六小时跑一次,随你定。
这里有个很妙的点:调度和 agent 是完全解耦的。因为 agent 干的事就是看 git 历史、按 commit 更新文档,所以它在任何时间尺度上都能工作,跑得多勤快都行。
它不只是生成器,还能直接聊
OpenWiki 不止 init 和 update 两个命令,你还能直接和这个 agent 对话。
只要跑 openwiki,它就会起一个聊天界面。在里面你可以定制模型 provider、更新或清空文档,也可以直接问它问题——比如"你能干什么"。
换句话说,OpenWiki 既是文档生成器,也是个 chatbot:你可以用它问关于仓库、关于文档的问题,在它写的文档里搜索,管理你的 OpenWiki 文档,甚至对文档做定点修改。
装完就别再想它了:agent 怎么自动用上这些文档
文档有了,coding agent 到底怎么用上?
答案是通过 AGENTS.md(如果你用 Claude Code,就是 CLAUDE.md)。OpenWiki 会自动更新或创建这些文件,往里塞一段对 OpenWiki 的引用,并告诉 coding agent 该在何时、何地、如何使用 OpenWiki 文档——也就是任何它需要代码库上下文的时候。

正因为这段是 OpenWiki 自动写进 AGENTS.md 的,所以初次设置完之后,你基本就不用再操心它了。整个循环是这样的:
跑 init生成初始文档;加上 GitHub Action,让文档随仓库变化自动更新; OpenWiki 自动往你的 AGENTS.md加上那一段。
于是文档在后台被持续维护,你要做的只是把它提上来的 PR 合掉。而每当你在仓库里跑 coding agent,它会自动读取 AGENTS.md,读到 OpenWiki 那一段,从而被告知怎么用、何时去查这些文档。你不用每次额外写 prompt 或手动贴引用,agent 就能始终掌握整个仓库的完整上下文。
这只是"wiki 这个想法"的起点
Brace 也坦白:现在的 OpenWiki 还比较简单,目前只服务于 coding agent。但他说这个 wiki 的思路才刚刚开始,后面会做很多。

如果你有功能需求、建议,或者想参与贡献,可以去 OpenWiki 的仓库提 PR,或开一个带 feature request 的 issue。
项目地址:github.com/langchain-ai/openwiki,npm 包名就是 openwiki。
夜雨聆风