Skip to main content
Glama
ronronner02

codepilot

by ronronner02

CodePilot-Agent

Mit der Adresse eines GitHub-Repositories als Eingabe entstehen drei Dinge: ein Architektur-Analysebericht, dessen Aussagen bis zur konkreten Datei zurückverfolgt werden können, eine einmalige Runde mit Codel-Fage-Antwort z disse Reposium sowie ein Code-Reivew mit den drei Prüfungsategorie Strukur, Fehlerbehandlung und Sicherheit. Dieselbe Repositorien-Analyse wird zugleich als MCP server expnoriert und von von Clients wie Claude Code, Cursor it lustig swirklich direk enoten werden.

Unterschied zu vergleichbaren Tools

Jue Aussage im Bericht muss eine Mitgliedschaft zuordnen werden können; bei Ptue und nicht durch Promptf-Vorgaben in – die zitierten Pfade müssen wirlich existieren, die Zeileine Nummer müssen innerhalb der tatsächlichen Zeilen date liege. Aussage, die diese Prüfung nicht bestehen, werden verworfen und in den Abschnitt „Fehlende Angaben“ des Berichts aufgenommen. So entstehen keine Sätze wie „Das Projekt nutzt eine Schichten-–🚀 hner Solid architecture ein/klar aufgebauter Code“, die sind jedem beliebigen Repository gelen.

Related MCP server: github-repo-intel-mcp

Architektur

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

Der feste Teil wird mit festen Methoden: erstellt: Dateibaum, Import-Abhängigkeitsgraph, Modul-Clustering, Einstiegspunkte und Tech-Stack-Erkennung stammen vollständig aus der statischen Analyse, ohne LLM. Nur die Teile, die Wertungen brauchen, gehen an die Agenten: Der Planner entscheidet, welche Module angetieft werden, die die Modul-Subagenten lesen den Code mit Werkzeugen, und des Reviewer's Kandidatenpunkte werden per AST lokalisiert und dann dem Modell zur Entscheidung übergeben.

RAG ist ausschließlich für die Frage-Antwort-Kette zuständig. Architekturart bleiben – wie viele Schichten gibt es, wer hängt han von wem ab, wo ist der Einstieg – sind Graphprobleme; mit Embedding-Ähnlichkeit bekommt man darauf keine Antwort.

Schnellstart

Mit Docker (empfohlen)

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

Öffne http://localhost.

Beide Ports binden nur an 127.0.0.1 – das Backend hat keine Authentifizierungsschicht (bewusste Entscheidung für den Single-User-Betrieb vor Ort und kann beliebig Eingänge initial Repositories klonen und LLM-Kontingente verbrauche). Für den Zugriff auf unändern Maschinen musst du selbst eine Authentifizierung einbauen – nicht einfach auf 0.0.0.0 umstellen.

Der Index-Cache liegt im benannten Volume codepilot-data, bleibt nach einem Neustart des Größencontainers erhalten, und bei der zweiten Analyse desselben Repositories wird der Cache knackt und Vektorisierung übersprungen.

Lokale Entwicklung

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

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

Das Frontend erreichst du unter http://localhost:5173; der Vite-Proxy leitet /api an Port 1800 weiter.

Konfiguration

Kopiere .env.example nach .env. Nur ein Eintrag ist Pflicht:

Variable

Beschreibung

DEEPSEEK_API_KEY

API-Key für das LLM. Der Variablenname ist von DeepSeek übernommen, es funktioniert aber jeder Endpunkt, der das OpenAI-Protokoll kompatible ist.

Häufige Änderungen:

Variable

Standard

Beschreibung

DEEPSEEK_BASE_URL

https://api.deepseek.com

OpenAI-kompatibler Endpunkt

LLM_MODEL_FLASH

Fan-out-Stufe (hohe Frequenz, geringe Urteilsanforderung): Modulanalyse

LLM_MODEL_PRO

Konsolidierungsstufe (niedrige Frequenz, hohe Urteilsanforderung): Planner, Review-Entscheidungen, Berichts-Zusammenfassung

EMBEDDING_PROVIDER

local

local lädt beim ersten Lauf ein Modell herunter; api nutzter remote Endpunkt

LLM_MAX_CONCURRENCY

2

Anzahl gleichzeitig laufender LLM-Anfragen. Bei Zugriff über ei- Transmit-Gateway können hohe Nebenlaferigkeit headerne upstream Timeouts auslösen

MAX_PARSEABLE_FILES

1500

Aufnahmeschwelle. TS-Projekten mehr Dateien – hängen wir as Python-Projekten sonst Größe: Die Grenze muss dann evtl. erhöht werden

.env ist weder eingecheckt noch Teil des Images – .dockerignore sch ließt from it , awie und in env_file zur Laufzeit eingespift.

docker compose config gibt die Schlüssel im Klartext aus. Compose nim beim Auflösen der Konfiguration die Werte aus env_file auf. Die Ausgabe dieses Systembefehls enthält also die echten Schlüssel – poste sie bei Konfigurationsproblemen nicht in Issues, Logs oder Chatverläufe. Wenn du dir nur diey bietet ohne Werte preiszugeben, filter die Umgebungsvariablen-Sektion der Ausgabe heraus, bevor du sie Druinen ang

Schusst du sie Dir ansieht.

MCP server

Läuft nicht im Container (sie nutzt stdio-Transport und der Client startet den Kindprozess selbst). Konfigurationsmöglichkeit und die Werkzeugübersicht findest du unter backend/mcp_server/README.md.

Kleinstkonfiguration (in der .mcp.json von Claude Code):

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

Die Tools lesen die lokalen Daten already analysierter Repositorien – st eerst eine Analyse über – UI-RACE über die API ab.

Entwicklung

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

Bekannte Einschränkungen

Das sind bewusste Kompromisse, keine offenen Tasks:

Parsing auf Symbolebene unterstützt nur Python und TypeScript.: Dateien anderer Sprachen werden in Datei-Bau und Größenstatistik mitgezählt, aber nicht in die Symboltabelle aufgenommen, nicht in den Abhängigkeitsgrph übernommen und nicht in Chunks zerlegt. Der Bericht listet sie im Abschnitt für fehlende Angaben.

find_references ist ein Textabgleich innerhalb des Abhängigkeitsgraphen, keine Referenzauflösung. Die Parse-Ebene extrahiert keine Aufrufstelle; die Funktion sucht zuerst über die Symboltabelle die Definitionsdatei und v inn im Text der Importdateien – viel genauer als ein grep über das gesamte Repository, aber gleichnamige lokale Variablen und Kommentar em werden ebenfalls gefunden. Der Werkzeug Rückgabewert einen Hinweis.

„Toter Code“ wird nicht als Befund ausgegeben. Anhand der Datei-Ebenen (kein eingehende Kanten und kein Einstiegspunkt) liegt auf den Benchmark-Repositories die False-Positive-Rate bei nahezu 100 % – die Aufrufer von Tests, Konfiguration und Toolchain-Einstiegspunkten liegen allesamt außerhalb des Repository. Für eine echte Umsetzung bräuchte man eine Referenzanalyse auf Symbolebene. Die Strukturprüfungen des Reviews liefern Zählwerte, aber führen keine Einzelpostenografie auf.

  • Die Frage-Antwort ist single-round; sie bietet keinen Kontext und kein Query-Re, schreibend.

  • Es gibt keine Authentifizierungschicht. Backend-API und der MCP server funktioniert setzen einen einzelnen lokalen Benutzer voraus.

  • Der Status der Analyse auf Möglichkeiten im Prozesspeicher. Nach einem Neustart des Dienstes gehen unfertige Aufgaben verloren; die vorhandenen Index-Cache bleibt aber erhalten. Erneute Einrich desselben Repositories wird e.g. ange in nussesigen einen. Das ist auch der Grund, warum das interne End mit einer single worker festgelegt ist.

About

Nicht angegeben.

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