DevMohith/control-plane

GitHub: DevMohith/control-plane

一个 AI 驱动的开发者平台,通过 RAG 与模型路由将代码库转化为可自然语言查询的智能知识库。

Stars: 0 | Forks: 0

# 控制平面 AI 开发者平台,对你的代码库建立索引并通过自然语言使其可查询。工程师可以提问、获取代码审查、调试事件、理解依赖关系——所有这些都基于你的实际代码库,而不是通用的 AI 响应。 在线演示:https://control-plane-520213059195.us-central1.run.app ## 概述 控制平面通过 ETL 和 RAG 管道摄取 GitHub 仓库和文档,将结果存储在三个专用数据库中,并根据任务类型将每个查询路由到最合适的语言模型。代码审查和安全扫描使用 Claude Haiku。其他所有内容都使用 Vertex AI 上的 Gemini。此路由是自动的,成本大约是纯 Claude 系统的 20%。 该平台还通过 FastMCP 服务器暴露了十个工具。任何支持 MCP 的客户端(包括 Claude Desktop 和 Cursor)都可以直接连接并在开发环境中使用这些工具。 ## RAG 管道如何工作 摄取管道从 GitHub 拉取代码,并使用 AST 解析按函数和类边界拆分 Python 文件。TypeScript 和 JavaScript 文件使用滑动窗口方法。每个数据块使用 Vertex AI 的 text-embedding-005 模型以 768 维进行嵌入,并针对任务类型进行优化。 代码向量存储在 Pinecone 中。文档和事件报告存入 Weaviate。函数依赖关系以可遍历知识图的形式存储在 Neo4j 中。当开发者提问时,协调器在将内容发送给模型之前,从每个数据库中检索最相关的数据块。 ## 模型路由 协调器使用 LangGraph 对每个查询进行分类和路由。代码审查和安全扫描会发送到 Claude Haiku,因为其宪法 AI 训练能为这些特定任务生成更精确的发现。测试生成、调试、事件分析和通用查询则根据复杂程度发送到 Gemini 2.5 Flash 或 Gemini 2.0 Flash。在 Cloud Run 的生产环境中,这两种模型均通过服务账户自动认证,无需 API 密钥管理。 ## 可观测性 每个 LLM 调用都会在 Langfuse 中被完整追踪,包括输入、输出、Token 数量、延迟和成本。Prometheus 指标在 /metrics 暴露,涵盖按任务类型划分的查询量和请求持续时间。前端显示一个实时会话面板,包含查询计数、总 Token 数量以及 Claude 与 Gemini 的对比分析。 ## 快速开始 ``` git clone https://github.com/DevMohith/control-plane.git cd control-plane uv sync cp .env.example .env uv run python api/main.py ``` 打开 http://localhost:8000。若要同时运行 MCP 服务器,请在第二个终端中执行 `uv run python mcp_server/server.py`。 ## 环境变量 以下变量需要在你的 .env 文件中配置。 GCP_PROJECT_ID、GCP_REGION、ANTHROPIC_API_KEY、PINECONE_API_KEY、PINECONE_INDEX、WEAVIATE_URL、WEAVIATE_API_KEY、NEO4J_URI、NEO4J_USER、NEO4J_PASSWORD、LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY、GITHUB_TOKEN 在生产环境中,这些变量存储在 GCP Secret Manager 中,并在 Cloud Run 启动时自动注入。 ## API 端点 POST /api/query 接受自然语言查询,并返回模型响应、任务分类、使用的模型、Token 数量和上下文来源。 POST /api/ingest/repo 触发指定 GitHub 仓库的完整摄取管道。 POST /api/ingest/file 接受文件上传,并根据文件类型路由到正确的数据库。 POST /api/ingest/text 接受原始文本用于直接建立索引。 GET /api/search/code 和 GET /api/search/docs 分别对 Pinecone 和 Weaviate 执行语义搜索。 所有摄取端点都需要 `x-api-key` 请求头。 ## MCP 工具 MCP 服务器暴露了十个工具:code_search、doc_search、impact_analysis、review_code、generate_tests、explain_incident、security_scan、generate_code、optimize_prompt 和 platform_stats。 将任意 MCP 客户端连接到 http://localhost:8001。 ## 部署 ``` docker build -t control-plane . gcloud run deploy control-plane --source . --region us-central1 --port 8000 --memory 2Gi ``` 密钥存储在 GCP Secret Manager 中。Cloud Run 服务账户被授予 Secret Manager Secret Accessor 角色,因此容器启动时无需在镜像或仓库中存储密钥,凭证会自动注入。
标签:AI 编程助手, AST 解析, Claude Haiku, DLL 劫持, Embedding 768, ETL 管道, FastMCP, Gemini, LangGraph, MCP, Neo4j, Pinecone, RAG 检索增强生成, Vertex AI, Weaviate, WebSocket, 代码审查, 代码理解, 依赖分析, 函数级切分, 向量数据库, 多模型路由, 大语言模型, 安全扫描, 工具集成, 开发者平台, 成本优化, 文档索引, 时序注入, 滑动窗口, 自定义请求头, 自然语言查询, 自然语言编程, 请求拦截, 调试, 逆向工具