DeepWiki 是一个可以为 GitHub、GitLab 或 BitBucket 仓库自动创建美观和交互式 Wiki 的工具,只需输入仓库名称,DeepWiki 就会自动分析代码结构,生成全面的文档,创建可视化图表解释代码的工作方式,将所有内容组织成易于导航的 Wiki。
DeepWiki能够自动为任何GitHub或GitLab仓库创建美观、交互式的维基文档。
• 分析代码结构
• 生成详细文档
• 创建可视化图表解释系统工作原理
• 将所有内容组织成易于导航的维基
主要功能
• 即时文档生成:几秒内将任意GitHub或GitLab仓库转换为维基
• 私有仓库支持:使用个人访问令牌安全访问私有仓库
• 智能分析:通过AI理解代码结构和关系
• 美观图表:自动生成Mermaid图表可视化架构和数据流
• 便捷导航:简单直观的界面浏览维基
方法一:使用Docker(推荐)
# 克隆仓库
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open
# 创建.env文件并添加API密钥
echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
# 使用Docker Compose运行
docker-compose up
方法二:手动设置
步骤1:设置API密钥
在项目根目录创建.env文件,添加以下内容:
GOOGLE_API_KEY=your_google_api_key
OPENAI_API_KEY=your_openai_api_key
步骤2:启动后端
步骤3:启动前端
# 安装JavaScript依赖
npm install
# 或者
yarn install
# 启动Web应用
npm run dev
# 或者
yarn dev
步骤4:使用DeepWiki!
输入GitHub或GitLab仓库名称(如facebook/react、vercel/next.js或https://gitlab.com/gitlab-org/gitlab)
对于私有仓库,点击"+ Add access tokens"并输入你的GitHub或GitLab个人访问令牌
点击"Generate Wiki",观看神奇的效果!
DeepWiki使用AI技术:
1、克隆并分析GitHub或GitLab仓库(包括使用令牌认证的私有仓库)
2、创建代码嵌入以便智能检索
3、使用上下文感知AI生成文档
4、创建可视化图表解释代码关系
5、将所有内容组织成结构化维基
项目结构
deepwiki/
├── api/ # 后端API服务器
│ ├── main.py # API入口点
│ ├── api.py # FastAPI实现
│ ├── rag.py # 检索增强生成
│ ├── data_pipeline.py # 数据处理工具
│ └── requirements.txt # Python依赖
└── src/ # 前端Next.js应用
├── app/ # Next.js应用目录
│ └── page.tsx # 主应用页面
├── components/ # React组件
│ └── Mermaid.tsx # Mermaid图表渲染器
├── public/ # 静态资源
├── package.json # JavaScript依赖
└── .env # 环境变量(需创建)
环境变量
变量名 | 描述 | 是否必须 |
---|---|---|
GOOGLE_API_KEY | Google Gemini API密钥,用于AI生成 | 是 |
OPENAI_API_KEY | OpenAI API密钥,用于嵌入 | 是 |
PORT | API服务器端口(默认:8001) | 否 |
Docker设置
可以使用Docker运行DeepWiki:
# 从GitHub容器注册表拉取镜像
docker pull ghcr.io/asyncfuncai/deepwiki-open:latest
# 运行容器
docker run -p 8001:8001 -p 3000:3000 \
-e GOOGLE_API_KEY=your_google_api_key \
-e OPENAI_API_KEY=your_openai_api_key \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest
或者使用提供的docker-compose.yml文件:
# 先编辑.env文件添加API密钥
docker-compose up
API服务器提供:
• 仓库克隆和索引
• RAG(检索增强生成)
• 流式聊天补全
API密钥问题
• "缺少环境变量":确保项目根目录有.env文件,并包含两个API密钥
• "API密钥无效":检查是否完整复制了密钥,没有多余空格
连接问题
• "无法连接到API服务器":确保API服务器在8001端口运行
• "CORS错误":API配置允许所有来源,如果仍有问题,尝试在前端和后端在同一台机器上运行
生成问题
• "生成维基出错":对于非常大的仓库,先尝试较小的仓库
• "无效的仓库格式":确保使用有效的GitHub或GitLab URL格式
• "无法获取仓库结构":对于私有仓库,确保输入了具有适当权限的有效个人访问令牌
• "图表渲染错误":应用程序将自动尝试修复损坏的图表