uk0976/CodeMedic-AI
GitHub: uk0976/CodeMedic-AI
一个基于 Codex 的多智能体 AI 代码分析平台,将 bug 检测、安全扫描、性能优化与测试文档生成整合到浏览器端的统一工作流中。
Stars: 1 | Forks: 0
# CodeMedic AI
**修复。解释。优化。由 Codex 驱动。**
CodeMedic AI 是一个高级的、面向开发者的 AI 代码分析和优化平台。它将类似 cursor 的体验、Notion 般的丰富性以及 SonarQube 级别的详细诊断 pipeline 直接带到浏览器中。专为快速进行 codebase 扫描、安全漏洞检查、性能调优和自动化测试生成而设计。
## 🚀 核心功能
- **交互式编辑器工作区**:采用 Monaco Editor(VS Code 的引擎),支持完整的语法高亮、代码折叠、多光标、格式化 (`Alt+Shift+F`)、搜索以及拖拽式文件上传。
- **AI 分析引擎**:通过 OpenAI 的 Beta Response API 执行多层诊断扫描。运行 bug 检测、安全漏洞审计和性能分析,计算复杂度(时间/空间),并自动生成单元测试 boilerplate。
- **Server-Sent Events (SSE)**:将增量诊断阶段更新(`Analyzing...` -> `Reviewing...` -> `Security Audit...` -> `Done`)直接流式传输到浏览器。
- **报告目录与归档**:将每次诊断运行保存到历史 PostgreSQL 存储库中。支持列表查询、搜索、删除、复制和导出。
- **并排对比**:选择任意两份历史报告,对比代码质量得分的差值、bug 数量的减少情况以及安全得分的提升情况。
- **多格式导出**:一键将审计结果导出为:
- **PDF 报告**:多页自定义格式的 PDF,包含封面、指标网格、代码日志和页脚。
- **Markdown 报告**:对开发者友好的本地文档。
- **JSON Payload**:用于 CI/CD 集成的原始分析遥测数据。
- **优化后的源代码 / 单元测试**:下载即可运行的源文件。
- **引导式演示导览**:专为黑客松评委设计的跨页面分步入门工作流程,旨在无缝展示产品功能。
## 🛠 技术栈
- **Frontend**:Next.js 15, TypeScript, Tailwind CSS, Monaco Editor (`@monaco-editor/react`), Framer Motion(微交互), Lucide, TanStack Query。
- **Backend**:FastAPI, Python 3.12, SQLAlchemy ORM, PostgreSQL, Pydantic v2(设置与 schema), PyJWT, Uvicorn, ReportLab(PDF 生成)。
- **部署**:Docker Compose, Vercel(前端), Railway(后端)。
## 📦 项目架构
```
├── backend/
│ ├── app/
│ │ ├── api/v1/ # Health, Auth, Analysis, and Report routers
│ │ ├── core/ # Security token keys and logging configs
│ │ ├── database/ # DB session pooler
│ │ ├── models/ # User, Session, and AnalysisReport models
│ │ ├── repositories/ # Report CRUD database mappers
│ │ ├── schemas/ # Pydantic validation structures
│ │ ├── services/ # OpenAI Beta parsing and Prompt builders
│ │ └── utils/ # PDF generator helpers
│ ├── pyproject.toml # Package dependencies
│ └── alembic/ # Database migrations directory
├── frontend/
│ ├── app/ # Next.js App Router (Landing, Demo, Analyze, Reports)
│ ├── components/ # Reusable layouts, Monaco wraps, and UI components
│ ├── public/ # SEO assets, manifest, robots, sitemaps
│ └── package.json # Node dependency package
├── docker/ # Container images
└── docker-compose.yml # Orchestration compose
```
## ⚙ 环境变量
在您本地的 `.env` 文件中配置这些变量(请参阅根目录中的 `.env.example`):
```
# 数据库设置
DATABASE_URL=postgresql+psycopg://codemedic:codemedic@localhost:5432/codemedic
# 安全设置
JWT_SECRET_KEY=replace-with-a-long-random-secret-at-least-32-characters
JWT_ALGORITHM=HS256
# OpenAI 设置(AI 分析引擎必需)
OPENAI_API_KEY=your-openai-api-key-here
```
## 🚀 本地运行
### 选项 1:Docker Compose(最快捷)
1. 确保您的机器上正在运行 Docker。
2. 在项目根目录下,运行:
docker compose up --build
3. 打开 `http://localhost:3000` 访问应用程序。
### 选项 2:单独的开发服务器
#### 1. 设置后端
1. 导航至 backend 文件夹:
cd backend
2. 创建并激活 python 虚拟环境:
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
source .venv/bin/activate
3. 安装依赖项:
pip install -e ".[dev]"
4. 创建 `.env` 文件并填入密钥。
5. 运行 FastAPI 开发服务器:
python -m uvicorn app.main:app --reload --port 8000
#### 2. 设置前端
1. 导航至 frontend 文件夹:
cd ../frontend
2. 安装 npm 包:
npm ci
3. 启动 Next.js 开发服务器:
npm run dev
4. 通过 `http://localhost:3000` 访问 Web 应用程序。
## 📈 质量验证与测试
在提交之前,请验证项目的稳定性并进行类型格式化:
- **后端**:
cd backend
# 运行 lint 规则
.venv\Scripts\ruff check .
# 运行静态类型检查
.venv\Scripts\mypy .
- **前端**:
cd frontend
# 运行 lint 检查
npm run lint
# 运行 TypeScript 验证
npm run typecheck
# 运行生产环境构建编译
npm run build
## 🛡 许可证
基于 MIT 许可证分发。查看 `LICENSE` 了解更多信息。
## 🏆 黑客松详情
为 **OpenAI Codex Hackathon** 开发。
- **应用程序**:CodeMedic AI
- **宣传语**:修复。解释。优化。由 Codex 驱动。
标签:AI编程助手, Petitpotam, SOC Prime, 代码质量分析, 开发工具, 测试用例, 版权保护, 自动化攻击