docs: remove technical stack and project structure sections from README

- Remove "🛠️ 技术栈" section including frontend, backend, and data storage technology tables
- Remove "📁 项目结构" section with detailed project directory structure
- Remove "🎯 使用指南" section including system configuration, instant analysis, project management, audit tasks, report export, and build/deployment instructions
- Remove backend environment variables documentation and configuration tables
- Remove "🙏 致谢" (acknowledgments) section with technology and AI platform credits
- Simplify README by focusing on core content and removing detailed technical documentation that can be maintained separately
This commit is contained in:
lintsinghua 2025-11-28 23:04:28 +08:00
parent 2b73ca1af4
commit 14dec67b22
1 changed files with 0 additions and 265 deletions

265
README.md
View File

@ -395,234 +395,6 @@ XCodeReviewer 支持 10+ 主流 LLM 平台,可根据需求自由选择:
- **权限控制**:基于角色的访问控制 - **权限控制**:基于角色的访问控制
</details> </details>
## 🛠️ 技术栈
### 前端技术栈
| 分类 | 技术 | 说明 |
| :--- | :--- | :--- |
| **前端框架** | `React 18` `TypeScript` `Vite` | 现代化前端开发栈,支持热重载和类型安全 |
| **UI 组件** | `Tailwind CSS` `Radix UI` `Lucide React` | 响应式设计,无障碍访问,丰富的图标库 |
| **数据可视化** | `Recharts` | 专业的图表库,支持多种图表类型 |
| **路由管理** | `React Router v6` | 单页应用路由解决方案 |
| **状态管理** | `React Hooks` `Sonner` | 轻量级状态管理和通知系统 |
| **HTTP 客户端** | `Axios` `Ky` | 现代化的 HTTP 请求库 |
| **代码质量** | `Biome` `Ast-grep` `TypeScript` | 代码格式化、静态分析和类型检查 |
| **构建工具** | `Vite` `PostCSS` `Autoprefixer` | 快速的构建工具和 CSS 处理 |
### 后端技术栈
| 分类 | 技术 | 说明 |
| :--- | :--- | :--- |
| **Web 框架** | `FastAPI` | 高性能异步 Python Web 框架 |
| **数据库** | `PostgreSQL` `SQLAlchemy` `Alembic` | 关系型数据库 + ORM + 数据库迁移 |
| **认证授权** | `python-jose` `passlib` `bcrypt` | JWT Token 认证和密码加密 |
| **LLM 集成** | `LiteLLM` | 统一的 LLM API 适配层,支持 10+ 平台 |
| **HTTP 客户端** | `httpx` | 异步 HTTP 客户端 |
| **数据验证** | `Pydantic` | 数据验证和序列化 |
### 数据存储
| 分类 | 技术 | 说明 |
| :--- | :--- | :--- |
| **前端本地存储** | `IndexedDB` | 浏览器本地数据库,开箱即用 |
| **云端数据库** | `Supabase` | 可选的云端数据同步 |
| **后端数据库** | `PostgreSQL` | 生产环境推荐的关系型数据库 |
## 📁 项目结构
```
XCodeReviewer/
├── frontend/ # 前端项目
│ ├── src/
│ │ ├── app/ # 应用配置和路由
│ │ │ ├── App.tsx # 主应用组件
│ │ │ ├── main.tsx # 应用入口点
│ │ │ ├── routes.tsx # 路由配置
│ │ │ └── ProtectedRoute.tsx # 路由守卫
│ │ ├── components/ # React 组件
│ │ │ ├── layout/ # 布局组件 (Sidebar, PageMeta)
│ │ │ ├── ui/ # UI 组件库 (基于 Radix UI)
│ │ │ ├── system/ # 系统配置组件
│ │ │ ├── database/ # 数据库管理组件
│ │ │ ├── audit/ # 审计任务组件
│ │ │ ├── analysis/ # 分析进度组件
│ │ │ ├── reports/ # 报告导出组件
│ │ │ └── debug/ # 调试组件
│ │ ├── pages/ # 页面组件
│ │ │ ├── Dashboard.tsx # 仪表盘
│ │ │ ├── Projects.tsx # 项目管理
│ │ │ ├── InstantAnalysis.tsx # 即时分析
│ │ │ ├── AuditTasks.tsx # 审计任务
│ │ │ ├── AdminDashboard.tsx # 系统管理
│ │ │ ├── Login.tsx # 登录页面
│ │ │ ├── Register.tsx # 注册页面
│ │ │ └── Account.tsx # 账户管理
│ │ ├── features/ # 功能模块
│ │ │ ├── analysis/ # 代码分析服务
│ │ │ ├── projects/ # 项目扫描服务
│ │ │ └── reports/ # 报告生成服务
│ │ ├── shared/ # 共享工具
│ │ │ ├── api/ # API 客户端
│ │ │ ├── config/ # 配置文件
│ │ │ ├── context/ # React Context
│ │ │ ├── hooks/ # 自定义 Hooks
│ │ │ ├── i18n/ # 国际化
│ │ │ ├── types/ # TypeScript 类型
│ │ │ └── utils/ # 工具函数
│ │ └── assets/ # 静态资源
│ └── public/ # 公共资源
├── backend/ # 后端项目
│ ├── app/
│ │ ├── api/ # API 路由
│ │ │ └── v1/
│ │ │ └── endpoints/ # API 端点
│ │ │ ├── auth.py # 认证接口
│ │ │ ├── users.py # 用户管理
│ │ │ ├── projects.py # 项目管理
│ │ │ ├── tasks.py # 任务管理
│ │ │ ├── scan.py # 代码扫描
│ │ │ ├── config.py # 配置管理
│ │ │ └── database.py # 数据库操作
│ │ ├── core/ # 核心模块
│ │ │ ├── config.py # 配置管理
│ │ │ ├── security.py # 安全认证
│ │ │ └── encryption.py # 加密工具
│ │ ├── db/ # 数据库
│ │ │ ├── base.py # 数据库基类
│ │ │ └── session.py # 数据库会话
│ │ ├── models/ # 数据模型
│ │ │ ├── user.py # 用户模型
│ │ │ ├── project.py # 项目模型
│ │ │ ├── audit.py # 审计模型
│ │ │ └── analysis.py # 分析模型
│ │ ├── schemas/ # Pydantic 模式
│ │ │ ├── user.py # 用户模式
│ │ │ └── token.py # Token 模式
│ │ ├── services/ # 业务服务
│ │ │ ├── llm/ # LLM 服务
│ │ │ │ ├── factory.py # LLM 工厂
│ │ │ │ ├── service.py # LLM 服务
│ │ │ │ ├── base_adapter.py # 基础适配器
│ │ │ │ └── adapters/ # 平台适配器
│ │ │ │ ├── litellm_adapter.py # LiteLLM 统一适配
│ │ │ │ ├── baidu_adapter.py # 百度适配器
│ │ │ │ ├── minimax_adapter.py # MiniMax 适配器
│ │ │ │ └── doubao_adapter.py # 豆包适配器
│ │ │ ├── scanner.py # 代码扫描服务
│ │ │ └── zip_storage.py # ZIP 文件存储
│ │ └── main.py # 应用入口
│ ├── alembic/ # 数据库迁移
│ └── uploads/ # 上传文件存储
├── supabase/ # Supabase 配置
│ └── migrations/ # 数据库迁移文件
├── docker-compose.yml # Docker Compose 配置(开发环境)
├── Dockerfile # 前端生产环境 Docker 镜像
├── nginx.conf # Nginx 配置(生产环境)
└── scripts/ # 构建和设置脚本
```
## 🎯 使用指南
### 系统配置(首次使用必看)
访问 `/admin` 系统管理页面,在"系统配置"标签页中配置:
#### 1. **配置 LLM 提供商**
- 选择您要使用的 LLM 平台Gemini、OpenAI、Claude 等)
- 填入 API Key支持通用 Key 或平台专用 Key
- 可选配置模型名称、API 基础 URL用于中转站
#### 2. **配置 API 中转站**(如果使用)
- 在"API 基础 URL"中填入中转站地址(如 `https://your-proxy.com/v1`
- 填入中转站提供的 API Key
- 保存配置
#### 3. **调整分析参数**(可选)
- 最大分析文件数、并发请求数、请求间隔
- 输出语言(中文/英文)
**配置完成后点击"保存所有更改"并刷新页面即可使用。**
### 即时代码分析
1. 访问 `/instant-analysis` 页面
2. 选择编程语言(支持 10+ 种语言)
3. 粘贴代码或上传文件
4. 点击"开始分析"获得 AI 分析结果
5. 查看详细的问题报告和修复建议
### 项目管理
1. 访问 `/projects` 页面
2. 点击"新建项目"创建项目
3. 配置仓库 URL 和扫描参数
4. 启动代码审计任务
5. 查看审计结果和问题统计
### 审计任务
1. 在项目详情页创建审计任务
2. 选择扫描分支和排除模式
3. 配置分析深度和范围
4. 监控任务执行状态
5. 查看详细的问题报告
### 审计报告导出
1. 在任务详情页点击"导出报告"按钮
2. 选择导出格式:
- **JSON 格式**:结构化数据,适合程序处理和集成
- **PDF 格式**:专业报告,适合打印和分享(通过浏览器打印功能)
3. JSON 报告包含完整的任务信息、问题详情和统计数据
4. PDF 报告提供美观的可视化展示,支持中文显示
### 构建和部署
```bash
# 前端开发模式
cd frontend && pnpm dev
# 前端构建生产版本
cd frontend && pnpm build
# 后端开发模式
cd backend && uvicorn app.main:app --reload
# 代码检查
cd frontend && pnpm lint
```
### 后端环境变量说明
#### 核心配置
| 变量名 | 必需 | 默认值 | 说明 |
|--------|------|--------|------|
| `POSTGRES_SERVER` | ✅ | `localhost` | PostgreSQL 服务器地址 |
| `POSTGRES_USER` | ✅ | `postgres` | 数据库用户名 |
| `POSTGRES_PASSWORD` | ✅ | `postgres` | 数据库密码 |
| `POSTGRES_DB` | ✅ | `xcodereviewer` | 数据库名称 |
| `SECRET_KEY` | ✅ | - | JWT 密钥(生产环境必须修改) |
#### LLM 配置
| 变量名 | 必需 | 默认值 | 说明 |
|--------|------|--------|------|
| `LLM_PROVIDER` | ✅ | `openai` | LLM 提供商 |
| `LLM_API_KEY` | ✅ | - | API Key |
| `LLM_MODEL` | ❌ | 自动 | 模型名称 |
| `LLM_BASE_URL` | ❌ | - | API 中转站地址 |
| `LLM_TIMEOUT` | ❌ | `150` | 请求超时(秒) |
| `LLM_TEMPERATURE` | ❌ | `0.1` | 温度参数 |
| `LLM_MAX_TOKENS` | ❌ | `4096` | 最大输出 Token |
#### 仓库扫描配置
| 变量名 | 默认值 | 说明 |
|--------|--------|------|
| `GITHUB_TOKEN` | - | GitHub Personal Access Token |
| `GITLAB_TOKEN` | - | GitLab Personal Access Token |
| `MAX_ANALYZE_FILES` | `50` | 单次最大分析文件数 |
| `MAX_FILE_SIZE_BYTES` | `204800` | 单文件最大大小(字节) |
| `LLM_CONCURRENCY` | `3` | LLM 并发请求数 |
| `LLM_GAP_MS` | `2000` | 请求间隔(毫秒) |
## 🤝 贡献指南 ## 🤝 贡献指南
我们热烈欢迎所有形式的贡献!无论是提交 issue、创建 PR还是改进文档您的每一次贡献对我们都至关重要。请联系我们了解详细信息。 我们热烈欢迎所有形式的贡献!无论是提交 issue、创建 PR还是改进文档您的每一次贡献对我们都至关重要。请联系我们了解详细信息。
@ -635,43 +407,6 @@ cd frontend && pnpm lint
4. 推送到分支 (`git push origin feature/AmazingFeature`) 4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建一个 **Pull Request** 5. 创建一个 **Pull Request**
## 🙏 致谢
### 核心技术支持
- **[React](https://reactjs.org/)** & **[Vite](https://vitejs.dev/)**: 提供现代化的前端开发体验
- **[FastAPI](https://fastapi.tiangolo.com/)**: 高性能 Python Web 框架
- **[TypeScript](https://www.typescriptlang.org/)**: 提供类型安全保障
- **[Tailwind CSS](https://tailwindcss.com/)**: 提供现代化的 CSS 框架
- **[Radix UI](https://www.radix-ui.com/)**: 提供无障碍的 UI 组件库
- **[LiteLLM](https://github.com/BerriAI/litellm)**: 统一的 LLM API 适配层
### AI 平台支持
- **[Google Gemini AI](https://ai.google.dev/)**: 提供强大的 AI 分析能力
- **[OpenAI](https://openai.com/)**: GPT系列模型支持
- **[Anthropic Claude](https://www.anthropic.com/)**: Claude模型支持
- **[DeepSeek](https://www.deepseek.com/)**: 国产AI大模型支持
- **[阿里云通义千问](https://tongyi.aliyun.com/)**: 企业级AI服务
- **[智谱AI](https://www.zhipuai.cn/)**: GLM系列模型
- **[Moonshot AI](https://www.moonshot.cn/)**: Kimi模型支持
- **[Ollama](https://ollama.com/)**: 本地模型部署方案
### 数据存储
- **[PostgreSQL](https://www.postgresql.org/)**: 强大的关系型数据库
- **[Supabase](https://supabase.com/)**: 提供便捷的后端即服务支持
- **[IndexedDB](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API)**: 浏览器本地存储方案
### 功能组件
- **[Recharts](https://recharts.org/)**: 提供专业的图表组件
- **[Lucide Icons](https://lucide.dev/)**: 提供精美的图标库
- **[Sonner](https://sonner.emilkowal.ski/)**: 提供优雅的通知组件
- **[fflate](https://github.com/101arrowz/fflate)**: ZIP文件处理
### 特别感谢
- 感谢所有为本项目提交 Issue 和 Pull Request 的贡献者
- 感谢所有 Star 本项目的开发者
- 感谢开源社区的无私分享精神
- 以及所有本项目所使用的开源软件的作者们!
## 👥 贡献者 ## 👥 贡献者
感谢以下优秀的贡献者们,他们让 XCodeReviewer 更强大! 感谢以下优秀的贡献者们,他们让 XCodeReviewer 更强大!