当前开发者在接手新项目或维护旧代码时,常面临"无文档"或"文档过时"的问题,需要花费大量时间阅读源码理解逻辑。现有工具要么需要手动编写文档,要么功能复杂难以快速上手。
OpenDeepWiki 展示了通过 AI 自动将代码仓库转化为结构化知识库的可行性,但原版流程包含过多复杂功能(如多语言支持、复杂权限管理),不利于快速实现。
- 核心目标:构建轻量版 AI 代码知识库工具,支持通过 Git 仓库或本地代码文件夹,自动生成结构化文档(目录树 + 代码解析)
- 简化原则:只保留核心流程,去掉非必要功能(如多语言、高级权限),确保 2-3 周内可完成核心功能
- 用户价值:让开发者通过可视化界面,5 分钟内完成"导入代码→生成文档→查阅结构"的全流程
- 新入职开发者
"我刚加入团队,需要快速了解公司的 Python 项目结构,希望上传项目 Git 地址后,系统能自动生成目录说明和核心模块解释,不用逐行读代码。" - 项目维护者
"我负责的旧项目文档缺失,想通过工具生成基础文档,后续只需在生成的内容上修改,不用从零开始写。"
开发者进入系统,点击"新建知识库",选择"Git 仓库",输入公司内部项目的 Git 地址(如 http://gitlab/backend/user-service.git)和分支(默认 main),点击"开始处理"。系统自动克隆仓库,5 秒后显示"处理中",1 分钟后生成知识库,包含:
- 项目目录树(折叠/展开)
- 自动生成的 README(项目功能、技术栈)
- 核心文件(如
user_controller.py)的 AI 解析(功能说明、关键函数)
开发者在生成的知识库中,点击展开"service"目录,看到 auth_service.py 的解析:"负责用户认证,核心函数 verify_token() 实现 JWT 验证"。点击"导出文档",下载包含完整结构和解析的 Markdown 文件,用于团队分享。
| 模块 | 具体需求 | 简化点(与原版对比) |
|---|---|---|
| 知识库创建 | 1. 支持两种导入方式: - Git 仓库(输入 URL + 分支) - 本地文件夹(拖拽上传) 2. 输入知识库名称(必填,默认用仓库名) 3. 显示处理进度(克隆中→分析中→完成) | 去掉 .gitignore 复杂过滤,只跳过常见目录(node_modules、.git) |
| AI 处理流程 | 1. 扫描目录结构,生成可折叠的树状图 2. 调用 AI 生成项目总览(100 字以内) 3. 对单个文件生成解析(仅处理前 20 个核心文件,避免耗时) | 去掉增量更新和复杂分类,只做全量一次性处理 |
| 知识库展示 | 1. 左侧:目录树(点击展开/折叠文件) 2. 右侧:文件解析(Markdown 格式,包含代码片段和 AI 说明) 3. 顶部:"导出文档"按钮(下载 Markdown) | 去掉 Mermaid 图表和多格式导出,只保留基础展示 |
| 基础管理 | 1. 知识库列表(显示名称、创建时间、来源) 2. 单条操作:查看、删除(二次确认) | 去掉编辑和权限管理,只保留查看和删除 |
┌─────────┐ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ 用户 │ │ 前端界面 │ │ 服务端 │ │ AI 服务 │
└───┬─────┘ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘
│ │ │ │
│ 1. 点击"新建知识库"│ │ │
├───────────────────► │ │
│ │ │ │
│ 2. 选择导入方式并输入信息(Git URL/本地文件) │
├───────────────────► │ │
│ │ 3. 提交信息并验证格式(如Git URL合法性) │
│ ├─────────────────────► │
│ 4. 提示格式错误(如URL无效) │ │
│◄─────────────────── │ │
│ │ │ │
│ 5. 确认正确信息后提交 │ │
├───────────────────► │ │
│ │ 6. 发送处理请求至服务端 │
│ ├─────────────────────► │
│ │ │ 7. 克隆仓库/接收文件 │
│ │ │ (显示进度至前端) │
│ 8. 看到进度提示(如"已克隆70%") │ │
│◄─────────────────── │ │
│ │ │ 9. 调用AI分析目录和文件 │
│ │ ├─────────────────────►
│ │ │ 10. AI返回解析结果 │
│ │ │◄─────────────────────
│ │ 11. 接收结构化数据(目录树+解析内容) │
│ │◄───────────────────── │
│ 12. 展示知识库页面(左侧目录+右侧解析) │ │
│◄─────────────────── │ │
│ │ │ │
│ 13. 点击"导出文档" │ │
├───────────────────► │ │
│ │ 14. 生成并下载Markdown文件 │
│◄─────────────────── │ │
- 整体流程控制在 3 个核心步骤:创建→处理→查看
- 服务端处理过程中通过进度反馈减少用户等待焦虑
- 去掉复杂分支(如处理失败重试),失败时仅提示"创建失败,请重试"
- 优先实现 Git 仓库导入(比本地文件处理更通用)
- AI 解析提示词采用简化版本:"简要说明这个文件的功能,列出核心函数及其作用(不超过 200 字)"
- 暂不支持代码仓库更新后同步知识库,如需更新需删除重建(降低复杂度)