AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

DeepWiki-Open: Automatische KI-Dokumentationserstellung für GitHub- und GitLab-Repositories

Allgemeine Einführung

DeepWiki-Open ist ein Open-Source-Projekt zur automatischen Generierung strukturierter Dokumentation für Code-Repositories auf GitHub, GitLab und Bitbucket. Es nutzt KI-Technologie, um die Codestruktur, den Dateiinhalt und logische Beziehungen zu analysieren, um schnell eine Wissensdatenbank-Seite ähnlich wie bei Wikipedia zu erstellen. Benutzer müssen nur die URL des Repositorys eingeben und erhalten eine klare Beschreibung der Code-Architektur, der Funktionsmodule und der Implementierungsdetails. Das Projekt unterstützt den lokalen Einsatz mit lokal gespeicherten Daten zum Schutz der Privatsphäre und der Sicherheit. Es bietet auch eine Retrieval Augmented Generation (RAG)-Funktionalität, die es den Nutzern ermöglicht, kontextbezogene Fragen und Antworten zur Codebasis zu stellen und mit der DeepResearch-Funktionalität tiefer in komplexe Probleme einzudringen.DeepWiki-Open wurde von AsyncFuncAI entwickelt, ist kostenlos und quelloffen und eignet sich für Entwickler, Teams und die Open-Source-Community, um das schnelle Verständnis von komplexem Code zu fördern.

DeepWiki-Open: Automatische Erzeugung von KI-Dokumentation für GitHub- und GitLab-Repositories-1


 

Funktionsliste

  • Automatisierte Dokumentationserstellung: Analysieren Sie GitHub-, GitLab- oder Bitbucket-Repositories, um strukturierte Dokumentation im Wiki-Stil zu erstellen.
  • Code Intelligence Analysis: Identifiziert die Codestruktur, Schlüsselmodule und Dateibeziehungen und liefert klare Beschreibungen.
  • Kontextabhängige Fragen und Antworten: über RAG Technologie, die den Benutzern hilft, lagerbezogene Fragen zu stellen und genaue Antworten zu erhalten.
  • DeepResearch-Funktion: unterstützt mehrere Rechercherunden, analysiert komplexe Sachverhalte in der Tiefe und liefert detaillierte Schlussfolgerungen.
  • Unterstützung der lokalen Bereitstellung: Die Daten werden lokal gespeichert, es ist kein Cloud-Dienst erforderlich, der Datenschutz ist gewährleistet.
  • Interaktive Diagramme: Generieren Sie Architekturdiagramme im Mermaid-Format und Flussdiagramme zur Visualisierung der Codelogik.
  • Unterstützung mehrerer Plattformen: Kompatibel mit GitHub, GitLab und Bitbucket, unterstützt sowohl öffentliche als auch private Repositories.
  • Streaming von KI-Antworten: über Google Zwillinge Das Modell ermöglicht die Erstellung von Dokumenten in Echtzeit und die Beantwortung von Fragen.
  • Open Source Free: Vollständig quelloffen, die Nutzer können die Funktion frei verändern und erweitern.

 

Hilfe verwenden

Einbauverfahren

DeepWiki-Open unterstützt Docker und die manuelle Installation für Ubuntu, macOS oder Windows (über WSL2). Hier sind die detaillierten Schritte.

1. das Klonen von Lagern

Klonen Sie die DeepWiki-Open-Codebasis lokal:

git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open

2. die Umgebungsvariablen konfigurieren

DeepWiki-Open benötigt Google Gemini und OpenAI API-Schlüssel für die Dokumentenerstellung und die Codeeinbettung. Erstellen Sie im Stammverzeichnis des Projekts die Datei .env Dokumentation:

echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
  • GOOGLE_API_KEY: Von Google AI Studio Wurde zur Verwendung im Google Gemini-Modell gewonnen.
  • OPENAI_API_KEY: Von OpenAI-Plattform Fetch zum Erzeugen von Codeeinbettungen.
  • Optionale Variablen:
    • PORTAPI-Server-Port, Standard 8001.
    • NEXT_PUBLIC_SERVER_BASE_URLAPI-Server-Adresse, Standard http://localhost:8001.

3. die Installation mit Docker (empfohlen)

Docker ist einfach zu installieren und eignet sich für eine schnelle Bereitstellung.

  • Stellen Sie sicher, dass Docker und Docker Compose installiert sind.
  • Führen Sie den folgenden Befehl aus, um den Dienst zu starten:
docker-compose up
  • Oder Sie ziehen ein vorgefertigtes Image und führen es aus:
docker pull ghcr.io/asyncfuncai/deepwiki-open:latest
docker run -p 8001:8001 -p 3000:3000 \
-e GOOGLE_API_KEY=your_google_api_key \
-e OPENAI_API_KEY=your_openai_api_key \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest
  • Nach dem Start des Dienstes läuft die API auf dem http://localhost:8001Die Frontend-Seiten im http://localhost:3000.
  • Es ist auch möglich, die .env Dokumentation:
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest

4. manuelle Installation

Wenn Sie nicht mit Docker arbeiten, können Sie es manuell installieren.

  • Installieren Sie die Python-Abhängigkeiten (Backend):
pip install -r api/requirements.txt
  • Starten Sie den API-Dienst:
python -m api.main
  • Installieren Sie JavaScript-Abhängigkeiten (Frontend):
npm install
  • Starten Sie den Front-End-Entwicklungsserver:
npm run dev
  • Die Front-End-Seite befindet sich in der http://localhost:3000.

5. die Überprüfung der Installation

  • Öffnen Sie Ihren Browser und besuchen Sie http://localhost:3000.
  • Geben Sie die Repository-URL ein (z. B. https://github.com/facebook/react vielleicht https://bitbucket.org/redradish/atlassian_app_versions).
  • Klicken Sie auf "Wiki generieren", um das generierte Dokument anzuzeigen.

Hauptfunktionen

Automatische Dokumentenerstellung

  1. Geben Sie die Repository-URL auf der Front-End-Seite ein (z. B. https://gitlab.com/gitlab-org/gitlab).
  2. Für private Repositories klicken Sie auf "+ Zugriffstoken hinzufügen" und geben Ihr persönliches Zugriffstoken für GitHub, GitLab oder Bitbucket ein.
  3. Klicken Sie auf "Wiki generieren", das System klont das Repository und analysiert den Code, um die Dokumentation zu generieren.
  4. Die erstellte Dokumentation umfasst:
    • Überblick über die Code-Architektur.
    • Funktionsbeschreibung der wichtigsten Module.
    • Detaillierte Beschreibungen von Dateien und Verzeichnissen.
    • Interaktives Diagramm und Flussdiagramm der Mermaid-Architektur.

Kontextbezogene Fragen und Antworten (Ask-Funktion)

  1. Suchen Sie den Bereich "Fragen" auf der Seite Dokumentation.
  2. Geben Sie eine Frage ein wie "Wie ist die Datenbankverbindung für dieses Repository implementiert?". .
  3. Das System sucht mit Hilfe der RAG-Technik nach Codeschnipseln, um kontextbezogene Antworten zu generieren.
  4. Die Antworten werden in einem Streaming-Verfahren angezeigt, das eine Interaktion in Echtzeit ermöglicht.

DeepResearch-Funktionen

  1. Aktivieren Sie den Schalter "Tiefe Recherche" im Bildschirm "Fragen".
  2. Geben Sie komplexe Fragen wie "Wie kann der Authentifizierungsprozess für dieses Lager optimiert werden?" ein. .
  3. Systematische Durchführung von mehreren Forschungsrunden:
    • Forschungsprogramm Generieren Sie den ersten Analyserahmen.
    • Updates zur Forschung Iterative Analysen zur Ergänzung von Details.
    • endgültige Schlussfolgerung Fassen Sie alle Informationen zusammen und geben Sie eine ausführliche Antwort.
  4. Der Forschungsprozess wurde bis zu fünfmal wiederholt und die Antworten wurden gestreamt.

Featured Function Bedienung

Streaming AI Antwort

  • Die Erstellung von Dokumenten und die Antworten auf Fragen und Antworten werden in Echtzeit mithilfe von Google Gemini-Modellen angezeigt.
  • Beispiel: Nach Eingabe einer Frage wird die Antwort absatzweise geladen, um die Wartezeit zu verkürzen.

Interaktive Meerjungfrauen-Karten

  • Das System generiert ein Architekturdiagramm und ein Flussdiagramm des Lagers, basierend auf der Mermaid-Technologie.
  • Diagramme unterstützen die Interaktionen Zoomen, Ziehen und Klicken.
  • Beispiel: Nach der Erzeugung eines TensorFlow-Repository-Dokuments können Sie das Flussdiagramm für das Modelltraining sehen.

Unterstützung für private Repositories

  • Ein persönliches Zugangstoken für GitHub, GitLab oder Bitbucket ist erforderlich.
  • Das Token wird nur zum Klonen des Repositorys verwendet und nicht auf dem Server gespeichert.
  • Beispiel: Geben Sie die URL des privaten Repository und das Token ein, um das Dokument zu erstellen.

Lokale Datenspeicherung

  • Die Dokumentation und die Analysedaten werden in der ~/.adalflow Verzeichnis (Docker kann es individuell mounten).
  • Keine Cloud-Abhängigkeit für datenschutzsensible Szenarien.

Struktur des Projekts

Die Codestruktur von DeepWiki-Open ist wie folgt:

deepwiki/
├── api/                  # 后端 API 服务器
│   ├── main.py           # API 入口
│   ├── api.py            # FastAPI 实现
│   ├── rag.py            # RAG 功能实现
│   ├── data_pipeline.py  # 数据处理工具
│   └── requirements.txt  # Python 依赖
├── src/                  # 前端 Next.js 应用
│   ├── app/              # Next.js 页面
│   │   └── page.tsx      # 主页面
│   └── components/       # React 组件
│       └── Mermaid.tsx   # Mermaid 图表渲染
├── public/               # 静态资源
├── package.json          # JavaScript 依赖
└── .env                  # 环境变量

caveat

  • Stellen Sie sicher, dass der API-Schlüssel gültig ist; ein ungültiger Schlüssel führt dazu, dass die Generierung fehlschlägt.
  • Für Docker-Bereitstellungen wird empfohlen, mehr als 4 GB Speicher zuzuweisen.
  • Die manuelle Installation erfordert Python 3.8+ und Node.js 16+.
  • Bei größeren Repositories kann die Erstellung der Dokumentation länger dauern, und es wird empfohlen, die Tests mit kleineren Repositories zu beginnen.
  • Wenn CORS-Fehler auftreten, vergewissern Sie sich, dass das Front- und das Backend auf demselben Rechner laufen, oder passen Sie die NEXT_PUBLIC_SERVER_BASE_URL.

 

Anwendungsszenario

  1. Schnellstart für neue Entwickler
    Neue Entwickler können eine Projektdokumentation erstellen, um die Codestruktur und die Modulfunktionalität schnell zu verstehen und die Lernkurve zu verkürzen.
  2. Beitrag zum Open-Source-Projekt
    Mitwirkende beherrschen die Logik des Repositorys schnell und verbessern die Effizienz der Codeeinreichung durch Dokumentations- und Frage- und Antwortfunktionen.
  3. Interne Dokumentenpflege
    Unternehmen setzen DeepWiki-Open ein, um Dokumentationen für private Repositories zu erstellen und so die manuellen Wartungskosten zu senken.
  4. Vorbereitung auf technische Interviews
    Die Kandidaten analysieren das Open-Source-Repository des Zielunternehmens, erstellen eine Dokumentation und vertiefen sich dann mit DeepResearch in die technischen Details.
  5. Bildung und Lernen
    Die Studierenden nutzen DeepWiki-Open, um bekannte Projekte (z. B. React, Django) zu analysieren und anhand von Diagrammen und Quizfragen etwas über Code-Design zu lernen.

 

QA

  1. Ist DeepWiki-Open kostenlos?
    DeepWiki-Open ist völlig kostenlos und quelloffen, aber die Nutzer müssen API-Schlüssel für Google und OpenAI bereitstellen, und für die Nutzung der API können Kosten anfallen.
  2. Welche Code-Hosting-Plattformen werden unterstützt?
    Unterstützung für GitHub, GitLab und Bitbucket, sowohl für öffentliche als auch für private Repositories.
  3. Wie exportiert man das erstellte Dokument?
    Dokumente werden lokal gespeichert ~/.adalflowDie Datei kann manuell in Markdown oder andere Formate kopiert werden.
  4. Was ist der Unterschied zwischen DeepResearch- und Ask-Funktionen?
    Ask bietet ein einziges kontextbezogenes Quiz, und DeepResearch vertieft komplexe Probleme mit mehreren Iterationen.
  5. Was ist, wenn die Dokumentenerstellung fehlschlägt?
    Überprüfen Sie den API-Schlüssel, das Format der Repository-URL oder versuchen Sie ein kleineres Repository; prüfen Sie die Terminalprotokolle auf Fehlerdetails.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " DeepWiki-Open: Automatische KI-Dokumentationserstellung für GitHub- und GitLab-Repositories
de_DEDeutsch