使用说明
BitofGit–智能GitHub配置文件分析器
BitofGit是一个 基于人工智能的GitHub分析系统 将用户的公共存储库引入 地方知识库 并允许LLM代理使用 结构化MCP工具.
该项目是作为 以学习为中心的系统设计练习 了解:
- 如何分开 数据摄取, 存储,以及 推理
- 如何避免重复的API调用和上下文丢失
- 代理人如何推理 结构化工具 而不是原始API
- 如何设计可调试的、确定性的人工智能系统
我为什么建造这个
当你问LLM问题时,比如:
- “我的哪些项目使用Python?”
- “我在任何存储库中都有CI/CD吗?”
- “哪些项目最符合SDLC?”
大多数AI工具:
- 反复调用GitHub API
- 问题之间失去上下文
- 幻觉技术栈
- 与多回购推理作斗争
我想建造一些东西:
- 一次性摄取GitHub数据
- 将其存储在本地
- 通过结构化工具公开它
- 让代理人对其进行确定性推理
这个项目就是这个目标的结果。
为什么选择MCP而不是直接调用GitHub API?
在代理中直接使用GitHub API会导致以下几个问题:
| 问题 | GitHub API+LLM | 基于MCP的系统 |
|---|---|---|
| API速率限制 | 频繁呼叫 | 一次性摄入 |
| 延迟 | 每个问题速度慢 | 即时本地查询 |
| 上下文丢失 | 每个问题都从头开始 | 持久本地存储 |
| 幻觉风险 | 高 | 低(工具接地) |
| 多回购推理 | 困难 | 结构化+可靠 |
| 调试 | 困难 | 透明+记录 |
使用MCP:
- GitHub数据变成 可查询知识,不是原始API响应
- 代理人在 稳定模式,不是非结构化JSON
- 每一个动作都是 明确且可追溯
MCP将GitHub从API转变为 地方情报系统.
系统架构(高级)
BitofGit被拆分为 三层清洁层:
1.摄入层
一次性获取并存储GitHub数据。
- 仓库
- 自述文件
- 文件树
- 提交
- 工程信号(CI/CD、测试、Docker等)
- 检测到技术栈
存储在a SQLite知识库.
2.MCP服务器层
展示结构化工具,如:
list_reposget_repo_overviewquery_repos_by_signalsrank_repos_by_activityaggregate_repo_metrics
每个工具代表一个 语义能力不仅仅是原始数据。
3.代理层(LangGraph)
代理人:
- 理解自然语言问题
- 创建一个 语义计划
- 选择正确的MCP工具
- 执行它们
- 综合有根据的答案
这将分开:
- 推理 → Agent
- 执行 → MCP
- 存储 → SQLite
这使得系统 干净、可调试、可扩展.
我从这个项目中学到了什么
这不仅仅是GitHub分析。这是关于学习的 人工智能系统设计.
关键要点:
- LLMs最适合与 结构化工具,不是原始API
- 持久知识>重复的API调用
- 将推理与执行分离使系统更容易调试
- “语义规划”比关键字路由更可靠
- 数据模式比快速工程更重要
这个项目帮助我更像一个 平台工程师 而不仅仅是一个快速的工程师。
设计原则
- 一次摄入,多次查询
- 分析期间没有重复的API调用
- 基于原始JSON的结构化工具
- 确定执行
- 可调试的代理行为
- 没有隐藏的记忆
- 无幻觉数据
BitofGit可以回答的示例问题
- 我有多少项目使用Python?
- 哪些存储库配置了CI/CD?
- 我在任何地方都使用Docker吗?
- 哪些项目遵循良好的SDLC实践?
- 我最活跃的存储库是什么?
- 我最常使用哪些技术栈?
所有答案都基于 存储数据,而不是猜测。
为什么这比简单的聊天机器人更好
大多数“GitHub AI机器人”:
- 只需调用API
- 总结自述文件
- 猜猜技术栈
- 无法跨仓库推理
BitofGit :
- 使用a 地方知识库
- 用途 结构化工具
- 支持 多步骤推理
- 生产 可审计的答案
它不仅仅是一个聊天机器人。
这是一个 GitHub智能系统.
未来改进
- 基于嵌入的语义搜索
- 代码级分析
- 技能分析
- 基于时间线的增长分析
- SDLC成熟度评分
- 投资组合自动生成