# OpenDeepWiki
**Repository Path**: scklein/OpenDeepWiki
## Basic Information
- **Project Name**: OpenDeepWiki
- **Description**: No description available
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2025-05-05
- **Last Updated**: 2025-05-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OpenDeepWiki
AI驱动的代码知识库
# 项目介绍
OpenDeepWiki 是参考[DeepWiki](https://deepwiki.com/) 作为灵感,基于 .NET 9 和 Semantic Kernel 开发的开源项目。它旨在帮助开发者更好地理解和使用代码库,提供代码分析、文档生成、知识图谱等功能。
- 分析代码结构
- 理解仓库核心概念
- 生成代码文档
- 自动生成代码README.md
## 功能
- **快速生成:** 只需要几分钟即可将所有的Github,Gitlab,Gitee,Gitea等代码仓库转换为知识库
- **多语言支持:** 支持所有编程语言的代码分析和文档生成
- **代码结构:** 自动生存Mermaid图表理解代码结构
- **自定义模型:** 支持自定义模型和自定义API,可以根据需要进行扩展
- **AI智能分析:** 基于AI的代码分析和代码关系的理解
- **轻松SEO:** 生成SEO友好的文档和知识库,使用Next.js构建,让搜索引擎更容易索引
- **对话式交互:** 支持与AI进行对话式交互,获取代码的详细信息和使用方法,深入理解代码
## 🚀 快速开始
1. 克隆代码库
```bash
git clone https://github.com/AIDotNet/OpenDeepWiki.git
cd OpenDeepWiki
```
打开`docker-compose.yml`文件,修改以下配置下面的环境变量:
```yaml
version: '3.8'
services:
koalawiki:
image: crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/koala-wiki
environment:
- KOALAWIKI_REPOSITORIES=/repositories
- TaskMaxSizePerUser=5 # 每个用户AI处理文档生成的最大并行数量
- REPAIR_MERMAID=1 # 是否进行Mermaid修复,1修复,其余不修复
- ChatModel=DeepSeek-V3 # 必须要支持function的模型
- LANGUAGE= # 设置生成语言默认为“中文”
- Endpoint=https://api.token-ai.cn/v1
- AnalysisModel= # 分析模型,用于生成仓库目录结构,这个很重要,模型越强,生成的目录结构越好,为空则使用ChatModel
- ChatApiKey= #您的APIkey
volumes:
- ./repositories:/app/repositories
- ./data:/data
build:
context: .
dockerfile: src/KoalaWiki/Dockerfile
koalawiki-web:
image: crpi-j9ha7sxwhatgtvj4.cn-shenzhen.personal.cr.aliyuncs.com/koala-ai/koala-wiki-web
environment:
- NEXT_PUBLIC_API_URL=http://localhost:8080
build:
context: .
dockerfile: web/Dockerfile
nginx:
image: nginx:alpine
ports:
- 8090:80
volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- koalawiki
- koalawiki-web
```
> 💡 **如何获取APIKey:**
> - 获取 Google API key [Google AI Studio](https://makersuite.google.com/app/apikey)
> - 获取 OpenAI API key [OpenAI Platform](https://platform.openai.com/api-keys)
> - 获取 CoresHub [CoresHub](https://console.coreshub.cn/xb3/maas/global-keys) [点击这里免费领取5000万token](https://account.coreshub.cn/signup?invite=ZmpMQlZxYVU=)
> - 获取 TokenAI [TokenAI](https://api.token-ai.cn/)
2. 启动服务
```bash
docker-compose up -d
```
然后访问 http://localhost:8090 即可访问知识库
## 🔍工作原理
OpenDeepWiki使用AI实现:
- 克隆代码仓库到本地
- 根据仓库README.md进行分析
- 分析代码结构,并且根据需要读取代码文件,然后产生需要生成的目录json数据
- 根据目录分多个任务进行处理,每一个任务都是一个文档
- 根据任务开始读取代码文件,分析代码文件,生成代码文档,并且生存Mermaid图表表示代码结构依赖关系
- 生成最终的知识库文档
- 通过对话式的方式对仓库进行分析,回复用户的问题
```mermaid
graph TD
A[克隆代码仓库] --> B[分析README.md]
B --> C[分析代码结构]
C --> D[生成目录json数据]
D --> E[分多个任务进行处理]
E --> F[读取代码文件]
F --> G[分析代码文件]
G --> H[生成代码文档]
H --> I[生存Mermaid图表]
I --> J[生成知识库文档]
J --> K[对话式交互]
```
## 高级配置
### 环境变量
- KOALAWIKI_REPOSITORIES # 仓库存放路径
- TaskMaxSizePerUser # 每个用户AI处理文档生成的最大并行数量
- REPAIR_MERMAID # 是否进行Mermaid修复,1修复,其余不修复
- ChatModel # 必须要支持function的模型
- Endpoint # API的Endpoint
- AnalysisModel # 分析模型,用于生成仓库目录结构,这个很重要,模型越强,生成的目录结构越好,为空则使用ChatModel
- ChatApiKey #您的APIkey
- LANGUAGE # 改变生成的文档的语言
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.
## Star History
[](https://www.star-history.com/#AIDotNet/OpenDeepWiki&Date)