GitHub仓库AI助手

一个多代理AI助手,通过自然语言回答关于GitHub仓库的问题,包括列出仓库、按主题搜索和总结README文件。

  • by Prerna-Nagpal
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Prerna-Nagpal/github-mcp-agent

使用说明

GitHub MCP代理

一个多代理AI助手,回答有关GitHub存储库的自然语言问题-- 列出repos,按主题搜索,并使用LLM总结README。

建筑

CLI → Coordinator → [Repo Lister | Summarizer | Topic Search]
                         ↓
                    MCP Client → GitHub REST API
                    Summarizer → Groq (Llama 3)

运作原理

  • 协调员 接收用户输入,计划调用哪个代理,并链接结果
  • Repo Lister 提取GitHub用户名并获取其公共存储库
  • 主题搜索 将自然语言规范化为GitHub搜索查询
  • 总结器 通过MCP获取回购的README,并使用Groq LLM对其进行总结
  • MCP客户端 通过共享子流程协议将代理连接到GitHub REST API

技术栈

Python·FastAPI·LangChain·Groq API(Llama 3.1)·MCP(模型上下文协议)·FAISS

查询示例

list the repos for torvalds
find best repos for langchain
summarize the repo https://github.com/Hannibal046/Awesome-LLM

设置

pip install -r requirements.txt
GITHUB_TOKEN=your_github_pat
GROQ_API_KEY=your_groq_key
python main.py

关键设计决策

  • MCP子流程模型 --每个代理生成 server.py 作为一个独立的工具服务器,保持GitHub逻辑与代理逻辑的解耦
  • 确定性短路 --协调器绕过LLM规划以实现明确的意图(例如直接汇总URL),从而减少延迟
  • README截断 --可配置 MAX_README_CHARS 防止大型存储库上的Groq TPM/令牌大小故障
  • 正则表达式首次提取 --用户名和存储库解析在回退到LLM之前使用正则表达式,保持低成本和低延迟