一、前言
DeepWiki是由人工智能初创公司Cognition推出AI代码分析工具,依托于该公司旗下的AI产品Devin运行,本质上是一个提供结构化知识管理的系统(https://deepwiki.com/deepskies/DeepWiki),通过对开源项目进行总结、提炼与结构化整理的方式帮助人们更轻松的理解Github项目。
图1 DeepWiki的架构
二、功能亮点
基于代码解析、文档生成、生成交互式图表等功能,一些特殊的设计使得DeepWiki的可用性显著提高:
1.工作流程可视化:DeepWiki能够根据文本内容的流程说明自动输出可视化的流程图辅助用户快速理解项目工作原理;
2.对项目中提到的专有名词解释:对于项目中出现的专有名词或专业术语,DeepWiki会生成与之配套的文本和图片进行解释;
3.高度交互性:DeepWiki将指定项目构建为知识库后可以依托于AI模型Devin实现与用户的自然语言交互问答,即时解答关于项目原理、函数逻辑等问题。
三、使用示例
1.第一步非常简单,只需要将需要解析的Github项目网址中的github替换为deepwiki即可,这里我们用RiboCode项目举例:
图2 使用DeepWiki
2.如果该项目未被索引过,则会出现以下界面,填写邮箱后点击Index Repository即可进行知识库构建,可能需要等待2-10分钟。之后用DeepWiki打开索引过的项目就无需等待了。
图3 未索引项目
图4 提交索引
3.DeepWiki构建知识库成功后,会输出新的网页:
(1)左侧导航栏可视为一级目录,包括:
a 项目总结
b 核心概念介绍
c 命令行工具参考
d 完整工作流解析
e 高级应用等模块
(2)中间内容区展示每个模块的详细正文,包括:
a 代码解析
b 功能说明
c 图表展示等
(3)右侧导航栏可视为二级标题索引,帮助用户快速定位到具体段落或章节,提升阅读效率。
图5 DeepWiki界面总览
4.DeepWiki根据RiboCode的项目生成了工作流程图可供参考。
图6 DeepWiki生成的RiboCode工作流程图
5.DeepWiki中生成的专业术语解释,图文并茂。
图7 DeepWiki给出的项目中专业术语解释
6.直接向DeepWiki提问文中相关内容,DeepWiki会结合具体的代码给出相应的回答。
图8 提问展示
图9 回复展示
四、结语
对于熟悉某个项目领域的开发者而言,使用DeepWiki更多是一种查漏补缺的方式,毕竟有些信息并不会完整地体现在README中。如果只是想快速了解软件的某个参数或命令,DeepWiki的构建与解析过程可能显得有些“重”,毕竟生成知识库需要一定时间。但对于初次接触某个项目的开发者而言,DeepWiki能够帮助用户建立更系统化的认知,并对项目中的专有名词、核心逻辑形成更深入的理解,此时花上5-10分钟的时间等待是值得的。