一个为开源项目提供AI文档分析 一分钟导入您的开源仓库或部署私有化导入公司内部仓库 十分钟不到就能完全解构您的屎山项目 为您的开源项目生成详细的文档
参考DeepWiki作为灵感,基于 .NET 9 和 Semantic Kernel 开发的开源项目。它旨在帮助开发者更好地理解和使用代码库,提供代码分析、文档生成、知识图谱等功能。 - 分析代码结构
- 理解仓库核心概念
- 生成代码文档
- 自动生成代码README.md
功能- 快速生成: 只需要几分钟即可将所有的Github,Gitlab,Gitee,Gitea等代码仓库转换为知识库
- 多语言支持: 支持所有编程语言的代码分析和文档生成
- 代码结构: 自动生存Mermaid图表理解代码结构
- 自定义模型: 支持自定义模型和自定义API,可以根据需要进行扩展
- AI智能分析: 基于AI的代码分析和代码关系的理解
- 轻松SEO: 生成SEO友好的文档和知识库,使用Next.js构建,让搜索引擎更容易索引
- 对话式交互: 支持与AI进行对话式交互,获取代码的详细信息和使用方法,深入理解代码
功能列表: - 支持多种代码仓库(Github,Gitlab,Gitee,Gitea等)
- 支持多种编程语言(Python,Java,C#,JavaScript等)
- 支持仓库管理,提供管理管理功能支持增删改查仓库
- 支持多种AI提供商(OpenAI,AzureOpenAI,Anthropic等)
- 支持多种数据库(SQLite,PostgreSQL,SqlServer等)
- 支持多种语言(中文,英文,法文等)
- 支持上传ZIP文件,支持上传本地文件
- 提供数据微调平台生成微调数据集
- 支持仓库目录级别管理,支持自定义目录动态生成文档
- 支持仓库目录管理,支持修改仓库目录
- 支持用户级别管理,提供用户管理功能支持增删改查用户
- 支持用户权限管理,提供用户权限管理功能支持增删改查用户权限
- 支持对仓库级别的生成不同微调框架的微调数据集
MCP支持OpenDeepWiki支持MCP(ModelContextProtocol) - 支持单仓库提供MCPServer,针对单个仓库进行分析
使用方式:下面是cursor的使用方式: - {
- "mcpServers": {
- "OpenDeepWiki":{
- "url": "http://您的OpenDeepWiki服务IP:端口/sse?owner=AIDotNet&name=OpenDeepWiki"
- }
- }
- }
复制代码
- owner: 是仓库组织或拥有者的名称
- name: 是仓库的名称
添加好仓库以后进行测试提问(请注意,再次之前这个仓库需要先保证已经处理完成): 效果如图:
一个为开源项目提供AI文档分析 一分钟导入您的开源仓库或部署私有化导入公司内部仓库 十分钟不到就能完全 ...
通过这种方式,您可以作为MCPServer使用,提供给其他的AI模型进行调用,方便对一个开源项目进行分析和理解。 使用AI实现: - 下载源码到本地
- 根据仓库README.md进行分析
- 分析代码结构,并且根据需要读取代码文件,然后产生需要生成的目录json数据
- 根据目录分多个任务进行处理,每一个任务都是一个文档
- 根据任务开始读取代码文件,分析代码文件,生成代码文档,并且生存Mermaid图表表示代码结构依赖关系
- 生成最终的知识库文档
- 通过对话式的方式对仓库进行分析,回复用户的问题
高级配置环境变量- KOALAWIKI_REPOSITORIES 仓库存放路径
- TASK_MAX_SIZE_PER_USER 每个用户AI处理文档生成的最大并行数量
- CHAT_MODEL 必须要支持function的模型
- ENDPOINT API的Endpoint
- ANALYSIS_MODEL 分析模型,用于生成仓库目录结构
- CHAT_API_KEY 您的APIkey
- LANGUAGE 改变生成的文档的语言
- DB_TYPE 数据库类型,默认为sqlite
- DB_CONNECTION_STRING 数据库连接字符串
- MODEL_PROVIDER 模型提供商,默认为OpenAI 支持AzureOpenAI和Anthropic
- EnableSmartFilter 是否启用智能过滤,这可能影响AI得到仓库的文件目录
- UPDATE_INTERVAL 仓库增量更新间隔,单位天
- MAX_FILE_LIMIT 上传文件的最大限制,单位MB
- DEEP_RESEARCH_MODEL 深度研究模型,为空使用CHAT_MODEL
- ENABLE_INCREMENTAL_UPDATE 是否启用增量更新
- ENABLE_CODED_DEPENDENCY_ANALYSIS 是否启用代码依赖分析?这可能会对代码的质量产生影响。
- ENABLE_WAREHOUSE_FUNCTION_PROMPT_TASK # 是否启用MCP Prompt生成
提取码下载:
|