Introdução geral
O DeepWiki-Open é um projeto de código aberto desenvolvido para gerar automaticamente documentação estruturada para repositórios de código no GitHub, GitLab e Bitbucket. Ele usa a tecnologia de IA para analisar a estrutura do código, o conteúdo do arquivo e as relações lógicas para gerar rapidamente uma página de base de conhecimento semelhante à Wikipedia. Os usuários só precisam inserir a URL do repositório para obter uma descrição clara da arquitetura do código, dos módulos funcionais e dos detalhes da implementação. O projeto oferece suporte à implantação local com dados armazenados localmente para fins de privacidade e segurança. Ele também fornece a funcionalidade Retrieval Augmented Generation (RAG), permitindo que os usuários se envolvam em perguntas e respostas contextuais com a base de código e se aprofundem em problemas complexos com a funcionalidade DeepResearch.Desenvolvido pela AsyncFuncAI, o DeepWiki-Open é gratuito e de código aberto e é adequado para desenvolvedores, equipes e a comunidade de código aberto para ajudar a entender rapidamente códigos complexos.
Lista de funções
- Geração automatizada de documentação: analise os repositórios do GitHub, GitLab ou Bitbucket para gerar documentação estruturada no estilo wiki.
- Análise de inteligência de código: identifica a estrutura do código, os principais módulos e as relações de arquivos, fornecendo descrições claras.
- Perguntas e respostas contextualizadas: via RAG tecnologia para ajudar os usuários a fazer perguntas relacionadas ao depósito e obter respostas precisas.
- Recurso DeepResearch: suporta várias rodadas de pesquisa, analisa questões complexas em profundidade e fornece conclusões detalhadas.
- Suporte à implantação local: os dados são armazenados localmente, nenhum serviço de nuvem é necessário, a privacidade dos dados é garantida.
- Diagramas interativos: gere diagramas de arquitetura e fluxogramas no formato Mermaid para visualizar a lógica do código.
- Suporte multiplataforma: compatível com GitHub, GitLab e Bitbucket, com suporte a repositórios públicos e privados.
- Respostas de IA em fluxo contínuo: via Google Gêmeos O modelo oferece geração de documentos e perguntas e respostas em tempo real.
- Código aberto gratuito: totalmente de código aberto, os usuários são livres para modificar e ampliar a função.
Usando a Ajuda
Processo de instalação
O DeepWiki-Open oferece suporte ao Docker e à instalação manual para Ubuntu, macOS ou Windows (via WSL2). Aqui estão as etapas detalhadas.
1. clonagem de armazéns
Clonar a base de código do DeepWiki-Open localmente:
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open
2. configuração de variáveis de ambiente
O DeepWiki-Open requer chaves de API do Google Gemini e do OpenAI para geração de documentos e incorporação de código. No diretório raiz do projeto, crie o arquivo .env
Documentação:
echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
GOOGLE_API_KEY
: De Estúdio de IA do Google Obtido para uso no modelo do Google Gemini.OPENAI_API_KEY
: De Plataforma OpenAI Fetch para gerar incorporação de código.- Variáveis opcionais:
PORT
Porta do servidor de API, padrão8001
.NEXT_PUBLIC_SERVER_BASE_URL
Endereço do servidor de API, padrãohttp://localhost:8001
.
3. instalação com o Docker (recomendado)
O Docker é fácil de instalar e adequado para implantação rápida.
- Certifique-se de que o Docker e o Docker Compose estejam instalados.
- Execute o seguinte comando para iniciar o serviço:
docker-compose up
- Ou obter uma imagem pré-criada e executá-la:
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
- Depois que o serviço é iniciado, a API é executada no
http://localhost:8001
As páginas de front-end nohttp://localhost:3000
. - Também é possível montar o
.env
Documentação:
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest
4. instalação manual
Se você não estiver usando o Docker, poderá instalá-lo manualmente.
- Instale as dependências do Python (backend):
pip install -r api/requirements.txt
- Inicie o serviço de API:
python -m api.main
- Instale as dependências do JavaScript (front-end):
npm install
- Inicie o servidor de desenvolvimento front-end:
npm run dev
- A página de front-end está no diretório
http://localhost:3000
.
5. verificação da instalação
- Abra seu navegador e acesse
http://localhost:3000
. - Digite o URL do repositório (por exemplo
https://github.com/facebook/react
talvezhttps://bitbucket.org/redradish/atlassian_app_versions
). - Clique em "Generate Wiki" (Gerar Wiki) para visualizar o documento gerado.
Funções principais
Geração automática de documentos
- Insira o URL do repositório na página de front-end (por exemplo
https://gitlab.com/gitlab-org/gitlab
). - Para repositórios privados, clique em "+ Adicionar tokens de acesso" e insira seu token de acesso pessoal para GitHub, GitLab ou Bitbucket.
- Clique em "Generate Wiki" (Gerar Wiki), o sistema clona o repositório e analisa o código para gerar a documentação.
- A documentação gerada inclui:
- Visão geral da arquitetura de código.
- Descrição funcional dos principais módulos.
- Descrições detalhadas de arquivos e diretórios.
- Diagrama de arquitetura e fluxograma interativos da Mermaid.
Perguntas e respostas contextuais (função Perguntar)
- Localize a área "Ask" (Perguntar) na página Documentação.
- Insira uma pergunta como "Como é implementada a conexão de banco de dados para este repositório?". .
- O sistema recupera trechos de código por meio da técnica RAG para gerar respostas contextualmente relevantes.
- As respostas são exibidas em uma forma de fluxo contínuo, dando suporte à interação em tempo real.
Recursos do DeepResearch
- Ative a opção "Deep Research" (Pesquisa profunda) na tela "Ask" (Perguntar).
- Insira perguntas complexas, como "Como o processo de autenticação pode ser otimizado para esse depósito?" .
- Execução sistemática de várias rodadas de pesquisa:
- programa de pesquisa Gerar a estrutura de análise inicial.
- Atualizações de pesquisa Análises iterativas para adicionar detalhes.
- conclusão final Síntese: sintetize todas as informações e forneça uma resposta detalhada.
- O processo de pesquisa foi repetido até cinco vezes e as respostas foram transmitidas.
Operação da função em destaque
Resposta de IA em fluxo contínuo
- A geração de documentos e as respostas às perguntas e respostas são exibidas em tempo real usando o modelo Google Gemini.
- Exemplo: Após inserir uma pergunta, a resposta é carregada parágrafo por parágrafo para reduzir o tempo de espera.
Gráficos interativos de sereias
- O sistema gera um diagrama de arquitetura e um fluxograma do depósito, com base na tecnologia Mermaid.
- Os gráficos suportam interações de zoom, arrastar e clicar.
- Exemplo: depois de gerar um documento de repositório do TensorFlow, você pode visualizar o fluxograma de treinamento do modelo.
Suporte para repositórios privados
- É necessário um token de acesso pessoal para o GitHub, GitLab ou Bitbucket.
- O token é usado apenas para clonar o repositório e não é armazenado no servidor.
- Exemplo: Insira a URL do repositório privado e o token para gerar o documento.
Armazenamento local de dados
- Os dados de documentação e análise são armazenados no
~/.adalflow
(o Docker pode montá-lo de forma personalizada). - Sem dependência da nuvem para cenários sensíveis à privacidade.
Estrutura do projeto
A estrutura do código do DeepWiki-Open é a seguinte:
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 # 环境变量
advertência
- Certifique-se de que a chave de API seja válida; uma chave inválida causará falha na geração.
- Recomenda-se que as implantações do Docker aloquem mais de 4 GB de memória.
- A instalação manual requer Python 3.8+ e Node.js 16+.
- Os repositórios maiores podem levar mais tempo para gerar a documentação, e é recomendável começar a testar com repositórios menores.
- Se você encontrar erros de CORS, verifique se os front-ends e back-ends estão sendo executados na mesma máquina ou ajuste o parâmetro
NEXT_PUBLIC_SERVER_BASE_URL
.
cenário do aplicativo
- Início rápido para novos desenvolvedores
Novos desenvolvedores podem gerar documentação de projeto para entender rapidamente a estrutura do código e a funcionalidade do módulo, reduzindo a curva de aprendizado. - Contribuição para projetos de código aberto
Os colaboradores dominam rapidamente a lógica do repositório e aumentam a eficiência do envio de código por meio de recursos de documentação e perguntas e respostas. - Manutenção de documentos internos
As empresas implementam o DeepWiki-Open para gerar documentação para repositórios privados, reduzindo os custos de manutenção manual. - Preparação para entrevistas técnicas
Os candidatos analisam o repositório de código aberto da empresa-alvo, geram documentação e, em seguida, se aprofundam nos detalhes técnicos com o DeepResearch. - Educação e aprendizado
Os alunos usam o DeepWiki-Open para analisar projetos conhecidos (por exemplo, React, Django) e aprender sobre design de código por meio de diagramas e questionários.
QA
- O DeepWiki-Open é gratuito?
O DeepWiki-Open é totalmente gratuito e de código aberto, mas os usuários precisam fornecer chaves de API para o Google e o OpenAI, e o uso da API pode ter custos. - Quais plataformas de hospedagem de código são compatíveis?
Suporte para GitHub, GitLab e Bitbucket, abrangendo repositórios públicos e privados. - Como exportar o documento gerado?
Os documentos são armazenados localmente~/.adalflow
O arquivo pode ser copiado manualmente para Markdown ou outros formatos. - Qual é a diferença entre os recursos do DeepResearch e do Ask?
O Ask fornece um único questionário contextual, e o DeepResearch aprofunda-se em problemas complexos com várias iterações. - E se a geração de documentos falhar?
Verifique a chave da API, o formato do URL do repositório ou tente um repositório pequeno; verifique os registros do terminal para obter detalhes do erro.