使用说明
🤖 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)解耦。这使得系统模块化、安全且可扩展。
原理
- 用户输入: 您在Streamlit UI中提出了一个问题。
- 代理推理: 这 硝酸银 框架将您的查询发送到 谷歌双子座1.5 Flash法学硕士决定 哪个 它需要的数据来回答你。
- 工具执行(MCP):
- Python应用程序连接到标准化的 MCP服务器 (通过Node.js在本地运行)。
- 此服务器安全地处理GitHub API通信。
- 合成: 原始数据(JSON)被发送回Gemini,Gemini解释技术细节并生成清晰的Markdown格式的答案。
The agent analyzes code, issues, and PRs to provide structured, synthesized answers.
🏗️ 建筑
此项目演示了“混合运行时”架构:
- 前端(Python): Streamlit管理UI和异步事件循环。
- 大脑(云): Google Gemini 1.5 Flash提供高速推理和摘要。
- 大桥(MCP): 一种将Python客户端连接到Node.js服务器的标准化协议。
- 工具(Node.js): 这
@modelcontextprotocol/server-github作为一个子流程运行,处理对GitHub的身份验证和API调用。
✨ 特性
- 自然语言查询:问以下问题 “显示最新的Bug” 而不是手动过滤问题。
- 深度存储库分析:
- 问题:按标签、状态或内容筛选。
- 拉取请求:查找需要审查的PR或最近合并的代码。
- 活动:总结承诺趋势和贡献者健康状况。
- 安全:您的GitHub Token仅用于会话,不会持久存储。
- 交叉平台的:适用于Windows、macOS和Linux(Streamlit Cloud就绪)。
🛠️ 技术栈
- UI框架: 溪流
- 代理框架: 硝酸银 (原名Phidata)
- LLM:谷歌双子座1.5 Flash
- 协议: 模型上下文协议(MCP)
- MCP服务器:
@modelcontextprotocol/server-github(Node.js)
🚀 如何使用
- 认证:输入您的GitHub令牌。
- 目标:指定存储库URL(例如。,
https://github.com/owner/repo). - 查询:选择一个模板或键入您自己的自定义问题。
- 跑:点击“运行查询”以获取您的见解。
📄 许可证
MIT许可证。
