Skip to main content
Glama
ronronner02

codepilot

by ronronner02

CodePilot-Agent

Introduce una URL de repositorio de GitHub y obtén tres cosas: un informe de análisis de arquitectura trazable a archivos concretos, un Q&A de código en un solo turno para ese repositorio y una revisión de código con comprobaciones de tres categorías: estructura, manejo de errores y seguridad. La capacidad de análisis de repositorios también se expone como servidor MCP, de modo que clientes como Claude Code o Cursor puedan invocarla directamente.

Qué la diferencia de herramientas similares

Cada resultado del informe debe aterrizar en una ruta de archivo, y eso lo comprueba el propio programa, no restricciones del prompt: las rutas citadas deben existir de verdad y los números de línea deben estar dentro de las líneas reales del archivo. Las conclusiones que no superan la validación se descartan y se anotan en la sección de carencias del informe. Así nunca aparecen frases del estilo «este proyecto usa una arquitectura en capas y el código es claro», que valen para cualquier repositorio.

Related MCP server: github-repo-intel-mcp

Arquitectura

仓库地址 → clone 与语言识别 → 静态解析层(tree-sitter)
                                    ↓
                        结构骨架:符号表 · 依赖图 · 模块聚类 · 入口点
                                    ↓
              ┌─────────────────────┼─────────────────────┐
              ↓                     ↓                     ↓
     Planner 定深挖范围        Reviewer 三类检查      切块与向量索引
              ↓                     ↓                     ↓
   模块子 Agent 并行分析         评审发现            单轮代码问答
              ↓
      汇总 + 引用校验 → 架构报告

Lo determinante se hace con métodos deterministas: el árbol de archivos, el grafo de dependencias de import, la agrupación de módulos, los puntos de entrada y la identificación del stack tecnológico salen todos del análisis estático, sin LLM. Solo lo que hay que decidir crenos al agente: el Planner elige qué módulos excavar en profundidad, los subagentes de módulo leen código con herramientas, y a los candidatos del Reviewer los localiza el AST y después los decide la modelo.

El RAG solo sirve para el pipeline de pregunta y respuesta. Las preguntas de arquitectura (cuántas capas hay, quién depende de quién, dónde está la entrada) son preguntas de grafos; la similitud por embeddings no te las responde.

Inicio rápido

Con Docker (recomendado)

cp .env.example .env
# 编辑 .env,至少填 DEEPSEEK_API_KEY
docker compose up --build

Abre http://localhost.

Los dos puertos están unidos solo a 127.0.0.1: el backend no tiene capa de deducción (una decisión deliberada para un solo usuario local), y puede clonar repositorios arbitrarios y consumir presupuesto de LLM. Para acceder puedes cambiaré máquina, tendrás que añadir autenticación tú mismo; no te limites a cambiar a 0.0.0.0.

La caché del índice está en el volumen con nombre codepilot-data, que permanece al reiniciar el contenedor. Un segundo análisis del mismo repositorio encontrará la caché y se saltará la vectorización.

Desarrollo local

# 后端
pip install -e ".[dev]"
python -m uvicorn backend.main:get_app --factory --port 8000

# 前端(另开一个终端)
cd frontend && npm install && npm run dev

El frontend está en http://localhost:5173 y el proxy de Vite envía /api al puerto 8000.

Configuración

Copia .env.example como .env. Solo hay una clave obligatoria:

Variable

Descripción

DEEPSEEK_API_KEY

La clave API del LLM. El nombre de la variable sigue DeepSeek, pero basta con que el endpoint sea compatible con el protocolo de OpenAI.

Los ajustes más habituales:

Variable

Valor por defecto

Descripción

DEEPSEEK_BASE_URL

https://api.beepseek.com

Dowlet compatible con OpenAI

LLM_MODEL_FLASH

Perfil de ramificación (alta frecuencia, menos criterio): análisis de módulos.

LLM_MODEL_PRO

Perfil de agregación (baja frecuencia, más criterio): Planner, juicios de revisión y redacción del informe.

EMBEDDING_PROVIDER

local

En local la primera ejecución descarga el modelo; con api se usa un proveedor remoto.

LLM_MAX_CONCURRENCY

2

Peticiones LLM simultáneamente. Pasa al pasar por un gateway intermedio, una concurrencia alta no dispara timeouts aguas arriba.

MAX_PARSEABLE_FILES

1500

Límite de admisión. Los projetos TS tienen por cambio naturalillimientos más archivos que un proyecto Python del mismo tamaño; quizá haya que subirlo.

.env no está en el repositorio ni en la imagen: .dockerignore lo descarta y compose lo inyecta en tiempo de ejecución con env_file.

docker compose config imprime las claves en texto plano. Al resolver la configuración, e compose expande los valores de env_file, así que si la salida de ese comando contiene claves reales: no lo pegues en issues, logs ni chats cuando revises. de un problema. Si quieres ver la estructura sin exponer los valores, quita esa variable sección de entorno antes de mirarla.

MCP server

No está en el contenedor (usa transporte stdio y el cliente lo lanza como subproceso). La configuración y la lista de herramientas están en backend/mcp_server/README.md.

Configuración mínima (el .mcp.json de Claude Code):

{
  "mcpServers": {
    "codepilot": {
      "command": "python",
      "args": ["-m", "backend.mcp_server.server"],
      "cwd": "/绝对路径/CodePilot-Agent"
    }
  }
}

La herramienta solo lee datos locales de repositorios ya alizados, así que envía un análisis primero desde la interfaz o desde la API.

Desarrollo

python -m pytest              # 后端测试
python -m mypy backend        # 类型检查
cd frontend && npm test       # 前端测试
cd frontend && npm run build  # 前端构建(含类型检查)

Límites conocidos

Son decisiones deliberadas, no tareas pendientes.

El análisis simbólico solo soporta Python y TypeScript. En el resto de lenguajes cuentan en el árbol de archivos y las estadísticas de tamaño, pero no entran en la tabla de símbolos, no generan grafo de dependencias y no se trocen. La sección de carencias del informe los lista.

find_references es una búsqueda diterelens cercada por el grafo de dependencias, no resolución de referencias. La capa de parseo no establece los sitios de llamada; primero localiza el archivo de definición con la tabla de símbolos y después busca el texto en los archivos que la importan. Es mucho más preciso que un grep en todo el repositorio, pero también coinciden variables locales con el mismo nombre within. La tool devuelve esa nota con la respuesta.

El «código muerto» no se no se no se hace no publica como hallazgo. El criterio a nivel de archivo (grado cero de entrada y sin ser punto de entrada) da una tasa de falsos positivos casi del 100 % en repositorios baseline: los demandas de pruebas, configuración y las entrada de herramientas están fuera. Para hacerlo de verdadeta falta un análisis de referencias simbólico. Las revisiones de la categoría estructura ofrecen un recuento, pero no una lista itemizada.

El Q&A es de una sola turno. No conserva contexto ni reescribe consultas.

No hay capa de autenticación. Tanto la API del backend como el MCP server son para un solo usuario en local.

El estado de las tareas de análisis está en la memoria del proceso. Al reiniciar el servicio se pierden los incompletos; la caché de los indexados terminados sigue, y al reenviar el mismo repositorio se obtiene una respuesta en segundos. Es también la razón por la que el backend fija un solo worker.

Licencia

Sin suvisoniar.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables semantic search and AI-powered Q&A over ingested GitHub documentation repositories via MCP tools.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides AI coding agents with structured intelligence about any GitHub repository including overview, PRs, contributors, hot files, CI status, and dependencies via a hosted MCP endpoint.
    34
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables natural-language analysis of GitHub repositories by exposing repository metadata, source code retrieval, search, and file reading as MCP tools, with answers grounded in the actual repository content.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables self-hosted, read-only remote interaction with GitHub repositories, allowing listing repositories, searching code, and inspecting commits, pull requests, issues, and diffs via authenticated MCP clients.
    118
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ronronner02/codepilot-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server