GitHub代码库AI分析工具

一个基于AI的GitHub代码库分析工具,支持通过自然语言查询分析代码库中的问题、拉取请求和开发活动。

  • by DwitiThaker
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 DwitiThaker/github-mcp

使用说明

🤖 GitHub MCP代理

一个强大的AI驱动的GitHub资源管理器 溪流, 硝酸银,以及 模型上下文协议(MCP)。此应用程序允许您使用自然语言与任何GitHub存储库聊天,以发现错误、分析拉取请求和跟踪开发活动。


Chat with your codebase: Ask questions and get real-time insights.

📖 关于项目

这是什么?

这不仅仅是一个GitHub搜索工具;这是一个 AI 代理 了解软件开发的背景。您可以简单地问: “登录模块中最关键的错误是什么?” 或 “总结开发分支最近的变化。” 人工智能分析存储库数据,并提供人类可读的合成。

我们为什么要建造它?

  • 问题: 探索大型代码库是耗时的。发现“数据库的一个问题”通常涉及无休止的滚动和关键字猜测。
  • 解决方案: 我们需要一种方法,将大型语言模型(LLM)的推理能力应用于GitHub等实时动态数据源,而不会产生幻觉。
  • 建筑: 我们选择了 模型上下文协议(MCP) 因为它允许我们将“大脑”(Python/Gemini)与“工具”(Node.js/GitHub API)解耦。这使得系统模块化、安全且可扩展。

原理

  1. 用户输入: 您在Streamlit UI中提出了一个问题。
  2. 代理推理: 这 硝酸银 框架将您的查询发送到 谷歌双子座1.5 Flash法学硕士决定 哪个 它需要的数据来回答你。
  3. 工具执行(MCP):
    • Python应用程序连接到标准化的 MCP服务器 (通过Node.js在本地运行)。
    • 此服务器安全地处理GitHub API通信。
  4. 合成: 原始数据(JSON)被发送回Gemini,Gemini解释技术细节并生成清晰的Markdown格式的答案。



The agent analyzes code, issues, and PRs to provide structured, synthesized answers.

🏗️ 建筑

此项目演示了“混合运行时”架构:

  1. 前端(Python): Streamlit管理UI和异步事件循环。
  2. 大脑(云): Google Gemini 1.5 Flash提供高速推理和摘要。
  3. 大桥(MCP): 一种将Python客户端连接到Node.js服务器的标准化协议。
  4. 工具(Node.js): 这 @modelcontextprotocol/server-github 作为一个子流程运行,处理对GitHub的身份验证和API调用。

✨ 特性

  • 自然语言查询:问以下问题 “显示最新的Bug” 而不是手动过滤问题。
  • 深度存储库分析:
    • 问题:按标签、状态或内容筛选。
    • 拉取请求:查找需要审查的PR或最近合并的代码。
    • 活动:总结承诺趋势和贡献者健康状况。
  • 安全:您的GitHub Token仅用于会话,不会持久存储。
  • 交叉平台的:适用于Windows、macOS和Linux(Streamlit Cloud就绪)。

🛠️ 技术栈


🚀 如何使用

  1. 认证:输入您的GitHub令牌。
  2. 目标:指定存储库URL(例如。, https://github.com/owner/repo).
  3. 查询:选择一个模板或键入您自己的自定义问题。
  4. 跑:点击“运行查询”以获取您的见解。

📄 许可证

MIT许可证。