GitHub助手
 
人工智能驱动的GitHub Assistant,具有代码审查和问题分析功能。使用React、Express.js构建,并与LM Studio集成用于本地AI处理。
特性
- 🔐 使用GitHub令牌进行用户身份验证
- 🔍 基于人工智能的GitHub问题分析
- 📝 针对任何存储库的智能代码审查
- 🤖 通过LM Studio进行本地LLM集成
- 🎨 带有shadcn/UI组件的现代UI
项目结构
.
├── front-end/ # React + TypeScript frontend
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── pages/ # Page components
│ │ └── services/ # API service layer
│ └── package.json
│
├── MCP/ # Express.js backend
│ ├── src/
│ │ ├── server/
│ │ │ ├── config/ # Configuration files
│ │ │ ├── middleware/ # Express middleware
│ │ │ ├── models/ # MongoDB models
│ │ │ ├── routes/ # API routes
│ │ │ └── services/ # Business logic
│ │ └── index.js
│ └── package.json
│
└── README.md先决条件
- Node.js(v18或更高版本)
- MongoDB Atlas帐户或本地MongoDB实例
- GitHub个人访问令牌
- LM Studio(用于本地AI处理)
安装
1.克隆存储库
git clone
cd github-assistant2.后端设置
cd MCP
npm install创建一个 .env 文件基于 .env.example:
cp .env.example .env配置环境变量:
PORT=3000
LM_STUDIO_URL=http://127.0.0.1:1234
CONNECTION_STRING=mongodb+srv://username:password@cluster.mongodb.net/database-name?retryWrites=true&w=majority
JWT_SECRET=your-secret-key-here3.前端设置
cd ../front-end
npm install创建一个 .env 文件基于 .env.example:
cp .env.example .env配置环境变量:
VITE_API_URL=http://localhost:3000运行应用程序
启动LM工作室
- 打开LM工作室
- 加载您喜欢的模型
- 启动本地服务器(默认:http://127.0.0.1:1234)
启动后端服务器
cd MCP
npm start对于自动重新加载的开发:
npm run devAPI将于 http://localhost:3000
启动前端
cd front-end
npm run dev该应用程序将在 http://localhost:5173
API终点
认证
注册用户
POST /api/v1/users/register
Content-Type: application/json
{
"owner": "YOUR_GITHUB_USERNAME",
"githubToken": "YOUR_GITHUB_TOKEN"
}登录
POST /api/v1/users/login
Content-Type: application/json
{
"owner": "YOUR_GITHUB_USERNAME",
"githubToken": "YOUR_GITHUB_TOKEN"
}受保护的端点
所有受保护的端点都需要JWT身份验证:
Authorization: Bearer 分析问题
GET /api/github/:repoName/issues查看代码文件
GET /api/review/:repoName/file?path=PATH_TO_FILE健康检查
GET /health技术栈
前端
- 反应18
- TypeScript
- 维特
- TanStack查询(React查询)
- React路由器
- shadcn/ui
- Tailwind CSS
- Zod(验证)
后端
- Node.js
- Express.js
- MongoDB(Mongoose)
- JWT身份验证
- Octokit(GitHub API)
- 阿西奥斯
- bcryptjs
发展
前端开发
cd front-end
npm run dev # Start dev server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint后端开发
cd MCP
npm run dev # Start with auto-reload
npm start # Start production server安全说明
- 永不承诺
.env文件到版本控制 - 确保您的GitHub代币安全
- 在生产中使用强大的JWT机密
- 定期轮换凭据
- 使用特定于环境的配置
贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
许可证
麻省理工学院
支持
有关问题和疑问,请在GitHub存储库中打开问题。
