跳转到主要内容

概览

Devin 现在会自动为你的代码仓库建立索引,并生成包含架构图、源文件链接和代码库摘要的 wiki。 使用它来快速了解你在代码库中尚不熟悉的部分——可在侧边栏中查看 Ask Devin 会使用 wiki 中的信息,更好地理解并找到你代码库中的相关上下文。Ask Devin 的高级代码搜索能力结合 DeepWiki,能够基于你的代码提供详细且准确的回答。
在引导流程中连接代码仓库时,DeepWiki 将自动生成。

适用于公共仓库

适用于公共 GitHub 仓库的 DeepWikiAsk Devin 免费版本现已推出。它会自动生成架构图、文档以及指向源代码的链接,帮助你快速理解不熟悉的代码库。你还可以就代码库提出复杂问题,获取基于上下文的准确回答。
完整的 Ask Devin 体验 (包括高级代码搜索、规划和会话创建功能) 可在 Devin app 中使用。公共版 DeepWiki 和 DeepWiki MCP 提供基础文档和问答能力。
访问 deepwiki.com,开始探索 React、TensorFlow、LangChain 等热门开源仓库及更多项目。你也可以提交自己的公共 GitHub 仓库 URL 以便收录。 立即试用 DeepWiki →

控制 DeepWiki

可定制的 Wiki 界面
.devin/wiki.json 文件允许你控制 Devin 的默认 wiki 生成行为,这对可能达到内置限制的大型代码库尤为重要。 在生成 wiki 时,如果在代码库的根目录中发现 .devin/wiki.json 文件,我们会使用其中提供的 repo_notespages 来引导 wiki 的生成。如果提供了 pages,我们会跳过默认的基于聚类的规划,严格按照你指定的页面进行创建。这样一来,即使自动系统原本会跳过某些内容,你的代码库中重要的部分也能有相应的文档记录。

配置格式

在仓库根目录中创建一个 .devin/wiki.json 文件,结构如下:

配置选项

repo_notes (数组)

为文档系统提供上下文和指引,帮助其更好地理解你的代码仓库。
  • content (字符串,必填):笔记内容 (最多 10,000 个字符)
  • author (字符串,可选):笔记作者

pages (数组,可选)

指定在你的 wiki 中应创建的具体页面。 此字段为可选项。即使你只提供 repo_notes,系统仍会生成 wiki,并使用你的备注来引导结构与侧重点,而无需你逐一列出每个页面。 当你提供 pages 时,它们会被视为明确指令。系统只会生成你在 JSON 中定义的那些页面,不多也不少。
  • title (字符串,必填) :页面标题 (必须唯一且非空)
  • purpose (字符串,必填) :该页面应当记录/说明的内容
  • parent (字符串,可选) :用于层级组织的父页面标题
  • page_notes (数组,可选) :该页面特有的补充备注

验证限制

  • 最多 30 个页面 (企业版为 80 个)
  • 笔记总数最多 100 条 (repo_notes 与所有 page_notes 之和)
  • 每条笔记最多 10,000 个字符
  • 页面标题必须唯一且不能为空

实践示例

示例 1:使用 Repo Notes 引导 Wiki 生成

如果你不想定义具体页面,你可以只提供 repo_notes 来引导 Wiki 的生成。这样可以让 Devin 自动创建文档结构,同时仍然会考虑到你的优先级和关注重点。当你希望在不需要自己显式列出每一个页面的情况下,获得更好的覆盖范围和强调时,这种方式尤其有用。

示例 2:确保特定文件夹被纳入文档

如果你的大型代码库中有一些重要文件夹未被纳入 wiki,可以显式指定它们:

示例 3:处理缺失的组件

如果你发现代码库中的某些部分没有出现在文档中:

示例 4:层级文档结构

对于复杂的代码仓库,请采用层级结构来组织页面:

最佳实践

1. 战略性地使用 Repo Notes

  • 提供代码库中哪些部分最重要的背景信息
  • 指出需要优先关注的特定文件夹或组件
  • 说明系统各个部分之间的关系

2. 合理组织页面结构

  • 从概览性页面入手
  • 使用父子页面关系构建清晰的层级结构
  • 将相关功能分组放在一起

3. 明确页面目的

  • 清晰说明每个页面应当说明的内容
  • 指明需要重点关注的具体目录、文件或概念
  • 提供足够的细节,以便系统理解你的意图

4. 补上已知空白

  • 如果你知道代码库中的某些部分被遗漏了,请明确地将它们包含进去
  • 使用清晰且具有描述性的标题,让需要覆盖的内容一目了然

常见问题排查

”只有部分文件夹被收录进文档中”

这是典型的大型代码仓库问题。 解决方案: 使用 .devin/wiki.json 明确指定代码库中哪些部分需要生成文档。
先只更新 repo_notes,并基于这些新增的上下文重新生成 wiki,查看更新后的 wiki 是否包含之前遗漏的文件夹。仅在必要时再添加 pages 数组。

“Wiki 中缺少重要组件”

为这些组件添加独立页面,并使用 repo_notes 强调它们的重要性。
请记住:DeepWiki 只会生成此数组中包含的页面,因此要确保该数组中包含所有页面,而不仅仅是缺失的那个页面。

入门指南

  1. 在代码库根目录创建 .devin/wiki.json
  2. 添加 repo_notes,说明代码库结构和优先级
  3. 如有必要,明确列出你希望创建的所有页面,并为其提供清晰的标题和用途说明
  4. 提交该文件并重新生成你的 wiki
系统现在会根据你的明确指示,而不是完全依赖自动分析来创建文档,从而为大型代码仓库提供更全面、更准确的文档覆盖。