GitHub存储库分析工具
一个强大的工具,用于使用模型上下文协议(MCP)和来自大型语言模型(LLM)的人工智能见解来分析GitHub存储库。
特性
- 🔍 存储库信息分析:获取有关GitHub存储库的详细信息。
- 🔄 提交历史分析:分析提交历史以识别模式和见解。
- 🤖 AI驱动的洞察:利用Ollama根据存储库数据生成智能响应和分析。
- 🎨 漂亮的命令行界面:享受用户友好的CLI,实现无缝交互。
- 🔌 基于MCP的客户端-服务器架构:利用模块化架构实现高效的数据获取和分析。
建筑
该应用程序采用基于模型上下文协议(MCP)的客户端-服务器架构:
- 服务器:提供通过标准化MCP接口获取GitHub数据的工具。
- get_repo_info:获取存储库信息。 - get_commit_history:检索提交历史以进行分析。
- 客户端:连接到服务器并提供分析功能
- 使用MCP的stdio传输与服务器通信 - 使用Olama进行人工智能分析 - 提供交互式命令行界面
先决条件
- Python 3.10或更高版本
- 没有 已安装
qwen2.5:7b模型 - GitHub个人访问令牌(用于更高的API速率限制)
安装
要开始使用GitHub存储库分析工具,请按照以下步骤操作:
- 克隆存储库:
git clone https://github.com/frangkli/github-analysis.git
cd github-analysis- 设置环境和依赖关系:
uv sync- 激活虚拟环境:
source .venv/bin/activate- 安装Ollama:确保你有 没有 已安装
qwen2.5:7bAI驱动的洞察模型。
- 设置GitHub个人访问令牌:对于更高的API速率限制,请创建一个GitHub个人访问令牌,并将其设置为环境变量:
export GITHUB_TOKEN=your_token_here # On Windows use `set GITHUB_TOKEN=your_token_here`用法
该工具可以在两种模式下运行:服务器和客户端。
- 首先,启动服务器:
github-analysis server- 然后,在另一个终端中运行客户端:
github-analysis client 您还可以在Ollama模式下运行客户端,该模式绕过MCP服务器和工具:
github-analysis client --disable-tools分析选项
该工具提供三种类型的分析:
- 存储库分析:分析存储库元数据、语言和统计信息
- 提交分析:分析最近的提交历史和模式
- 自定义分析:允许您询问有关存储库的自定义问题
仅在Ollama模式下运行时(--disable-tools),分析将基于一般知识,而不是实时存储库数据。
发展
项目结构
github_analysis/
├── client/
│ └── client.py # MCP client implementation
├── server/
│ ├── server.py # MCP server implementation
│ └── exceptions.py # Custom exceptions
└── main.py # CLI entry point
tests/
└── test_mcp.py # Some sample tests to test LLM output建筑细部
- MCP服务器:
- 实现模型上下文协议 - 为GitHub API交互提供工具 - 使用stdio传输进行通信
- MCP客户端:
- 使用stdio传输连接到服务器 - 管理工具调用和响应处理 - 与Ollama集成进行分析
贡献
欢迎捐款。如果您有建议或改进,请打开问题或提交拉取请求。
- 新服务器工具:
- 使用添加新功能 @mcp.tool() 室内装饰师 server.py - 使用GitHub的API实现该工具的功能
- 新分析类型:
- 在客户端类中添加新的处理程序方法 - 为Ollama创建适当的系统提示 - 更新菜单选项
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
