DeepWiki-Open : génération automatisée de documentation AI pour les dépôts GitHub, GitLab

Derniers outils d'IAPosté il y a 2 mois Sharenet.ai
706 0
吐司AI

Introduction générale

DeepWiki-Open est un projet open source conçu pour générer automatiquement une documentation structurée pour les dépôts de code sur GitHub, GitLab et Bitbucket. Il utilise une technologie d'intelligence artificielle pour analyser la structure du code, le contenu des fichiers et les relations logiques afin de générer rapidement une page de base de connaissances similaire à Wikipédia. Les utilisateurs n'ont qu'à saisir l'URL du référentiel pour obtenir une description claire de l'architecture du code, des modules fonctionnels et des détails de la mise en œuvre. Le projet prend en charge le déploiement local avec des données stockées localement pour des raisons de confidentialité et de sécurité. Il fournit également une fonctionnalité RAG (Retrieval Augmented Generation), permettant aux utilisateurs de s'engager dans des questions-réponses contextuelles avec la base de code et d'approfondir des problèmes complexes grâce à la fonctionnalité DeepResearch.Développé par AsyncFuncAI, DeepWiki-Open est gratuit et open source et convient aux développeurs, aux équipes et à la communauté open source pour les aider à comprendre rapidement un code complexe.

DeepWiki-Open:为GitHub、GitLab仓库自动生成AI文档

 

Liste des fonctions

  • Génération automatisée de documentation : analyse des dépôts GitHub, GitLab ou Bitbucket pour générer une documentation structurée de type wiki.
  • Analyse de l'intelligence du code : identifie la structure du code, les modules clés et les relations entre les fichiers, en fournissant des descriptions claires.
  • Questions et réponses contextualisées : via RAG pour aider les utilisateurs à poser des questions sur les entrepôts et à obtenir des réponses précises.
  • Fonction DeepResearch : prend en charge plusieurs cycles de recherche, analyse en profondeur des questions complexes et fournit des conclusions détaillées.
  • Soutien au déploiement local : les données sont stockées localement, aucun service en nuage n'est nécessaire, la confidentialité des données est garantie.
  • Diagrammes interactifs : générez des diagrammes d'architecture et des organigrammes au format Mermaid pour visualiser la logique du code.
  • Prise en charge multiplateforme : compatible avec GitHub, GitLab et Bitbucket, prenant en charge les dépôts publics et privés.
  • Réponses de l'IA en continu : via Google Gémeaux Le modèle permet de générer des documents en temps réel et de répondre aux questions.
  • Open source free : entièrement open source, les utilisateurs sont libres de modifier et d'étendre la fonction.

 

Utiliser l'aide

Processus d'installation

DeepWiki-Open supporte Docker et l'installation manuelle pour Ubuntu, macOS ou Windows (via WSL2). Voici les étapes détaillées.

1. clonage des entrepôts

Cloner localement la base de code de DeepWiki-Open :

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

2. configuration des variables d'environnement

DeepWiki-Open nécessite les clés d'API Google Gemini et OpenAI pour la génération de documents et l'intégration de code. Dans le répertoire racine du projet, créez le fichier .env Documentation :

echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
  • GOOGLE_API_KEY: A partir de Google AI Studio Obtenu pour être utilisé dans le modèle Google Gemini.
  • OPENAI_API_KEY: A partir de Plate-forme OpenAI Fetch pour générer un code d'intégration.
  • Variables optionnelles :
    • PORTport du serveur API, par défaut 8001.
    • NEXT_PUBLIC_SERVER_BASE_URLAdresse du serveur API, par défaut http://localhost:8001.

3. installation avec Docker (recommandé)

Docker est facile à installer et convient à un déploiement rapide.

  • Assurez-vous que Docker et Docker Compose sont installés.
  • Exécutez la commande suivante pour démarrer le service :
docker-compose up
  • Ou tirer une image préconstruite et l'exécuter :
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
  • Après le démarrage du service, l'API s'exécute sur le serveur http://localhost:8001Les pages d'accueil du site http://localhost:3000.
  • Il est également possible de monter le .env Documentation :
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest

4. installation manuelle

Si vous n'utilisez pas Docker, vous pouvez l'installer manuellement.

  • Installer les dépendances Python (backend) :
pip install -r api/requirements.txt
  • Démarrer le service API :
python -m api.main
  • Installer les dépendances JavaScript (front-end) :
npm install
  • Démarrer le serveur de développement frontal :
npm run dev
  • La page d'accueil se trouve dans la section http://localhost:3000.

5. vérification de l'installation

  • Ouvrez votre navigateur et visitez http://localhost:3000.
  • Saisissez l'URL du référentiel (par ex. https://github.com/facebook/react peut-être https://bitbucket.org/redradish/atlassian_app_versions).
  • Cliquez sur "Generate Wiki" pour afficher le document généré.

Principales fonctions

Génération automatique de documents

  1. Saisir l'URL du référentiel sur la page d'accueil (par ex. https://gitlab.com/gitlab-org/gitlab).
  2. Pour les dépôts privés, cliquez sur "+ Ajouter des jetons d'accès" et saisissez votre jeton d'accès personnel pour GitHub, GitLab ou Bitbucket.
  3. Cliquez sur "Generate Wiki", le système clone le dépôt et analyse le code pour générer la documentation.
  4. La documentation générée comprend
    • Aperçu de l'architecture du code.
    • Description fonctionnelle des principaux modules.
    • Description détaillée des fichiers et des répertoires.
    • Diagramme et organigramme interactifs de l'architecture Mermaid.

Questions et réponses contextuelles (fonction Ask)

  1. Trouvez la zone "Demander" sur la page Documentation.
  2. Saisissez une question telle que "Comment la connexion à la base de données pour ce référentiel est-elle mise en œuvre ?" .
  3. Le système récupère des extraits de code à l'aide de la technique RAG afin de générer des réponses contextuelles pertinentes.
  4. Les réponses sont affichées en continu, ce qui permet une interaction en temps réel.

Fonctionnalités de DeepResearch

  1. Activez le commutateur "Recherche approfondie" dans l'écran "Demander".
  2. Répondre à des questions complexes telles que "Comment optimiser le processus d'authentification pour cet entrepôt ?". .
  3. Exécution systématique de plusieurs cycles de recherche :
    • programme de recherche Le cadre d'analyse initial : Générer le cadre d'analyse initial.
    • Mises à jour de la recherche Les analyses itératives permettent d'ajouter des détails.
    • conclusion finale Les questions de l'enquête sur le terrain : Synthétiser l'ensemble des informations et fournir une réponse détaillée.
  4. Le processus de recherche a été répété jusqu'à cinq fois et les réponses ont été diffusées en continu.

Fonction en vedette Fonctionnement

Réponse de l'IA en continu

  • La génération de documents et les réponses aux questions-réponses sont affichées en temps réel à l'aide du modèle Google Gemini.
  • Exemple : Après avoir saisi une question, la réponse est chargée paragraphe par paragraphe pour réduire le temps d'attente.

Cartes interactives des sirènes

  • Le système génère un diagramme d'architecture et un organigramme de l'entrepôt, basés sur la technologie Mermaid.
  • Les graphiques permettent de zoomer, de glisser et de cliquer.
  • Exemple : après avoir généré un document de référentiel TensorFlow, vous pouvez afficher l'organigramme de formation du modèle.

Prise en charge des dépôts privés

  • Un jeton d'accès personnel à GitHub, GitLab ou Bitbucket est nécessaire.
  • Le jeton n'est utilisé que pour cloner le référentiel et n'est pas stocké sur le serveur.
  • Exemple : Saisissez l'URL du référentiel privé et le jeton pour générer le document.

Stockage local des données

  • Les données de documentation et d'analyse sont stockées dans le ~/.adalflow (Docker peut le monter lui-même).
  • Pas de dépendance à l'égard de l'informatique en nuage pour les scénarios sensibles en matière de protection de la vie privée.

Structure du projet

La structure du code de DeepWiki-Open est la suivante :

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                  # 环境变量

mise en garde

  • Assurez-vous que la clé API est valide ; une clé non valide entraînera l'échec de la génération.
  • Il est recommandé aux déploiements Docker d'allouer plus de 4 Go de mémoire.
  • L'installation manuelle nécessite Python 3.8+ et Node.js 16+.
  • Les référentiels plus importants peuvent prendre plus de temps pour générer la documentation, et il est recommandé de commencer les tests avec des référentiels plus petits.
  • Si vous rencontrez des erreurs CORS, assurez-vous que le front-end et le back-end s'exécutent sur la même machine, ou ajustez le paramètre NEXT_PUBLIC_SERVER_BASE_URL.

 

scénario d'application

  1. Démarrage rapide pour les nouveaux développeurs
    Les nouveaux développeurs peuvent générer une documentation sur le projet afin de comprendre rapidement la structure du code et les fonctionnalités des modules, ce qui raccourcit la courbe d'apprentissage.
  2. Contribution à un projet Open Source
    Les contributeurs maîtrisent rapidement la logique du référentiel et améliorent l'efficacité de la soumission de code grâce à la documentation et aux fonctions de questions-réponses.
  3. Gestion des documents internes
    Les entreprises déploient DeepWiki-Open pour générer de la documentation pour les dépôts privés, réduisant ainsi les coûts de maintenance manuelle.
  4. Préparation aux entretiens techniques
    Les candidats analysent le référentiel open source de l'entreprise cible, génèrent de la documentation et se plongent ensuite dans les détails techniques avec DeepResearch.
  5. Éducation et apprentissage
    Les étudiants utilisent DeepWiki-Open pour analyser des projets connus (par exemple React, Django) et apprendre la conception du code à travers des diagrammes et des quiz.

 

QA

  1. DeepWiki-Open est-il gratuit ?
    DeepWiki-Open est entièrement gratuit et open source, mais les utilisateurs doivent fournir des clés API pour Google et OpenAI, et l'utilisation de l'API peut entraîner des coûts.
  2. Quelles sont les plateformes d'hébergement de code prises en charge ?
    Prise en charge de GitHub, GitLab et Bitbucket, couvrant à la fois les dépôts publics et privés.
  3. Comment exporter le document généré ?
    Les documents sont stockés localement ~/.adalflowLe fichier peut être copié manuellement dans le format Markdown ou dans d'autres formats.
  4. Quelle est la différence entre les fonctionnalités de DeepResearch et celles de Ask ?
    Ask fournit un seul quiz contextuel, et DeepResearch approfondit les problèmes complexes avec plusieurs itérations.
  5. Que se passe-t-il si la génération du document échoue ?
    Vérifiez la clé API, le format de l'URL du référentiel, ou essayez un référentiel plus petit ; vérifiez les journaux du terminal pour les détails de l'erreur.
© déclaration de droits d'auteur
AiPPT

Articles connexes

Pas de commentaires

aucun
Pas de commentaires...