|
||
---|---|---|
api | ||
reference-deepwiki | ||
src | ||
src-tauri | ||
.gitignore | ||
DEVELOPMENT_PLAN.md | ||
QUICKSTART.md | ||
README.md | ||
index.html | ||
package-lock.json | ||
package.json | ||
postcss.config.js | ||
tailwind.config.js | ||
tsconfig.json | ||
tsconfig.node.json | ||
vite.config.ts |
README.md
红山智能开发助手 (Red Mountain Intelligent Development Assistant)
📖 项目概述
红山智能开发助手是一款基于大模型的智能开发辅助工具,专为红山开源平台生态打造。项目采用双核驱动架构,集成了智能问答助手和类似 DeepWiki 式代码仓库智能分析两大核心功能,并预留基于大模型的开源项目质量分析和缺陷检测等接口,旨在提升开发者在红山平台上的开发效率和质量。
✨ 核心功能
🎯 已实现(Demo 阶段)
- ✅ 现代化桌面应用界面 - 基于 Tauri + React + TypeScript
- ✅ 智能问答助手界面 - 支持与 AI 对话的聊天界面
- ✅ 代码仓库分析界面 - 支持 GitHub/GitLab/Bitbucket 仓库输入
- ✅ 后端 API 框架 - FastAPI 基础架构
- ✅ 配置管理 - 支持多种 AI 模型提供商
🚧 开发中
- 🔄 RAG 智能问答 - 基于检索增强生成的智能问答
- 🔄 代码仓库分析 - 自动生成代码文档和可视化图表
- 🔄 红山平台集成 - 与红山开源平台 API 集成
📋 规划中
- 📅 质量分析系统 - AI 驱动的代码质量评估
- 📅 缺陷检测 - 智能识别潜在代码缺陷
- 📅 安全漏洞扫描 - 自动检测安全问题
- 📅 最佳实践建议 - 提供改进建议
🏗️ 技术架构
前端技术栈
- 核心框架: Vite + React 18 + TypeScript
- 桌面应用: Tauri 2.0 (Rust)
- UI 框架: Tailwind CSS
- 路由: React Router v7
- 状态管理: Zustand
- Markdown 渲染: react-markdown
- 图表可视化: Mermaid
- HTTP 客户端: Axios
后端技术栈
- Web 框架: FastAPI
- AI 框架: adalflow
- 向量数据库: FAISS
- 嵌入模型: OpenAI / Google / Ollama
- 大语言模型: OpenAI GPT / Google Gemini / Azure OpenAI
- 数据处理: tiktoken, numpy
架构设计
┌─────────────────────────────────────────────────────────┐
│ Tauri Desktop App │
│ ┌─────────────────────────────────────────────────┐ │
│ │ React + TypeScript Frontend │ │
│ │ ┌──────────┬──────────┬──────────┬──────────┐ │ │
│ │ │ 智能 │ 代码 │ 质量 │ 设置 │ │ │
│ │ │ 问答 │ 分析 │ 检测 │ 管理 │ │ │
│ │ └──────────┴──────────┴──────────┴──────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│ HTTP/WebSocket
▼
┌─────────────────────────────────────────────────────────┐
│ Python FastAPI Backend │
│ ┌─────────────┬─────────────┬──────────────────────┐ │
│ │ Chat API │ RAG Core │ Repo Analysis │ │
│ │ │ │ │ │
│ │ • 对话管理 │ • 向量检索 │ • Git Clone │ │
│ │ • 上下文 │ • 文档分割 │ • 代码解析 │ │
│ │ • 流式输出 │ • 嵌入生成 │ • 文档生成 │ │
│ └─────────────┴─────────────┴──────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ LLM Integration Layer │ │
│ │ OpenAI • Google Gemini • Azure • Ollama │ │
│ └────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ 红山开源平台 API (Future) │
│ • 项目管理 • 代码托管 • CI/CD • 问题跟踪 │
└─────────────────────────────────────────────────────────┘
🚀 快速开始
环境要求
- Node.js: >= 18.0.0
- Python: >= 3.10
- Rust: >= 1.70 (Tauri 需要)
- 操作系统: Windows 10+, macOS 10.15+, Linux
安装步骤
1. 克隆项目
git clone <repository-url>
cd Red
2. 安装前端依赖
npm install
# 或
yarn install
3. 安装后端依赖
cd api
pip install -r requirements.txt
# 推荐使用虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
pip install -r requirements.txt
4. 配置环境变量
复制 .env.example
为 .env
并填入你的 API 密钥:
cp .env.example .env
编辑 .env
文件:
# 至少配置一个 AI 提供商
OPENAI_API_KEY=sk-...
# 或
GOOGLE_API_KEY=...
# 模型配置
MODEL_PROVIDER=openai
MODEL_NAME=gpt-4
# 嵌入模型
EMBEDDER_TYPE=openai
5. 启动开发服务器
终端 1 - 启动后端 API:
cd api
python -m main
终端 2 - 启动前端开发服务器:
npm run dev
# 或
yarn dev
终端 3 - 启动 Tauri 桌面应用(可选):
npm run tauri:dev
# 或
yarn tauri:dev
访问应用
- Web 开发模式: http://localhost:1420
- 桌面应用: Tauri 会自动打开桌面窗口
- API 文档: http://localhost:8001/docs
📂 项目结构
Red/
├── src/ # 前端源代码
│ ├── components/ # React 组件
│ │ ├── Layout.tsx # 布局组件
│ │ └── Sidebar.tsx # 侧边栏导航
│ ├── pages/ # 页面组件
│ │ ├── HomePage.tsx # 首页
│ │ ├── ChatPage.tsx # 智能问答页面
│ │ ├── WikiPage.tsx # 代码分析页面
│ │ ├── QualityPage.tsx # 质量检测页面
│ │ └── SettingsPage.tsx # 设置页面
│ ├── styles/ # 样式文件
│ ├── App.tsx # 应用入口
│ └── main.tsx # React 入口
│
├── src-tauri/ # Tauri Rust 后端
│ ├── src/
│ │ ├── main.rs # Rust 主文件
│ │ └── lib.rs # Rust 库文件
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
│
├── api/ # Python 后端 API
│ ├── __init__.py
│ ├── main.py # API 入口
│ ├── api.py # FastAPI 应用
│ ├── config.py # 配置管理
│ └── requirements.txt # Python 依赖
│
├── reference-deepwiki/ # DeepWiki 参考实现
│
├── package.json # Node.js 依赖
├── tsconfig.json # TypeScript 配置
├── vite.config.ts # Vite 配置
├── tailwind.config.js # Tailwind CSS 配置
└── README.md # 项目文档
🔧 配置说明
支持的 AI 模型提供商
OpenAI
OPENAI_API_KEY=sk-...
MODEL_PROVIDER=openai
MODEL_NAME=gpt-4
EMBEDDER_TYPE=openai
Google Gemini
GOOGLE_API_KEY=...
MODEL_PROVIDER=google
MODEL_NAME=gemini-pro
EMBEDDER_TYPE=google
Azure OpenAI
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_ENDPOINT=https://...
AZURE_OPENAI_VERSION=2024-02-15-preview
MODEL_PROVIDER=azure
Ollama (本地模型)
OLLAMA_HOST=http://localhost:11434
MODEL_PROVIDER=ollama
MODEL_NAME=llama3
EMBEDDER_TYPE=ollama
📝 开发计划
详细的开发计划请参见 DEVELOPMENT_PLAN.md
阶段规划
第一阶段:基础框架搭建 ✅ (当前)
- ✅ 项目结构设计
- ✅ 前端界面开发
- ✅ 后端 API 框架
- ✅ 配置管理系统
第二阶段:核心功能实现 (2-4 周)
- 🔄 RAG 智能问答实现
- 🔄 代码仓库分析功能
- 🔄 向量数据库集成
- 🔄 WebSocket 实时通信
第三阶段:平台集成 (2-3 周)
- 📅 红山平台 API 集成
- 📅 用户认证和授权
- 📅 项目管理功能
第四阶段:质量检测 (3-4 周)
- 📅 代码质量分析
- 📅 缺陷检测
- 📅 安全漏洞扫描
- 📅 报告生成
第五阶段:优化和发布 (1-2 周)
- 📅 性能优化
- 📅 用户体验改进
- 📅 文档完善
- 📅 正式发布
🤝 参考项目
本项目参考了以下优秀开源项目:
- DeepWiki - 代码仓库智能分析的实现参考
- 关键技术借鉴:
- RAG (检索增强生成) 架构
- 向量嵌入和文档检索
- 多种 LLM 模型集成
- WebSocket 流式输出
📄 许可证
MIT License
👥 贡献
欢迎贡献代码、提出问题和建议!
📧 联系方式
- 项目地址: [GitHub Repository URL]
- 问题反馈: [Issues URL]
Built with ❤️ for Red Mountain Open Source Platform