火爆全网的DeepWiki开源版来了!
项目介绍
OpenDeepWiki 是参考DeepWiki 作为灵感,基于 .NET 9 和 Semantic Kernel 开发的开源项目。它旨在帮助开发者更好地理解和使用代码库,提供代码分析、文档生成、知识图谱等功能。
- • 分析代码结构
- • 理解仓库核心概念
- • 生成代码文档
- • 自动生成代码README.md
MCP支持
OpenDeepWiki支持MCP(ModelContextProtocol)
- • 支持单仓库提供MCPServer,针对单个仓库进行分析
使用方式:下面是cursor的使用方式:
{ "mcpServers": { "OpenDeepWiki":{ "url": "http://您的OpenDeepWiki服务IP:端口/sse?owner=AIDotNet&name=OpenDeepWiki" } } }
- • owner: 是仓库组织或拥有者的名称
- • name: 是仓库的名称
添加好仓库以后进行测试提问(请注意,再次之前这个仓库需要先保证已经处理完成):OpenDeepWiki是什么?
效果如图:

通过这种方式,您可以将OpenDeepWiki作为MCPServer使用,提供给其他的AI模型进行调用,方便对一个开源项目进行分析和理解。
功能
- • 快速生成: 只需要几分钟即可将所有的Github,Gitlab,Gitee,Gitea等代码仓库转换为知识库
- • 多语言支持: 支持所有编程语言的代码分析和文档生成
- • 代码结构: 自动生存Mermaid图表理解代码结构
- • 自定义模型: 支持自定义模型和自定义API,可以根据需要进行扩展
- • AI智能分析: 基于AI的代码分析和代码关系的理解
- • 轻松SEO: 生成SEO友好的文档和知识库,使用Next.js构建,让搜索引擎更容易索引
- • 对话式交互: 支持与AI进行对话式交互,获取代码的详细信息和使用方法,深入理解代码
🚀 快速开始
- 1. 克隆代码库
git clone https://github.com/AIDotNet/OpenDeepWiki.git cd OpenDeepWiki
- 2. 打开
docker-compose.yml文件,修改以下环境变量:
OpenAI:
services: koalawiki: environment: -KOALAWIKI_REPOSITORIES=/repositories -TASK_MAX_SIZE_PER_USER=5# 每个用户AI处理文档生成的最大并行数量 -CHAT_MODEL=DeepSeek-V3# 必须要支持function的模型 -ANALYSIS_MODEL=# 分析模型,用于生成仓库目录结构 -CHAT_API_KEY=# 您的APIkey -LANGUAGE=# 设置生成语言默认为"中文" -ENDPOINT=https://api.token-ai.cn/v1 -DB_TYPE=sqlite -MODEL_PROVIDER=OpenAI# 模型提供商,默认为OpenAI 支持AzureOpenAI和Anthropic -DB_CONNECTION_STRING=DataSource=/data/KoalaWiki.db -EnableSmartFilter=true # 是否启用智能过滤,这可能影响AI得到仓库的文件目录
AzureOpenAI
services: koalawiki: environment: -KOALAWIKI_REPOSITORIES=/repositories -TASK_MAX_SIZE_PER_USER=5# 每个用户AI处理文档生成的最大并行数量 -CHAT_MODEL=DeepSeek-V3# 必须要支持function的模型 -ANALYSIS_MODEL=# 分析模型,用于生成仓库目录结构 -CHAT_API_KEY=# 您的APIkey -LANGUAGE=# 设置生成语言默认为"中文" -ENDPOINT=https://您的Azure地址.openai.azure.com/ -DB_TYPE=sqlite -MODEL_PROVIDER=AzureOpenAI# 模型提供商,默认为OpenAI 支持AzureOpenAI和Anthropic -DB_CONNECTION_STRING=DataSource=/data/KoalaWiki.db -EnableSmartFilter=true # 是否启用智能过滤,这可能影响AI得到仓库的文件目录
Anthropic
services: koalawiki: environment: -KOALAWIKI_REPOSITORIES=/repositories -TASK_MAX_SIZE_PER_USER=5# 每个用户AI处理文档生成的最大并行数量 -CHAT_MODEL=DeepSeek-V3# 必须要支持function的模型 -ANALYSIS_MODEL=# 分析模型,用于生成仓库目录结构 -CHAT_API_KEY=您的APIkey -LANGUAGE=# 设置生成语言默认为"中文" -ENDPOINT=https://api.anthropic.com/ -DB_TYPE=sqlite -MODEL_PROVIDER=Anthropic# 模型提供商,默认为OpenAI 支持AzureOpenAI和Anthropic -DB_CONNECTION_STRING=DataSource=/data/KoalaWiki.db -EnableSmartFilter=true # 是否启用智能过滤,这可能影响AI得到仓库的文件目录
💡 如何获取APIKey:
- • 获取 Google API key Google AI Studio
- • 获取 OpenAI API key OpenAI Platform
- • 获取 CoresHub CoresHub 点击这里免费领取5000万token
- • 获取 TokenAI TokenAI
- 3. 启动服务
您可以使用提供的Makefile命令轻松管理应用程序:
`# 构建所有Docker镜像
make build
以后台模式启动所有服务
make up
或以开发模式启动(可查看日志)
make dev`
然后访问 http://localhost:8090 即可访问知识库。
更多命令可查看:
make help
Windows用户(无make命令)
如果您使用Windows系统且没有安装make,可以直接使用以下Docker Compose命令:
`# 构建所有Docker镜像
docker-compose build
后台启动所有服务
docker-compose up -d
开发模式启动(可查看日志)
docker-compose up
停止所有服务
docker-compose down
查看日志
docker-compose logs -f`
针对特定架构或服务的构建命令:
`# 只构建后端
docker-compose build koalawiki
只构建前端
docker-compose build koalawiki-web
使用架构参数构建
docker-compose build --build-arg ARCH=arm64
docker-compose build --build-arg ARCH=amd64`
🔍工作原理
OpenDeepWiki使用AI实现:
- • 克隆代码仓库到本地
- • 根据仓库README.md进行分析
- • 分析代码结构,并且根据需要读取代码文件,然后产生需要生成的目录json数据
- • 根据目录分多个任务进行处理,每一个任务都是一个文档
- • 根据任务开始读取代码文件,分析代码文件,生成代码文档,并且生存Mermaid图表表示代码结构依赖关系
- • 生成最终的知识库文档
- • 通过对话式的方式对仓库进行分析,回复用户的问题
克隆代码仓库
分析README.md
分析代码结构
生成目录json数据
分多个任务进行处理
读取代码文件
分析代码文件
生成代码文档
生存Mermaid图表
生成知识库文档
对话式交互
高级配置
环境变量
- • KOALAWIKI_REPOSITORIES 仓库存放路径
- • TASK_MAX_SIZE_PER_USER 每个用户AI处理文档生成的最大并行数量
- • CHAT_MODEL 必须要支持function的模型
- • ENDPOINT API的Endpoint
- • ANALYSIS_MODEL 分析模型,用于生成仓库目录结构
- • CHAT_API_KEY 您的APIkey
- • LANGUAGE 改变生成的文档的语言
- • DB_TYPE 数据库类型,默认为sqlite
- • DB_CONNECTION_STRING 数据库连接字符串
- • MODEL_PROVIDER 模型提供商,默认为OpenAI 支持AzureOpenAI和Anthropic
- • EnableSmartFilter 是否启用智能过滤,这可能影响AI得到仓库的文件目录
针对不同架构的构建
Makefile提供了针对不同CPU架构构建的命令:
`# 构建ARM架构的所有镜像
make build-arm
构建AMD架构的所有镜像
make build-amd
只构建ARM架构的后端服务
make build-backend-arm
只构建AMD架构的前端服务
make build-frontend-amd`
扫码加入技术交流群,备注「开发语言-城市-昵称」
(文:GitHubStore)
火爆全网的DeepWiki开源版来了!最先出现在每时AI。