代码仓库助手

本地代码仓库助手,用于更安全地进行AI辅助的代码规划和变更管理。

  • by ablondel42
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ablondel42/MCP_Server_Sandbox

使用说明

体系结构概述

该系统是一个本地存储库助手,用于更安全的人工智能辅助代码规划。

该架构故意简单:

  • 代码库在本地被扫描和索引
  • 结构和参考数据存储在本地SQLite数据库中
  • Python服务读取该数据库并计算上下文或风险
  • MCP服务器公开这些服务
  • 人工智能代理在提出或做出更改之前调用这些工具
  • 在实施开始之前,有人批准了计划

主要组件

1.存储库扫描程序

扫描程序遍历本地存储库并查找支持的源文件。

责任:

  • 验证回购根
  • 忽略垃圾目录
  • 仅保留受支持的文件
  • 导出回购相对路径
  • 导出文件URI
  • 导出模块路径
  • 计算文件哈希值和元数据
  • 商店 RepoRecord 和 FileRecord

输出:

  • SQLite中的本地文件清单

2.AST提取层

AST层解析Python文件并提取结构图数据。

责任:

  • 创建模块节点
  • 创建类节点
  • 创建函数和方法节点
  • 创造 contains 边缘
  • 创造 imports 边缘
  • 创造 inherits 边缘
  • 存储声明范围和符号元数据

输出:

  • 存储在SQLite中的结构图

3.图形存储层

图存储层是持久化和查询的基础。

责任:

  • 升级节点
  • 翻转边缘
  • 干净地替换一个文件的图形状态
  • 按节点ID查询
  • 按限定名查询
  • 查询传入和传出边
  • 查询父子关系

输出:

  • SQLite中的持久局部图

4.上下文构建器

上下文构建器读取图形数据并组装一个有用的以符号为中心的视图。

责任:

  • 加载一个符号
  • 查找父符号
  • 查找子符号
  • 负载输入和输出边缘
  • 计算结构摘要
  • 计算新鲜度摘要
  • 计算置信度摘要
  • 公开引用摘要占位符或实际值

输出:

  • SymbolContext

5.LSP参考丰富

这一层添加了AST本身无法提供的语义使用信息。

责任:

  • 为符号选择最佳声明位置
  • 向Python语言服务器请求参考
  • 地图将位置返回给内部符号
  • 创造 references 边缘
  • 推导 referenced_by 通过反向查询
  • 计算参考计数和分布

输出:

  • SQLite中的参考图扩充

6.风险引擎

风险引擎将图形事实转化为确定性风险输出。

责任:

  • 检查目标
  • 检查参考文献
  • 检查跨文件和跨模块的影响
  • 检查公共表面启发式
  • 检查继承参与情况
  • 检查新鲜度和信心
  • 发出问题代码
  • 计算分数
  • 计算决策

输出:

  • 机器友好型风险结果

7.MCP服务器

MCP服务器向代理公开确定性工具。

责任:

  • 注册工具
  • 验证输入
  • 调用内部图、上下文、参考和风险服务
  • 返回结构化输出
  • 返回结构化错误

输出:

  • 代理可以安全查询的工具界面

8.观看模式

监视模式在文件更改时保持本地图形的新鲜。

责任:

  • 观察文件更改
  • 消除噪音事件
  • 更新已更改的文件元数据
  • 重新提取AST结构
  • 替换文件图
  • 使过时的引用无效
  • 保持图形足够新鲜,以便以后进行MCP调用

输出:

  • 随着时间的推移,更新本地SQLite图

9.代理工作流层

这不是数据库或服务器层。 这是真正的操作流程。

责任:

  • 草案
  • 调用MCP工具
  • 根据确定性的发现修改计划
  • 等待人类的批准
  • 然后才开始实施

输出:

  • 更安全的人工门控编码工作流程

数据流

数据流应该如下所示:

  1. 扫描本地仓库文件。
  2. 文件记录存储在SQLite中。
  3. AST提取构建结构节点和边。
  4. 结构图存储在SQLite中。
  5. LSP富集增加 references 边缘。
  6. 从SQLite读取上下文和风险服务,并计算更高级别的输出。
  7. MCP工具将这些输出暴露给代理。
  8. 代理在提出或进行代码更改之前使用这些输出。
  9. 在实施之前,人类会批准。

简短版本:

Local repo
  -> Scanner
  -> AST extraction
  -> SQLite graph
  -> Context / LSP / Risk services
  -> MCP tools
  -> Agent
  -> Human approval
  -> Implementation