56 pontos por GN⁺ 2025-08-27 | 1 comentários | Compartilhar no WhatsApp
  • O DeepWiki é uma ferramenta que permite visualizar instantaneamente um repositório do GitHub convertido em um wiki navegável
  • Com modos Fast / Deep Research e recurso de citações linha por linha, fornece respostas de alta confiabilidade em várias situações de desenvolvimento, como exploração de código, configuração de ambiente e análise de arquitetura
  • Integra-se ao servidor MCP, permitindo uso natural com os principais AI IDEs, como Claude e Cursor
  • Aumenta bastante a produtividade em todo o fluxo de trabalho de desenvolvimento, incluindo avaliação de engenharia, verificação de exemplos de implementação, contribuição open source e revisão de PRs
  • Com o DeepWiki, é possível reduzir significativamente o tempo necessário para entender o código e melhorar a eficiência de onboarding e revisões

Introdução e visão geral da ferramenta

  • DeepWiki é uma ferramenta de exploração de repositórios GitHub criada pela equipe da Cognition (a mesma que desenvolveu o engenheiro de IA Devin)
  • Basta trocar github.com por deepwiki.com no endereço do repositório para usar imediatamente um wiki gerado automaticamente e navegável
  • É possível maximizar a eficiência em várias situações, como codebases desconhecidas, avaliação de open source, implementação de recursos avançados e onboarding de novos integrantes
  • Em vez de ler ou buscar código manualmente, você pode entender a estrutura e o funcionamento fazendo perguntas

Como o DeepWiki funciona

  • O DeepWiki oferece suporte a repositórios públicos e privados com uma conta gratuita do Devin
    • Em repositórios públicos, é possível fazer perguntas imediatamente; para repositórios privados, é necessária uma conta do Devin
  • O modo Fast responde instantaneamente com base no grafo de código, enquanto o modo Deep Research lê vários arquivos para fornecer respostas de alta confiabilidade
  • Todas as respostas incluem citações clicáveis do código-fonte, permitindo ir rapidamente ao local real e ajudando a evitar resumos incorretos (alucinações)

Como usar o DeepWiki

Uso no site ou em AI IDEs

  • Você pode colar uma URL do GitHub em deepwiki.com ou integrá-lo diretamente a AI IDEs (Claude, Windsurf, Cursor etc.) por meio do servidor MCP oficial do DeepWiki
  • O servidor MCP pode ser usado sem autenticação; basta adicioná-lo à configuração do IDE para usar o DeepWiki como um assistente de consulta sempre ativo
  • Como é possível consultar e perguntar a qualquer momento sobre o contexto e a estrutura da codebase, a produtividade de desenvolvimento aumenta bastante

Casos de uso reais

  • 1. Avaliação de projetos open source

    • Antes de adotar uma nova biblioteca open source, é possível verificar instantaneamente itens importantes como manutenção, segurança e licença
    • Você recebe orientação com localizações exatas no código e links para arquivos de configuração, chamadas de rede, cláusulas de licença e mais, acelerando a tomada de decisão
  • 2. Configuração de um novo ambiente de desenvolvimento

    • Ao fazer perguntas como “Como executar localmente?”, ele fornece rapidamente métodos de configuração do ambiente, grafo de dependências e scripts relacionados, junto com citações da fonte original
    • Faz referência automática a vários arquivos, como README, Dockerfile e scripts, reduzindo bastante o esforço da configuração inicial
  • 3. Reaproveitamento de exemplos de implementação

    • É possível aproveitar detalhes de implementação de outros projetos, como fluxos de autenticação incomuns ou formas de persistência de estado, recebendo tudo em Markdown resumido
    • Exemplo: analisar com o DeepWiki uma estrutura de controle de múltiplos coding agents usando tmux e aplicá-la ao próprio projeto
  • 4. Guia de onboarding personalizado

    • Para perguntas específicas e contextuais, como “Explique o fluxo de retry do processador de filas”, ele fornece orientações detalhadas no nível de um desenvolvedor sênior, com links para o código
    • É possível obter rapidamente materiais de onboarding personalizados
  • 5. Exploração da primeira contribuição

    • Ao contribuir para uma nova equipe ou projeto open source, ele pode explorar automaticamente “good first issues”
    • Aponta pontos de partida acessíveis mesmo para iniciantes, como TODOs, testes falhando e documentação incompleta
  • 6. Uso com repositórios no estilo cookbook

    • Em repositórios centrados em exemplos, como Anthropic Cookbook e Gemini Cookbook, ajuda a explorar rapidamente os exemplos e trechos de código desejados
  • 7. Criação de coding agents com reconhecimento de contexto

    • Quando é necessário entender o contexto geral — como estrutura do código, arquitetura e estilo de programação — ele gera automaticamente as informações necessárias
    • Integrado a ferramentas como Sidekick Dev, pode gerar automaticamente arquivos de contexto (cursorrules.md, claude.md etc.), aumentando a utilidade dos coding agents
    • Com a MCP API gratuita do DeepWiki, são possíveis várias aplicações, como onboarding, geração de testes e AI pair programming
  • 8. Revisão de Pull Requests e entendimento rápido

    • Quando um colega abre um PR, o DeepWiki pode gerar imediatamente um resumo estruturado das mudanças, facilitando revisão rápida e entendimento do contexto
    • Em vez de apenas mostrar as alterações, ele também ajuda a entender a posição e o impacto delas em toda a codebase, contribuindo para uma revisão mais eficiente

Quando vale a pena recomendar o DeepWiki

  • Ao explorar stacks pouco familiares, componentes que você não vê há muito tempo ou repositórios públicos complexos, o DeepWiki deve ser a ferramenta prioritária
  • Em vez da busca tradicional com grep, é possível ter uma experiência de onboarding rápido com o fluxo: explorar o resumo em wiki → fazer algumas perguntas de acompanhamento → ir direto aos arquivos de interesse

O que seria desejável no DeepWiki

  • 1. Modo sidekick conversacional – manter o DeepWiki sempre aberto ao lado do IDE e fazer perguntas específicas em tempo real, como onde uma função é chamada
  • 2. Onboarding orientado a objetivos – ao inserir um repositório e um objetivo (por exemplo, corrigir uma issue aberta), receber um caminho guiado passo a passo com os arquivos, funções e comandos necessários

Conclusão e recomendação de uso

  • O DeepWiki pode ser usado imediatamente em http://deepwiki.com
  • É altamente recomendável como uma excelente ferramenta de entendimento de código e onboarding para diversos ambientes de desenvolvimento

1 comentários

 
GN⁺ 2025-08-27
Comentários do Hacker News
  • É uma pena não haver um método claro para solicitar remoção; acabamos encontrando no deepwiki o seguinte conteúdo gerado incorretamente a partir de documentos do LibreOffice, algo que nunca quisemos: https://deepwiki.com/LibreOffice/core/2-build-system (observação: o LibreOffice nunca usou um sistema de build chamado Buck)

    • Fiquei curioso e perguntei: o LibreOffice tem arquivos como .buckversion, BUCK e .buckconfig, e neste commit parecem existir vestígios de uso do Buck; foi há 10 anos, mas fiquei curioso se houve algum contexto histórico em que ele tenha sido adotado, mesmo que brevemente

    • Enviei ao deepwiki um pedido educado em tom jurídico, e eles responderam imediatamente removendo meu projeto do índice

      Olá, estou entrando em contato por questões de segurança e proteção dos usuários de software de código aberto
      Gostaria de saber como impedir que o deepwiki indexe projetos da minha organização no GitHub
      Se vocês consideram que têm autoridade legal implícita para treinar e escrever sobre meus projetos, por meio desta notificação eu retiro essa autorização de forma explícita e permanente
      Se necessário, informo também que, caso o deepwiki publique informações incorretas sobre meus projetos no futuro, isso poderá ser considerado difamação intencional
      Como um LLM não pode ter vontade própria, a publicação de informações incorretas depende inteiramente da vontade humana
      Obrigado
      Conrad Buck

    • Pela minha experiência real usando o deepwiki, o resultado que ele produz não era um lixo enganoso

  • Não quero atacar o Deepwiki indiscriminadamente; algumas partes específicas (especialmente os diagramas de sistema) são bastante impressionantes e parecem economizar tempo
    Só acho uma pena que, nos libs que mantenho, que não são tão populares mas ainda têm milhões de downloads por ano, a documentação gerada pelo deepwiki frequentemente esteja errada, o que acaba sendo pior para os usuários

  • A ferramenta DeepWiki em si parece bem interessante
    A tentativa de reunir em um só lugar a documentação espalhada pelo codebase é boa, e ela também tenta preencher com previsões o que não existe documentado
    Acho que é um exemplo de automação de assistência a código um nível acima de ferramentas auxiliares anteriores do tipo “o tipo deste item é <X>, aqui está uma explicação”
    Algumas informações podem ser muito úteis mesmo via automação, mas às vezes a perspectiva humana é indispensável
    Concordo com o conselho de que “deve ser tratado como um engenheiro sênior experiente”
    Em termos de paciência, LLMs são confiáveis (respondem até perguntas bobas sem se cansar), mas é difícil esperar que ajam como um sênior de verdade
    Se você não pedir, eles não vão contestar ideias idiotas nem sugerir algo melhor
    E, se você mandar “fazer o papel do contraditório”, eles tendem a exagerar na oposição

    • Estou testando o deepwiki em um repositório sem comentários nem documentação alguma
      Achei curioso que, mesmo esperando mais de 10 minutos, nada aconteceu; como é um projeto Lingo source, parece que o deepwiki já desistiu

    • Sinto que o DeepWiki já agrega bastante valor
      Eu mantenho projetos open source e frequentemente recomendo o DeepWiki a voluntários para ajudá-los a explorar codebases complexos
      Mas também já vi várias vezes o DeepWiki inventar com bastante convicção explicações sobre structs/pacotes/funções cujo nome permaneceu igual, mas cuja função real mudou, ou que não seguem padrões (RFCs, documentação oficial etc.)
      Mais do que uma crítica, acho que isso também é muito causado por práticas de refatoração dos mantenedores e por problemas de legibilidade do código
      Prevejo que legibilidade de código e testes continuarão sendo pontos importantes para permitir que contribuidores livres contribuam com eficiência

  • Parece que o projeto Elkjs usa o deepwiki, mas honestamente não gostei https://deepwiki.com/kieler/elkjs/5-usage-guide
    Foi difícil encontrar a informação que eu queria
    Por exemplo, não consegui achar no deepwiki a estrutura do objeto JSON principal de configuração
    Só encontrei isso na página oficial de documentação do projeto Elk, “não feita por IA”: https://eclipse.dev/elk/documentation/tooldevelopers/graphdatastructure/jsonformat.html
    Claro, isso é só um exemplo

    • Acho um pouco exagerado dizer que “usa”
      Não há nenhum link para o deepwiki em nenhum lugar do repositório oficial https://github.com/kieler/elkjs
      Qualquer pessoa pode simplesmente solicitar ao deepwiki e criar uma entrada para um repositório do GitHub
      A simples existência de uma página no deepwiki não significa que o projeto a tenha aprovado ou revisado
      Eles simplesmente aparecem por conta própria; parece uma espécie de spam de SEO
  • Fui verificar no deepwiki alguns repositórios open source que conheço relativamente bem
    O único com wiki era o LLVM (https://deepwiki.com/llvm/llvm-project)
    Na primeira tela, só há uma listagem estranha de alguns diretórios de topo, e o diagrama do pipeline de compilação está incorreto
    Por exemplo, o Clang-AST deveria aparecer como parte do frontend do clang, mas não aparece; além disso, no pipeline de otimização os fluxos de vetorização e seleção de instruções estão estranhamente embaralhados
    Partes importantes como o GlobalISel estão completamente ausentes, e até a seleção destacada de backends parece estranha
    Também omite completamente partes realmente importantes do LLVM, como o principal passe de combinação InstCombine
    Mesmo entrando nas páginas detalhadas, não há menção a LLVM IR, ao pass manager, nem às estratégias de canonicalização dos passes
    O papel do TableGen também não é abordado de forma alguma, embora, na prática, entender o TableGen e suas mensagens de erro seja uma das partes mais difíceis do desenvolvimento de backend no LLVM
    O deepwiki parece ter tendência a se fixar em arquivos enormes, com algo como 30 mil linhas em uma única página, enquanto ignora totalmente núcleos essenciais como o codegen do clang ou o InstCombine, que se espalham por vários arquivos também com dezenas de milhares de linhas

    • Tive uma experiência parecida
      A qualidade dos diagramas, nos projetos que eu conheço bem, ficou muito abaixo do nível de engenharia esperado

    • Observação interessante
      (Embora eu não conheça o funcionamento interno do deepwiki) fico curioso se o resultado mudaria bastante caso fossem removidos metadados baseados em tamanho de arquivo, número de commits e outros valores numéricos, ou se todos os arquivos fossem concatenados em um só com marcação de caminho+nome do arquivo

  • O deepwiki já me ajudou bastante antes, quando eu estava refatorando um grande codebase no Playwright para automação de navegador baseada em pure CDP
    Meus aplausos à equipe que fez a ferramenta
    Os overviews e diagramas gerados automaticamente são ótimos, mas o verdadeiro ponto forte é o recurso de perguntas adicionais de “deep research” no rodapé
    Para fazer deep research em codebases complexos (puppeteer, playwright, chromium etc.), acho muito melhor do que OpenAI ou Perplexity

  • Pessoalmente, já gerei documentação do meu repositório com o deepwiki e achei bastante útil
    Havia uma tendência de se aprofundar demais em algumas partes simples e passar rapidamente por partes importantes
    Mas, no geral, ele forneceu um resumo bem detalhado do que o pacote faz e por quê

  • Este texto parecia que deveria ser originalmente um post técnico curto; fico me perguntando por que soa como um vendedor fazendo propaganda
    A partir da frase “Estamos criando mais código do que nunca. Claude, um LLM, já escreve a maior parte do código da Anthropic. Agora o desafio não é produzir código, mas entendê-lo.”, tudo já parece escrito por IA
    O texto inteiro está tão carregado daquele estilo típico de IA que eu não consigo me concentrar ao ler
    Talvez isso seja resultado de o autor achar que a IA escreve melhor do que ele, mas eu realmente gostaria de recomendar que escrevesse com a própria voz
    Hoje em dia, ao pensar em que partes alguém pediu para a IA gerar, eu acabo deliberadamente ignorando textos gerados como “ele ainda fornece um grafo de dependências para dockerfile, README e scripts, para que você possa começar a trabalhar imediatamente”

    • Concordo em parte, mas acho que as duas frases iniciais que você citou têm erros gramaticais demais em inglês para eu achar que foram escritas por IA
  • Acho que é uma avaliação muito boa (o deepwiki é realmente impressionante!)
    Teria sido ainda melhor se o código fosse open source
    Encontrei recentemente algumas tentativas open source

  • E se eu não me sentir confortável em confiar meu código a um terceiro, como o deepwiki? Existe alguma alternativa open source ou que eu possa rodar localmente?

    • Meu método é o seguinte:
      1. Arquivar o repositório inteiro em um único arquivo de texto com o Repopack https://github.com/yamadashy/repomix
      2. Compactar o arquivo com o LLMLingua-2 para reduzir o número de tokens https://github.com/microsoft/LLMLingua
        (quanto menos tokens, mais contexto você consegue dar ao LLM, então ele entende melhor o repositório)
      3. Copiar e colar o conteúdo completo do arquivo compactado no ChatGPT, ou na entrada de um LLM local
      4. Pedir ao LLM para gerar documentação
        Ex.: “Este código é o código-fonte completo do repositório. Com base no contexto atual, crie um índice/sumário em capítulos”
        Se o sumário parecer bom, peço a geração do primeiro capítulo, e vou repetindo até completar a documentação toda
      5. Se for um codebase em TypeScript/JavaScript, usar um bundler como esbuild na etapa 2 também ajuda a economizar tokens
      6. Se você tiver interesse no LLMLingua-2, também deixo aqui meu port em TypeScript, que pode ser usado diretamente sem instalação: https://atjsh.github.io/llmlingua-2-js/