🛠️ CodeWhisper Forge
基于人工智能的问题解决与成功率预测
CodeWhisper Forge是一个智能开发人员助手,可以分析代码问题,根据历史数据预测解决方案的成功率,并可以自动生成修复程序。它使用Node.js和Python构建,结合了多种AI模型和数据源,提供全面的问题解决指导。
______________________________________________________________________
✨ 特性
🎯 问题解决预测器(IRP)
- 分析类似的已关闭GitHub问题
- 计算不同解决方案的成功率
- 提供基于证据的建议和置信度评分
🤖 自动修复生成器(AFG)
- 使用AI自动生成代码修复
- 创建拉取就绪文件更改
- 支持测试的干运行模式
🔍 智能查询分析
- 使用Google Gemini AI进行智能查询理解
- 自动提取关键字、技术堆栈和严重性
- AI不可用时增强的回退系统
🌐 多源上下文
- GitHub集成:问题、提交、存储库信息、存储库趋势
- 堆栈溢出:与投票分数相关的问答
- AI增强响应:包含代码示例的全面解决方案
______________________________________________________________________
🏗️ 建筑
┌─────────────────┐
│ Streamlit UI │ (Python - app.py)
│ Port: 8501 │
└────────┬────────┘
│ HTTP POST
▼
┌─────────────────┐
│ Express API │ (Node.js - server.js)
│ Port: 3000 │
└────────┬────────┘
│
├──► 🤖 Gemini AI (Query Analysis + Fix Generation)
├──► 🐙 GitHub API (Issues, Commits, Repos)
├──► 💡 Stack Overflow API (Q&A Search)
└──► 🧠 Hugging Face (Optional)______________________________________________________________________
📋 先决条件
- Node.js >=18.x
- python >= 3.8
- npm 或 纱线
- 点 (Python包管理器)
______________________________________________________________________
🚀 快速开始
1.️⃣ 克隆存储库
git clone
cd TAMU-MCP-NSDK2.️⃣ 安装后端依赖关系
npm install3.️⃣ 安装前端依赖项
pip install -r requirements.txt4.️⃣ 配置环境变量
创建一个 .env 根目录中的文件:
cp .env.example .env编辑 .env 使用API密钥:
# Required for AI features
GEMINI_API_KEY=your_gemini_api_key_here
# Optional but recommended
GITHUB_TOKEN=your_github_personal_access_token
# Optional
HF_TOKEN=your_huggingface_token
PORT=30005.️⃣ 启动后端服务器
node server.js您应该看到:
🔥 CodeWhisper Forge v9 - WINNING EDITION
📡 Server: http://localhost:3000
✨ Features: Issue Resolution Predictor + Auto-Fix Generator6.️⃣ 启动前端用户界面
在其中 新终端窗口:
streamlit run app.pyUI将在以下时间自动打开 http://localhost:8501
______________________________________________________________________
🔑 获取API密钥
Gemini API密钥(AI功能所需)
- 访问 谷歌人工智能工作室
- 使用您的Google帐户登录
- 单击“创建API密钥”
- 复制密钥并将其添加到您的
.env文件
GitHub Token(可选但推荐)
- 首选
- 点击“生成新令牌(经典)”
- 选择范围:
public_repo,read:org - 生成并复制令牌
- 将其添加到您的
.env文件
备注:如果没有GitHub令牌,您将被限制为每小时60个API请求。
拥抱脸令牌(可选)
- 访问 拥抱面部设置
- 创建新的访问令牌
- 将其添加到您的
.env文件
______________________________________________________________________
📖 用法
Web界面(推荐)
- 打开
http://localhost:8501在浏览器中 - 输入您的查询(例如,“节点22获取时内存泄漏”)
- 指定GitHub存储库(所有者+名称)
- 启用功能:
- ✅ 国际比较方案:问题解决预测器 - 🤖 任意函数发生器:自动修复生成器
- 点击“⚡ 使用CodeWhisper Forge进行分析
API端点
发布 http://localhost:3000/mcp
请求正文:
{
"query": "Memory leak with Node 22 fetch",
"repoOwner": "vercel",
"repoName": "next.js",
"enableIRP": true,
"enableAFG": {
"dryRun": true,
"base": "main"
}
}答复:
{
"success": true,
"analysis": { ... },
"context": { ... },
"predictions": { ... },
"prPlan": { ... },
"ai_response": "...",
"metadata": { ... }
}健康检查
获取 http://localhost:3000/health
{
"status": "healthy",
"gemini": true,
"github_token": true,
"now": "2025-11-09T12:00:00.000Z"
}______________________________________________________________________
🎨 查询示例
| 查询 | 存储库 | 预期结果 |
|---|---|---|
| “节点22读取时内存泄漏” | vercel/next.js | 性能分析、内存优化提示 |
| “OAuth身份验证失败” | supabase/auth | 身份验证相关问题,智威汤逊解决方案 |
| “webpack 5生成错误” | webpack/webpack | 构建配置修复 |
| “反应水合不匹配” | facebook/react | SSR/水合溶液 |
______________________________________________________________________
📁 项目结构
TAMU-MCP-NSDK/
├── server.js # Node.js Express backend
├── app.py # Python Streamlit frontend
├── package.json # Node.js dependencies
├── requirements.txt # Python dependencies
├── .env # Environment variables (create this)
├── .env.example # Environment template
├── .gitignore # Git ignore rules
└── README.md # This file______________________________________________________________________
🔧 配置
后端(server.js)
- 端口:通过设置
PORTenv变量(默认值:3000) - 缓存TTL:300秒(5分钟)
- 超时:
- GitHub API:10秒 - 堆栈溢出:10秒 - 人工智能生成:60秒
前端(app.py)
- 基本URL:硬编码为
http://localhost:3000 - 请求超时:90秒
- 布局:宽模式,扩展侧边栏
______________________________________________________________________
🧪 功能深潜
问题解决预测器(IRP)
分析多达30个类似的已解决问题,以确定成功的解决方案模式:
- 成功指标:“此方法有效”、“已修复”、“解决”、“已经解决”
- 故障指示器:“不起作用”、“仍然损坏”、“同样的问题”
- 解决方案类型:
- 升级依赖关系 - 降级依赖性 - 配置更改 - 代码修复 - 变通方案
- 置信水平:
- 高:3+类似案例 - 中等:2起类似案件 - 低:1例或更少
自动修复生成器(AFG)
使用AI生成代码修复:
- 干运行模式 (默认):显示建议的更改,而不创建PR
- 直播模式:创建实际的GitHub分支和PR(需要
GITHUB_TOKEN) - 输出:Base64编码文件内容、行数、更改原因
______________________________________________________________________
🐛 故障排除
后端无法启动
# Check if port 3000 is already in use
lsof -i :3000
# Kill the process if needed
kill -9
“未配置Gemini API”
- 验证
GEMINI_API_KEY在.env - 重新启动服务器:
node server.js
“超过了GitHub API速率限制”
- 添加
GITHUB_TOKEN到.env将限制从每小时60个请求增加到5000个请求 - 等待一小时以重置速率限制
前端无法连接到后端
- 确保后端在端口3000上运行
- 检查防火墙设置
- 尝试
http://127.0.0.1:3000/health在浏览器中
Python依赖项安装失败
# Upgrade pip first
pip install --upgrade pip
# Install with verbose output
pip install -r requirements.txt -v______________________________________________________________________
🔒 安全说明
- 永不承诺
.env文件到版本控制 - 对所有敏感数据使用环境变量
- GitHub令牌应具有最小的所需作用域
- 定期旋转API键
- 应用前查看自动修复生成器更改
______________________________________________________________________
🚀 性能提示
- 启用GitHub令牌:大幅提高API限值
- 有选择地使用IRP:禁用简单查询以加快响应速度
- 缓存结果:后端对重复查询使用5分钟缓存
- 优化查询:要具体,以获得更好、更快的结果
______________________________________________________________________
🤝 贡献
这个项目是为TAMU黑客马拉松而建的。欢迎投稿!
开发环境设置
- 分叉存储库
- 创建要素分支:
git checkout -b feature/amazing-feature - 进行更改
- 彻底测试
- 承诺:
git commit -m 'Add amazing feature' - 推:
git push origin feature/amazing-feature - 打开拉取请求
______________________________________________________________________
📝 许可证
ISC许可证-请参阅 package.json 了解详情。
______________________________________________________________________
🙏 致谢
- 谷歌双子座:AI驱动的查询分析
- GitHub API:存储库和问题数据
- 堆栈溢出API:社区解决方案
- 溪流:漂亮的Python UI框架
- Express.js:快速Node.js web框架
______________________________________________________________________
📞 支持
对于问题、疑问或反馈:
- 检查 故障排除 章节
- 审查API密钥配置
- 在GitHub上打开一个问题
______________________________________________________________________
🎯 路线图
- \[\]支持更多AI模型(Claude,GPT-4)
- \[\]GitLab和Bitbucket集成
- \[\]定制解决方案模式培训
- \[\]实时协作功能
- \[\]浏览器扩展
- \[\]VS代码扩展名
______________________________________________________________________
内置❤️ 对于开发人员,由开发人员
