English | 简体中文
openDeepWiki 是一个基于 AI 的代码仓库智能解读平台,能够自动分析任意 GitHub 代码仓库,并生成结构化的项目文档。通过结合静态代码分析和大语言模型(LLM),帮助开发者快速理解开源项目的架构、API 和业务流程。
无需安装配置,立即体验 openDeepWiki 的强大功能!
- 🚀 一键分析:输入 GitHub URL,自动克隆并解读代码仓库
- 📊 智能解读:静态分析 + LLM 深度分析,生成结构化文档
- 📝 标准化输出:自动生成项目概览、架构分析、核心接口、业务流程、部署配置五大文档
- 🔄 任务管理:可视化任务执行进度,支持单独运行、重试和强制重置
- 📖 在线阅读:内置 Markdown 渲染,支持文档在线编辑和导出
- 🌐 多源支持:支持公开仓库和私有仓库(需配置 GitHub Token)
- 🎨 现代化界面:基于 React + Ant Design,支持多语言和主题切换
- 语言:Go 1.24+
- 框架:Gin
- 数据库:SQLite(默认)/ MySQL
- ORM:GORM
- 日志:klog
- 开发工具:Air(热重载)
- 框架:React 19 + TypeScript
- 构建工具:Vite
- UI 组件:Ant Design 6
- Markdown 渲染:react-markdown / react-md-editor
- 路由:React Router 7
- 支持 OpenAI 兼容接口
- 可配置 API 地址、模型和 Token
- 支持通过环境变量配置
- Go 1.24+
- Node.js 18+
- Git
# 1. 克隆项目
git clone https://github.com/weibaohui/openDeepWiki.git
cd openDeepWiki
# 2. 安装依赖
make setup
# 3. 初始化配置
make init-config
# 4. 编辑配置文件,设置 LLM API Key
vim backend/config.yaml
# 或设置环境变量
export OPENAI_API_KEY="your-api-key"
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_MODEL_NAME="gpt-4o"# 开发模式(推荐):同时启动前后端,支持热重载
make dev
# 或分别启动
make air # 后端(带热重载)
make run-frontend # 前端
# 生产模式
make build
make run-backend- 前端页面:http://localhost:5173
- 后端 API:http://localhost:8080
首次使用需要配置 LLM API:
方式一:通过配置文件
编辑 backend/config.yaml:
llm:
api_url: "https://api.openai.com/v1"
api_key: "your-api-key"
model: "gpt-4o"
max_tokens: 4096方式二:通过环境变量(推荐)
export OPENAI_API_KEY="your-api-key"
export OPENAI_BASE_URL="https://api.openai.com/v1"
export OPENAI_MODEL_NAME="gpt-4o"方式三:通过前端界面
访问 http://localhost:5173/config 进行配置。
- 在首页输入 GitHub 仓库 URL(支持 https 和 git@ 格式)
- 点击「添加」,系统自动克隆仓库
- 克隆完成后,点击「执行所有任务」开始分析
- 等待任务执行完成(5 个任务:概览、架构、接口、业务流程、部署)
- 点击「查看文档」阅读生成的结果
- 在线阅读:左侧导航树,右侧 Markdown 渲染
- 在线编辑:点击「编辑」按钮修改文档内容
- 导出文档:支持单个文档或整体打包导出
flowchart TB
%% 外部系统
subgraph EXT[外部系统]
GitRepo[代码仓库\nGitHub / GitLab / Gitee]
User[用户 / 开发者]
end
%% 代码接入与触发层
subgraph L1[代码仓库接入与触发层]
Importer[仓库导入器]
BranchMgr[分支与主分支管理]
Webhook[Webhook 触发器]
Syncer[代码同步器]
end
%% 版本与数据层
subgraph L2[代码版本与数据层]
CodeSnapshot[代码快照\nRepo + Branch + Commit]
DiffAnalyzer[Commit 差异分析器]
MetaDB[(元数据存储\nRepo / Branch / Commit / Tag)]
end
%% 代码理解层
subgraph L3[代码解析与结构化分析层]
RepoScanner[仓库预处理分析\n结构 技术栈 入口]
ASTParser[AST 与语义解析器]
APIParser[API 专项解析器]
DBParser[数据库结构解析器]
FEParser[前端组件解析器]
StructStore[(结构化分析结果存储)]
end
%% AI 编排与生成核心层
subgraph L4[AI 编排与文档生成核心层]
TOCGen[目录生成器\nTOC Generator]
UserTOCExt[用户目录扩展\n命题式调查]
TaskPlanner[文档任务拆解器]
DocWriter[文档生成器\nMarkdown 与 Mermaid]
Reviewer[一致性校对与回顾分析]
Incremental[增量更新处理器]
end
%% 文档与知识资产层
subgraph L5[文档与知识资产层]
DocStore[(文档库\n多版本 多语言)]
MermaidStore[(流程图与架构图)]
BadgeSvc[状态徽标服务\nBadge API]
end
%% 智能问答器
subgraph L6[智能问答器]
Embedding[内容向量化]
VectorDB[(向量数据库)]
QAChat[问答引擎]
FAQGen[高频问题整理\n反向生成目录]
end
%% 前端交互层
subgraph L7[前端与交互层]
DocUI[文档浏览\n多语言 多版本]
TOCEditor[目录编辑器]
MermaidUI[流程图编辑与预览]
ChatUI[智能问答界面]
end
%% 数据流关系
GitRepo --> Importer
Importer --> BranchMgr
BranchMgr --> Syncer
Webhook --> Syncer
Syncer --> CodeSnapshot
CodeSnapshot --> DiffAnalyzer
CodeSnapshot --> RepoScanner
RepoScanner --> ASTParser
ASTParser --> APIParser
ASTParser --> DBParser
ASTParser --> FEParser
ASTParser --> StructStore
APIParser --> StructStore
DBParser --> StructStore
FEParser --> StructStore
StructStore --> TOCGen
TOCGen --> UserTOCExt
UserTOCExt --> TaskPlanner
TaskPlanner --> DocWriter
DocWriter --> Reviewer
Reviewer --> DocStore
DocWriter --> MermaidStore
DiffAnalyzer --> Incremental
Incremental --> TaskPlanner
DocStore --> Embedding
Embedding --> VectorDB
VectorDB --> QAChat
QAChat --> FAQGen
FAQGen --> TOCGen
DocStore --> BadgeSvc
%% 前端连接
User --> DocUI
User --> TOCEditor
User --> MermaidUI
User --> ChatUI
DocUI --> DocStore
TOCEditor --> TOCGen
MermaidUI --> MermaidStore
ChatUI --> QAChat
项目遵循严格的开发规范,详见:
欢迎提交 Issue 和 Pull Request!
如有问题或建议,请提交 Issue。