Git推送摘要生成器

一个自动化服务器,监听GitHub推送事件,使用Qwen/Qwen2.5-72B-Instruct模型生成代码变更的智能摘要,并通过GitHub和Slack广播给团队。

  • by ThivankaD
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ThivankaD/Mcp

使用说明

🚀 Git推送摘要生成器(MCP Webhook代理)

一个监听GitHub的强大自动化服务器 推 事件,使用 Qwen/Qwen2.5-72B-说明书 模型生成代码更改的智能摘要,并通过GitHub和Slack将其广播给您的团队。


✨ 特性

  • 自主逻辑:每次自动运行 git push--无需手动创建PR。
  • AI驱动的摘要:通过HuggingFace推理API使用Qwen 2.5生成高级工程师风格的摘要。
  • 双通道通知:
    • 📝 帖子a 提交评论 直接在GitHub提交。
    • 💬 发送格式化的 Slack消息 到你的团队频道。

🏗️ 建筑

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub
    participant Server as MCP Server (FastAPI)
    participant HF as HuggingFace (Qwen 2.5)
    participant Slack as Slack Team

    Dev->>GH: git push
    GH->>Server: POST /webhook/github
    Server->>GH: GET /repo/compare (Fetch Diff)
    Server->>HF: Process Diff -> Summary
    HF-->>Server: AI Summary Content
    Server->>GH: POST Commit Comment
    Server->>Slack: POST Webhook Notification

🎯 为什么这个项目存在

现代团队经常推送代码,但是:

  • 提交消息通常很短或不清楚
  • 团队成员很难快速理解变化
  • 经理和评审员浪费时间阅读差异
  • 沟通差距减缓协作

虽然GitHub Copilot等工具在编码过程中为开发人员提供帮助,但它们的解释和总结是 不完全可定制 以匹配团队的工作流程、沟通风格或报告需求。

Git推送摘要生成器自动解决了这个问题。

  • 生成根据您自己的即时设计和工程标准量身定制的AI解释
  • 允许完全自定义摘要的编写、结构化和共享方式
  • 直接整合到现有的团队沟通渠道中

每一次推动都会变成 高级工程师风格讲解.


🛠️ 设置和安装

1.先决条件

  • Python 3.10+
  • 吸烟 (用于本地测试)
  • GitHub个人访问令牌(PAT)
  • HuggingFace API代币(拿过来)

2.克隆和设置

git clone https://github.com/ThivankaD/MCP.git
cd MCP/pr_agent_server
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt

3.环境配置

创建一个 .env 文件在 pr_agent_server 目录:

GITHUB_TOKEN=ghp_your_github_token
HF_API_KEY=hf_your_huggingface_token
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/Txxx/Bxxx/Xxxx

4.运行服务器

uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload

🔗 连接到GitHub

  1. 暴露您的服务器:
    ngrok http 8000
    
  2. 添加Webhook:
    • 转到您的GitHub Repo-> 设置 -> 网络钩子.
    • 有效载荷URL: https://<your-ngrok-url>/webhook/github
    • 内容类型: application/json
    • 事件:选择 只是推送事件.

📂 项目结构

  • app/main.py:FastAPI服务器和webhook入口点。
  • app/integrations/github.py:获取差异和发布评论的逻辑。
  • app/integrations/slack.py:发送Slack通知的逻辑。
  • app/tools/llm_summarizer.py:“大脑”-与HuggingFace和Qwen 2.5互动。

📜 许可证

MIT许可证。免费使用和修改!