Web Analytics

OpenDeepWiki

⭐ 1112 stars Simplified Chinese by AIDotNet

OpenDeepWiki

中文 | English

OpenDeepWiki Logo

AI驱动的代码知识库

赞助

image

302.AI 是一个按需付费的一站式企业级AI应用平台。它提供开放平台和开源生态,让AI为每个需求找到解决方案。点击这里获取1美元免费额度!

功能

功能清单:

项目介绍

OpenDeepWiki 是一个受 DeepWiki 启发的开源项目,使用 .NET 9 和 Semantic Kernel 开发。其目标是通过代码分析、文档生成和知识图谱等功能,帮助开发者更好地理解和利用代码库。

MCP 支持

OpenDeepWiki 支持 MCP(Model Context Protocol)

用法:以下是 cursor 的用法示例:
{
  "mcpServers": {
    "OpenDeepWiki":{
      "url": "http://Your OpenDeepWiki service IP:port/sse?owner=AIDotNet&name=OpenDeepWiki"
    }
  }
}
添加仓库后,测试提问(注意在此之前需先处理该仓库):What is OpenDeepWiki? 效果如图所示:

通过这种方式,可以将 OpenDeepWiki 作为 MCPServer,为其他AI模型调用,便于对开源项目进行分析与理解。

🚀 快速开始

git clone https://github.com/AIDotNet/OpenDeepWiki.git
cd OpenDeepWiki

Ollama:
services:
  koalawiki:
    environment:
      
  • KOALAWIKI_REPOSITORIES=/repositories
  • TASK_MAX_SIZE_PER_USER=5 # 单用户AI并行生成文档的最大任务数
  • CHAT_MODEL=qwen2.5:32b # 模型需支持函数
  • ANALYSIS_MODEL=qwen2.5:32b # 用于生成仓库目录结构的分析模型
  • CHAT_API_KEY=sk-xxxxx # 你的API密钥
  • LANGUAGE= # 设置默认生成语言为“中文”
  • ENDPOINT=https://Your Ollama's IP: Port/v1
  • DB_TYPE=sqlite
  • MODEL_PROVIDER=OpenAI # 模型提供方,默认为OpenAI,支持AzureOpenAI和Anthropic
  • DB_CONNECTION_STRING=Data Source=/data/KoalaWiki.db
  • EnableSmartFilter=true # 是否启用智能过滤,可能影响AI对仓库文件目录的获取
  • UPDATE_INTERVAL # 仓库增量更新时间,单位:天
  • MAX_FILE_LIMIT=100 # 上传文件最大限制,单位MB
  • DEEP_RESEARCH_MODEL= # 针对模型进行深度研究,空则使用CHAT_MODEL
  • ENABLE_INCREMENTAL_UPDATE=true # 是否启用增量更新
  • ENABLE_CODED_DEPENDENCY_ANALYSIS=false # 是否启用代码依赖分析,可能影响代码质量
  • ENABLE_WAREHOUSE_FUNCTION_PROMPT_TASK=false # 是否启用MCP Prompt生成
  • ENABLE_WAREHOUSE_DESCRIPTION_TASK=false # 是否启用仓库描述生成

OpenAI:

services:
  koalawiki:
    environment:
      
  • KOALAWIKI_REPOSITORIES=/repositories
  • TASK_MAX_SIZE_PER_USER=5 # 单用户AI并行生成文档的最大任务数
  • CHAT_MODEL=DeepSeek-V3 # 模型需支持函数
  • ANALYSIS_MODEL= # 用于生成仓库目录结构的分析模型
  • CHAT_API_KEY= # 你的API密钥
  • LANGUAGE= # 设置默认生成语言为“中文”
  • ENDPOINT=https://api.token-ai.cn/v1
  • DB_TYPE=sqlite
  • MODEL_PROVIDER=OpenAI # 模型提供方,默认为OpenAI,支持AzureOpenAI和Anthropic
  • DB_CONNECTION_STRING=Data Source=/data/KoalaWiki.db
  • EnableSmartFilter=true # 是否启用智能过滤,可能影响AI对仓库文件目录的获取
  • UPDATE_INTERVAL # 仓库增量更新时间,单位:天
  • MAX_FILE_LIMIT=100 # 上传文件最大限制,单位MB
  • DEEP_RESEARCH_MODEL= # 针对模型进行深度研究,空则使用CHAT_MODEL
  • ENABLE_INCREMENTAL_UPDATE=true # 是否启用增量更新
  • ENABLE_CODED_DEPENDENCY_ANALYSIS=false # 是否启用代码依赖分析,可能影响代码质量
  • ENABLE_WAREHOUSE_FUNCTION_PROMPT_TASK=false # 是否启用MCP Prompt生成
  • ENABLE_WAREHOUSE_DESCRIPTION_TASK=false # 是否启用仓库描述生成

AzureOpenAI:

services:
  koalawiki:
    environment:
      
  • KOALAWIKI_REPOSITORIES=/repositories
  • TASK_MAX_SIZE_PER_USER=5 # 单用户AI并行生成文档的最大任务数
  • CHAT_MODEL=DeepSeek-V3 # 模型需支持函数
  • ANALYSIS_MODEL= # 用于生成仓库目录结构的分析模型
  • CHAT_API_KEY= # 你的API密钥
  • LANGUAGE= # 设置默认生成语言为“中文”
  • ENDPOINT=https://your-azure-address.openai.azure.com/
  • DB_TYPE=sqlite
  • MODEL_PROVIDER=AzureOpenAI # 模型提供方,默认为OpenAI,支持AzureOpenAI和Anthropic
  • DB_CONNECTION_STRING=Data Source=/data/KoalaWiki.db
  • EnableSmartFilter=true # 是否启用智能过滤,可能影响AI对仓库文件目录的获取
  • UPDATE_INTERVAL # 仓库增量更新时间,单位:天
  • MAX_FILE_LIMIT=100 # 上传文件最大限制,单位MB
  • DEEP_RESEARCH_MODEL= # 针对模型进行深度研究,空则使用CHAT_MODEL
  • ENABLE_INCREMENTAL_UPDATE=true # 是否启用增量更新
  • ENABLE_CODED_DEPENDENCY_ANALYSIS=false # 是否启用代码依赖分析,可能影响代码质量
  • ENABLE_WAREHOUSE_FUNCTION_PROMPT_TASK=false # 是否启用MCP Prompt生成
  • ENABLE_WAREHOUSE_DESCRIPTION_TASK=false # 是否启用仓库描述生成

Anthropic:

services:
  koalawiki:
    environment:
      
  • KOALAWIKI_REPOSITORIES=/repositories
  • TASK_MAX_SIZE_PER_USER=5 # 单用户AI并行生成文档的最大任务数
  • CHAT_MODEL=DeepSeek-V3 # 模型需支持函数
  • ANALYSIS_MODEL= # 用于生成仓库目录结构的分析模型
  • CHAT_API_KEY= # 你的API密钥
  • LANGUAGE= # 设置默认生成语言为“中文”
  • ENDPOINT=https://api.anthropic.com/
  • DB_TYPE=sqlite
  • MODEL_PROVIDER=Anthropic # 模型提供方,默认为OpenAI,支持AzureOpenAI和Anthropic
  • DB_CONNECTION_STRING=Data Source=/data/KoalaWiki.db
  • EnableSmartFilter=true # 是否启用智能过滤,可能影响AI对仓库文件目录的获取
  • UPDATE_INTERVAL # 仓库增量更新时间,单位:天
  • MAX_FILE_LIMIT=100 # 上传文件最大限制,单位MB
  • DEEP_RESEARCH_MODEL= # 针对模型进行深度研究,空则使用CHAT_MODEL
  • ENABLE_INCREMENTAL_UPDATE=true # 是否启用增量更新
  • ENABLE_CODED_DEPENDENCY_ANALYSIS=false # 是否启用代码依赖分析,可能影响代码质量
  • ENABLE_WAREHOUSE_FUNCTION_PROMPT_TASK=false # 是否启用MCP Prompt生成
  • ENABLE_WAREHOUSE_DESCRIPTION_TASK=false # 是否启用仓库描述生成

> 💡 如何获得API密钥:

- 获取Google API密钥 Google AI Studio
- 获取OpenAI API密钥 OpenAI Platform
- 获取CoresHub CoresHub 点此注册赠送5000万免费Token
- 获取TokenAI TokenAI

你可以使用提供的 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

使用 Sealos 对公网部署

详细步骤请参见:使用模板一键部署 OpenDeepWiki 为对公网可访问 Sealos 应用

🔍 工作原理

OpenDeepWiki 使用 AI 实现以下功能:

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[对话式交互分析]

高级配置

环境变量

针对不同架构构建

Makefile 提供了针对不同 CPU 架构的构建命令:

# 构建 ARM 架构
make build-arm

构建 AMD 架构

make build-amd

仅构建 ARM 架构后端

make build-backend-arm

仅构建 AMD 架构前端

make build-frontend-amd

Discord

加入我们

微信

b62354e40046f409b88528dd5631ed45

📄 许可证

本项目基于 MIT 许可证发布 - 详情请参阅 LICENSE 文件。

Star 历史

Star History Chart ``` --- Tranlated By Open Ai Tx | Last indexed: 2025-06-10 ---