Dhruv-sehra/codeoptima
GitHub: Dhruv-sehra/codeoptima
CodeOptima 是一个结合 AST 静态分析与 AI 大模型的 Python 代码质量分析、评分及智能重构平台。
Stars: 0 | Forks: 0
🚀 CodeOptima
基于 AI 的 Python 代码分析与智能重构平台
## 🌟 概述
**CodeOptima** 是一个基于 AI 的 Python 代码质量分析平台,它将传统的静态分析与现代基于 LLM 的代码优化相结合。
该应用程序使用抽象语法树(AST)分析 Python 代码,检测安全漏洞,评估代码复杂度,强制执行最佳实践,计算总体质量得分,并使用 **Groq 的 Llama-3.3-70B-Versatile** 模型提供基于规则的修复和 AI 辅助重构。
无论您是在学习 Python、审查代码,还是在提升生产环境代码的质量,CodeOptima 都能通过并排对比和详细说明提供具有可操作性的见解。
## 🚀 亮点
- 🧠 使用 **Groq Llama-3.3-70B-Versatile** 进行 AI 驱动的重构
- 🔍 基于 AST 的静态代码分析
- 📊 加权代码质量评分(安全性、性能、最佳实践、复杂度)
- 🛡️ 安全与性能问题检测
- 📂 粘贴代码或上传 Python 文件
- ⚖️ 原始代码与优化后代码的并排对比
- 💾 下载优化后的 Python 代码
# ✨ 功能特性
|
### 🧠 AI 驱动的重构
- 由 **Groq Llama-3.3-70B-Versatile** 提供支持
- 生成优化的 Python 代码
- 解释每一项改进
- 代码并排对比
|
### 🔍 静态代码分析
- 基于 AST 的检查
- 语法验证
- 风格分析
- 最佳实践检测
|
|
### 📊 代码质量评分
- 加权评分系统
- 字母等级(A–F)
- 复杂度分类
- 问题摘要仪表板
|
### ⚡ 性能分析
- 嵌套循环检测
- 复杂度评估
- 优化建议
- 重构建议
|
|
### 🛡 安全检查
- 检测不安全的编码模式
- 突出显示有风险的构造
- 建议安全的替代方案
|
### 📂 灵活的输入方式
- 粘贴 Python 代码
- 上传 `.py` 文件
- 支持最多 500 行的文件
- 下载改进后的 Python 代码
|
# 📸 应用预览
## 🏠 主界面
## 📂 上传 Python 文件
## 📊 代码质量仪表板
## ⚡ 基于规则的优化
## 🤖 AI 驱动的重构
## 📝 AI 重构详情
B[Syntax Validation]
B --> C[AST Parsing]
C --> D[Static Analysis]
D --> E[Complexity Analysis]
E --> F[Issue Classification]
F --> G[Quality Score]
G --> H{Choose Optimization}
H -->|Rule-Based| I[Auto Fix]
H -->|AI| J[Groq Llama 3.3 70B]
I --> K[Improved Code]
J --> K
K --> L[Download Python File]
```
# 🚀 快速开始
## 前置条件
在运行 CodeOptima 之前,请确保您具备:
- Python **3.11+**
- Git
- 一个 **Groq API Key**
## 克隆仓库
```
git clone https://github.com/Dhruv-sehra/codeoptima.git
cd codeoptima
```
## 创建虚拟环境
### Windows
```
python -m venv venv
venv\Scripts\activate
```
### macOS / Linux
```
python3 -m venv venv
source venv/bin/activate
```
## 安装依赖
```
pip install -r requirements.txt
```
## 配置环境变量
在项目根目录下创建一个 `.env` 文件。
```
GROQ_API_KEY=your_api_key_here
```
## 启动应用
```
streamlit run app.py
```
应用程序将自动在您的浏览器中打开。
```
http://localhost:8501
```
# 💻 如何使用
### 1️⃣ 提供 Python 代码
选择以下方式之一:
* 粘贴 Python 代码
* 上传 `.py` 文件
### 2️⃣ 运行分析
点击
```
Run Full Analysis Pipeline
```
CodeOptima 将执行:
* ✅ 语法验证
* ✅ AST 解析
* ✅ 静态分析
* ✅ 复杂度分析
* ✅ 安全检查
* ✅ 代码质量评分
* ✅ 问题分类
### 3️⃣ 选择优化模式
您可以在以下模式之间进行选择:
### 基于规则的优化
使用确定性规则来提高代码质量。
### AI 重构
使用 **Groq Llama-3.3-70B-Versatile** 智能重构代码,同时解释每一项改进。
### 4️⃣ 查看结果
查看:
* 总体代码质量得分
* 评级
* 复杂度级别
* 问题表格
* 并排对比
* AI 改进摘要
### 5️⃣ 导出
将优化后的 Python 代码下载为 `.py` 文件。
# 🛠️ 技术栈
| 类别 | 技术 |
|----------|--------------|
| **语言** | Python 3.11 |
| **前端** | Streamlit |
| **静态分析** | Python AST |
| **AI 模型** | Groq Llama-3.3-70B-Versatile |
| **数据处理** | Pandas |
| **代码转换** | astunparse |
| **配置管理** | python-dotenv |
| **版本控制** | Git & GitHub |
# 📊 代码质量评分
CodeOptima 使用加权评分系统评估 Python 代码,该系统旨在平衡可维护性、安全性和性能。
| 类别 | 权重 |
|----------|-------:|
| 🛡️ 安全性 | **30%** |
| 📖 最佳实践 | **25%** |
| ⚡ 性能 | **20%** |
| 🔍 复杂度 | **25%** |
最终得分将转换为字母评级,以便快速评估。
| 得分 | 评级 |
|-------:|:-----:|
| 90–100 | ⭐ A |
| 80–89 | 🟢 B |
| 70–79 | 🟡 C |
| 60–69 | 🟠 D |
| 低于 60 | 🔴 F |
# 🛣️ 路线图
### ✅ 已完成
- [x] Python AST 解析
- [x] 静态代码分析
- [x] 复杂度分析
- [x] 安全检测
- [x] 代码质量评分卡
- [x] 基于规则的重构
- [x] 使用 Groq 进行 AI 重构
- [x] 上传 Python 文件
- [x] 下载优化后的 Python 代码
- [x] 代码并排对比
### 🚧 计划中
- [ ] 多文件项目分析
- [ ] GitHub 仓库分析
- [ ] 导出 PDF 报告
- [ ] 导出 HTML 报告
- [ ] 导出 JSON 报告
- [ ] Docker 支持
- [ ] REST API
- [ ] VS Code 插件
- [ ] 多 LLM 支持(OpenAI、Gemini、Claude)
# 🤝 贡献
欢迎提交贡献、建议和 Bug 报告。
如果您想改进 CodeOptima:
1. Fork 该仓库。
2. 创建一个新的功能分支。
3. 提交您的更改。
4. 提交一个 Pull Request。
如果您计划进行重大功能或架构更改,请先提一个 Issue。
# 📜 许可证
该项目基于 **MIT 许可证** 授权。
有关更多详细信息,请参阅 `LICENSE` 文件。
# 👨💻 作者
**Dhruv Sehra**
AI/ML 工程师 | Python 开发者 | 智能软件系统
- GitHub: https://github.com/Dhruv-sehra
- LinkedIn: https://www.linkedin.com/in/dhruvsehra
如果您觉得这个项目有用,欢迎在 GitHub 上给它点个 ⭐。
标签:AI代码重构, DLL 劫持, Kubernetes, Python, Streamlit, 云安全监控, 代码分析, 凭证管理, 大语言模型, 无后门, 访问控制, 逆向工具, 静态分析