56 points par GN⁺ 2025-08-27 | 1 commentaires | Partager sur WhatsApp
  • DeepWiki est un outil qui permet de convertir instantanément un dépôt GitHub en wiki navigable et interrogeable
  • Grâce à des fonctionnalités comme les modes Fast / Deep Research et les citations ligne par ligne, il fournit des réponses fiables dans de nombreux contextes de développement, comme l’exploration du code, la configuration de l’environnement et l’analyse de conception
  • Il s’intègre au serveur MCP et peut être utilisé naturellement avec les principaux IDE IA comme Claude et Cursor
  • Il améliore fortement la productivité sur l’ensemble du travail de développement, notamment pour l’évaluation technique, la vérification d’exemples d’implémentation, les contributions open source et la revue de PR
  • Avec DeepWiki, il est possible de réduire considérablement le temps nécessaire à la compréhension du code et d’améliorer l’efficacité de l’onboarding et des revues d’équipe

Présentation et aperçu de l’outil

  • DeepWiki est un outil d’exploration de dépôts GitHub créé par l’équipe Cognition (à l’origine des ingénieurs de Devin AI)
  • Il suffit de remplacer github.com par deepwiki.com dans l’adresse du dépôt pour utiliser immédiatement un wiki généré automatiquement et navigable
  • Que ce soit pour une base de code inconnue, l’évaluation d’un projet open source, l’implémentation de fonctionnalités avancées ou l’onboarding d’une nouvelle équipe, l’outil permet un gain d’efficacité maximal
  • Il permet de comprendre la structure et le fonctionnement du code à partir de questions, sans avoir à le lire ou à le rechercher directement

Fonctionnement principal de DeepWiki

  • DeepWiki prend en charge les dépôts publics et privés avec un compte Devin gratuit
    • Les dépôts publics peuvent être interrogés immédiatement, tandis que les dépôts privés nécessitent un compte Devin
  • Le mode Fast fournit des réponses immédiates à partir d’un graphe de code, tandis que le mode Deep Research lit plusieurs fichiers pour fournir des réponses plus fiables
  • Toutes les réponses incluent des citations cliquables du code source, ce qui permet d’accéder rapidement à l’emplacement réel et de limiter les résumés erronés (hallucinations)

Comment utiliser DeepWiki

Utilisation sur le site web ou dans un IDE IA

  • Il est possible de coller une URL GitHub sur deepwiki.com ou de l’intégrer directement à un IDE IA (Claude, Windsurf, Cursor, etc.) via le serveur MCP officiel de DeepWiki
  • Le serveur MCP peut être utilisé sans authentification ; il suffit de l’ajouter à la configuration de l’IDE pour transformer DeepWiki en assistant de requête toujours actif
  • Comme il est possible de consulter et d’interroger à tout moment le contexte et la structure de la base de code, la productivité de développement augmente fortement

Cas d’usage concrets

  • 1. Évaluation de projets open source

    • Avant d’utiliser une nouvelle bibliothèque open source, il est possible de vérifier immédiatement des critères importants comme l’état de maintenance, la sécurité et la licence
    • L’outil guide rapidement vers l’emplacement exact dans le code et les liens correspondants pour les fichiers de configuration, les appels réseau ou les clauses de licence, ce qui aide à décider vite
  • 2. Configuration d’un nouvel environnement de développement

    • À une question comme « Comment l’exécuter en local ? », il fournit rapidement, avec citations des sources, la méthode de configuration, le graphe des dépendances et les scripts concernés
    • En s’appuyant automatiquement sur différents fichiers comme le README, le Dockerfile et les scripts, il réduit nettement la charge de configuration initiale
  • 3. Réutilisation d’exemples d’implémentation

    • Il permet de récupérer sous forme de Markdown résumé des détails d’implémentation provenant d’autres projets, comme un flux d’authentification original ou un mode de persistance d’état
    • Exemple : analyser avec DeepWiki une architecture de contrôle multi coding agent utilisant tmux, puis l’appliquer à son propre projet
  • 4. Guide d’onboarding sur mesure

    • Pour des questions concrètes et contextuelles comme « expliquer le flux de reprise sur erreur du processeur de file », il fournit des explications détaillées dignes d’un développeur senior ainsi que des liens vers le code
    • Il devient ainsi possible d’obtenir rapidement un support d’onboarding personnalisé
  • 5. Recherche d’une première contribution

    • Lors d’une contribution à une nouvelle équipe ou à un projet open source, il peut rechercher automatiquement des « good first issues »
    • Il propose des points d’entrée faciles d’accès, même pour les débutants, comme des TODO, des tests en échec ou une documentation incomplète
  • 6. Utilisation de dépôts au style cookbook (repo cookbook)

    • Dans des dépôts centrés sur les exemples comme Anthropic Cookbook ou Gemini Cookbook, il aide à retrouver rapidement l’exemple ou l’extrait de code voulu, voire à le générer
  • 7. Création d’agents de code sensibles au contexte

    • Lorsqu’il faut comprendre le contexte global — structure du code, conception, style de codage, etc. — il génère automatiquement les informations nécessaires
    • En l’intégrant à des outils comme Sidekick Dev, il peut générer automatiquement des fichiers de contexte (cursorrules.md, claude.md, etc.) pour améliorer l’usage d’agents de code
    • Grâce à l’API MCP gratuite de DeepWiki, diverses applications sont possibles, comme l’onboarding, la génération de tests ou le pair programming IA
  • 8. Revue de Pull Request et compréhension rapide

    • Lorsqu’un collègue ouvre une PR, DeepWiki peut générer immédiatement un résumé structuré des changements afin d’accélérer la revue et la compréhension du contexte
    • Il ne se contente pas d’identifier les changements : il permet aussi de comprendre leur emplacement et leur impact dans l’ensemble de la base de code, contribuant ainsi à des revues plus efficaces

Quand DeepWiki est particulièrement recommandé

  • DeepWiki est l’outil à privilégier en priorité pour explorer une stack peu familière, un composant qu’on n’a pas vu depuis longtemps ou un dépôt public complexe
  • Au lieu de s’appuyer sur des recherches grep, on peut vivre un onboarding rapide en enchaînant exploration du wiki résumé → quelques questions de suivi → accès direct aux fichiers pertinents

Ce qu’on aimerait voir dans DeepWiki

  • 1. Mode sidekick conversationnel – garder DeepWiki ouvert en permanence à côté de l’IDE pour poser en temps réel des questions précises, comme l’emplacement d’appel d’une fonction
  • 2. Onboarding orienté objectif – en saisissant un dépôt et un objectif (par exemple corriger une issue ouverte), obtenir un parcours étape par étape avec les fichiers, fonctions et commandes nécessaires

Conclusion et recommandation d’usage

  • DeepWiki est accessible directement sur http://deepwiki.com
  • Il mérite d’être recommandé comme excellent outil de compréhension du code et d’onboarding dans des environnements de développement variés

1 commentaires

 
GN⁺ 2025-08-27
Avis Hacker News
  • C’est vraiment dommage qu’il n’existe pas de méthode claire pour demander une suppression ; alors même que nous ne voulions pas que ce type d’informations erronées soit généré à partir des documents LibreOffice, nous avons découvert sur deepwiki le contenu suivant : https://deepwiki.com/LibreOffice/core/2-build-system (pour référence : LibreOffice n’a jamais utilisé le système de build Buck)

    • Par curiosité, j’ai posé la question : LibreOffice contient des fichiers comme .buckversion, BUCK, .buckconfig, et on voit dans ce commit des traces d’utilisation de Buck ; même si cela remonte à 10 ans, je me demande s’il y a eu un contexte historique où Buck a été brièvement adopté

    • J’ai envoyé à deepwiki une demande polie au ton juridique, et ils ont répondu immédiatement en retirant mon projet de l’index

      Bonjour, je vous contacte dans l’intérêt de la sécurité et de la protection des utilisateurs des logiciels open source
      Je voudrais savoir comment empêcher deepwiki d’indexer les projets de mon organisation GitHub
      Si vous pensez disposer implicitement d’une autorisation légale pour l’entraînement et la rédaction concernant mes projets, par la présente je retire explicitement et de façon permanente cette autorisation
      Si nécessaire, je vous informe également que si deepwiki publiait à l’avenir des informations erronées sur mes projets, cela pourrait être considéré comme de la diffamation intentionnelle
      Les LLM n’ont pas de volonté propre ; la publication d’informations erronées relève donc entièrement de la volonté humaine
      Merci
      Conrad Buck

    • Cela dit, d’après mon expérience d’utilisation réelle de deepwiki, ce qu’il produit n’était pas une supercherie ni un déchet complet

  • Je n’ai pas envie de critiquer Deepwiki aveuglément ; certaines parties (surtout les diagrammes système) sont assez impressionnantes et donnent le sentiment de faire gagner du temps
    Mais je regrette que, même pour les libs que je maintiens et qui ne sont pas si populaires tout en totalisant des millions de téléchargements par an, le contenu généré par deepwiki soit souvent incorrect, ce qui finit par donner un mauvais résultat pour les utilisateurs

  • L’outil DeepWiki en lui-même me paraît vraiment bon
    Le fait de rassembler en un seul endroit la documentation éparpillée dans toute la codebase est une bonne idée, et il essaie aussi de combler tant bien que mal la documentation manquante
    Je trouve que c’est un exemple d’assistant de code automatisé plus avancé que les outils d’appoint classiques du genre « cet élément a le type <X>, voici une explication »
    Certaines informations peuvent tout à fait être utiles même si elles sont automatisées, mais parfois un point de vue humain reste indispensable
    Je suis d’accord avec le conseil disant qu’il faut « le traiter comme un ingénieur senior expérimenté »
    Les LLM sont fiables sur la patience (ils répondent sans se lasser même aux questions idiotes), mais il est difficile d’attendre d’eux qu’ils se comportent comme de vrais seniors
    Si on ne leur demande pas, ils ne vont pas contester une idée stupide ni proposer une meilleure approche
    Et si on leur demande explicitement de « jouer l’avocat du diable », ils ont aussi tendance à contredire plus que nécessaire

    • Je suis en train d’essayer deepwiki sur un dépôt sans le moindre commentaire ni documentation
      J’attends depuis plus de 10 minutes sans aucune réaction, ce qui m’amuse ; comme c’est un projet en source Lingo, j’ai l’impression que deepwiki a déjà abandonné

    • J’ai le sentiment que DeepWiki apporte déjà une grande valeur
      Je maintiens des projets open source, et je recommande souvent DeepWiki aux bénévoles pour les aider à explorer des codebases complexes
      En revanche, j’ai aussi constaté à plusieurs reprises que DeepWiki raconte des choses assez plausibles mais fausses à propos de struct/packages/fonctions qui ont gardé leur nom alors que leur rôle a changé, ou qui ne suivent pas les standards (RFC, documentation officielle, etc.)
      Plus qu’une critique, je pense que cela tient aussi beaucoup aux pratiques de refactoring des mainteneurs et aux problèmes de lisibilité du code
      Je pense que la lisibilité du code et les tests resteront des points essentiels pour permettre aux contributeurs libres de contribuer efficacement à l’avenir

  • On dirait que le projet Elkjs utilise deepwiki, mais honnêtement je n’aime pas ça : https://deepwiki.com/kieler/elkjs/5-usage-guide
    J’ai eu du mal à y trouver les informations que je cherchais
    Par exemple, je n’ai pas réussi à y trouver la structure de l’objet JSON principal de configuration
    J’ai finalement dû me tourner vers la page de documentation officielle du projet Elk, « non générée par une IA » : https://eclipse.dev/elk/documentation/tooldevelopers/graphdatastructure/jsonformat.html
    Bien sûr, ce n’est qu’un exemple parmi d’autres

    • Dire qu’ils « l’utilisent » me paraît un peu exagéré
      Il n’y a nulle part dans le dépôt officiel https://github.com/kieler/elkjs de lien vers deepwiki
      N’importe qui peut simplement soumettre un dépôt à deepwiki et lui faire générer un référentiel GitHub
      Le simple fait qu’un deepwiki existe ne signifie pas que le projet en question l’a approuvé ou relu
      Ça existe juste parce qu’ils se sont imposés d’eux-mêmes, ce qui ressemble un peu à du spam SEO
  • J’ai vérifié sur deepwiki plusieurs dépôts open source que je connais assez bien
    Le seul qui a un wiki est LLVM(https://deepwiki.com/llvm/llvm-project)
    Dès la première page, certaines parties du répertoire racine sont listées de façon étrange, et le diagramme du pipeline de compilation est incorrect
    Par exemple, Clang-AST devrait faire partie du frontend clang, mais ce n’est pas le cas, et dans le pipeline d’optimisation le flux de vectorisation et de sélection d’instructions est maladroitement embrouillé
    Des parties importantes comme GlobalISel sont complètement absentes, et la sélection de backend mise en avant est elle aussi étrange
    Des éléments vraiment essentiels de LLVM, comme ses principaux passes de combinaison (InstCombine), sont totalement omis
    Même en allant sur les pages détaillées, il n’y a aucune mention de LLVM IR, du pass manager, ni des stratégies de canonisation des passes
    Le rôle de TableGen n’est pas du tout abordé alors qu’en pratique, pour le développement backend LLVM, comprendre TableGen et ses messages d’erreur est l’une des parties les plus difficiles
    deepwiki semble avoir tendance à se focaliser sur des fichiers énormes, de l’ordre de 30 000 lignes sur une seule page, tandis que des éléments clés comme le codegen de clang ou InstCombine, répartis sur plusieurs fichiers de dizaines de milliers de lignes, sont complètement ignorés

    • J’ai eu une expérience similaire
      La qualité des diagrammes sur des projets que je connais bien était très loin du niveau attendu en ingénierie

    • Remarque intéressante
      (Je ne connais pas le fonctionnement interne de deepwiki, mais) je me demande si le résultat changerait fortement si on supprimait les métadonnées basées sur la taille des fichiers, le nombre de commits et les chiffres, ou si l’on fusionnait tous les fichiers en un seul en les marquant par chemin + nom de fichier

  • deepwiki m’a auparavant beaucoup aidé lors d’un refactoring d’une grosse codebase d’automatisation de navigateur basée sur pure CDP dans playwright
    Bravo à l’équipe qui a créé l’outil
    Les vues d’ensemble et diagrammes auto-générés sont excellents, mais la vraie force est la fonction de questions supplémentaires « deep research » en bas de page
    Pour faire de la deep research sur des codebases complexes (puppeteer, playwright, chromium, etc.), je le trouve bien meilleur qu’OpenAI ou Perplexity

  • J’ai personnellement essayé de générer la documentation de mon dépôt avec deepwiki, et j’ai trouvé ça plutôt utile
    Il avait tendance à s’attarder excessivement sur certains aspects simples et à survoler les points importants
    Mais dans l’ensemble, il fournit un résumé assez détaillé de ce que fait le package et de pourquoi il le fait

  • J’ai l’impression que ce texte aurait dû être à l’origine un court billet technique, et je me demande pourquoi il donne cette impression de discours commercial, presque de pitch de vendeur
    Dès la phrase « Nous produisons plus de code que jamais. Claude, le LLM, écrit déjà la majeure partie du code d’Anthropic. Désormais, le défi n’est plus de produire du code, mais de le comprendre. », j’ai eu l’impression que ça avait été écrit par une IA
    Tout le texte est tellement rempli de tournures typiques de l’IA que j’ai eu du mal à rester concentré en le lisant
    C’est peut-être le résultat du fait que l’auteur pense que l’IA écrit mieux que lui, mais je lui recommanderais vraiment d’écrire directement avec sa propre voix
    Ces temps-ci, en me demandant qui a fait écrire quoi à une IA, j’essaie délibérément d’ignorer les textes manifestement générés comme « il fournit même un graphe de dépendances pour le Dockerfile, le README et les scripts, ce qui permet de se mettre immédiatement au travail »

    • Je suis d’accord sur certains points, mais les deux premières phrases que tu cites me semblent au contraire comporter trop d’erreurs de grammaire anglaise pour avoir été écrites par une IA
  • Je trouve que c’est une très bonne revue (deepwiki est vraiment étonnant !)
    Ce serait encore mieux si le code était open source
    J’ai récemment découvert quelques tentatives open source

  • Et si je n’étais pas à l’aise à l’idée de confier mon code à un tiers comme deepwiki ? Existe-t-il des alternatives open source ou exécutables en local ?

    • Voici ma méthode :
      1. Archiver tout le dépôt dans un seul fichier texte avec Repopack https://github.com/yamadashy/repomix
      2. Compresser le fichier avec LLMLingua-2 pour réduire le nombre de tokens https://github.com/microsoft/LLMLingua
        (moins il y a de tokens, plus on peut donner de contexte au LLM, et mieux il comprend le dépôt)
      3. Copier-coller l’intégralité du contenu du fichier texte compressé dans ChatGPT, ou dans le champ d’entrée d’un LLM local
      4. Demander au LLM de générer la documentation
        Par exemple : « Ce code correspond à l’ensemble des sources du dépôt. Sur la base du contexte actuel, peux-tu me proposer une table des matières ? »
        Si la table des matières est satisfaisante, demander la génération du premier chapitre, puis répéter jusqu’à compléter toute la documentation
      5. Pour une codebase Typescript/Javascript, utiliser un bundler comme esbuild à l’étape 2 peut aussi aider à réduire les tokens
      6. Si LLMLingua-2 vous intéresse, j’ai aussi un port Typescript utilisable directement sans installation : https://atjsh.github.io/llmlingua-2-js/