DeepWiki-Open: generación automatizada de documentación AI para repositorios GitHub, GitLab

Introducción general

DeepWiki-Open es un proyecto de código abierto diseñado para generar automáticamente documentación estructurada para repositorios de código en GitHub, GitLab y Bitbucket. Utiliza tecnología de IA para analizar la estructura del código, el contenido de los archivos y las relaciones lógicas para generar rápidamente una página de base de conocimientos similar a Wikipedia. Los usuarios sólo tienen que introducir la URL del repositorio y pueden obtener una descripción clara de la arquitectura del código, los módulos funcionales y los detalles de implementación. El proyecto admite el despliegue local con datos almacenados localmente por motivos de privacidad y seguridad. También proporciona la funcionalidad Retrieval Augmented Generation (RAG), que permite a los usuarios participar en preguntas y respuestas contextuales con el código base y profundizar en problemas complejos con la funcionalidad DeepResearch.Desarrollado por AsyncFuncAI, DeepWiki-Open es gratuito y de código abierto y es adecuado para desarrolladores, equipos y la comunidad de código abierto para ayudar a comprender rápidamente el código complejo.

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

 

Lista de funciones

  • Generación automatizada de documentación: analice los repositorios de GitHub, GitLab o Bitbucket para generar documentación estructurada de estilo wiki.
  • Análisis de inteligencia de código: identifica la estructura del código, los módulos clave y las relaciones entre archivos, proporcionando descripciones claras.
  • Preguntas y respuestas contextualizadas: vía RAG para ayudar a los usuarios a formular preguntas relacionadas con el almacén y obtener respuestas precisas.
  • Función DeepResearch: admite múltiples rondas de investigación, analiza en profundidad cuestiones complejas y ofrece conclusiones detalladas.
  • Soporte de despliegue local: los datos se almacenan localmente, no se requiere ningún servicio en la nube, la privacidad de los datos está garantizada.
  • Diagramas interactivos: genere diagramas de arquitectura y diagramas de flujo con formato Mermaid para visualizar la lógica del código.
  • Compatibilidad multiplataforma: Compatible con GitHub, GitLab y Bitbucket, admite repositorios públicos y privados.
  • Transmisión de respuestas de IA: a través de Google Géminis El modelo proporciona generación de documentos y preguntas y respuestas en tiempo real.
  • Código abierto libre: completamente de código abierto, los usuarios son libres de modificar y ampliar la función.

 

Utilizar la ayuda

Proceso de instalación

DeepWiki-Open soporta Docker e instalación manual para Ubuntu, macOS o Windows (vía WSL2). Aquí están los pasos detallados.

1. Clonación de almacenes

Clona el código base de DeepWiki-Open localmente:

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

2. Configuración de las variables de entorno

DeepWiki-Open requiere las claves API de Google Gemini y OpenAI para la generación de documentos y la incrustación de código. En el directorio raíz del proyecto, cree el directorio .env Documentación:

echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
  • GOOGLE_API_KEY: De Google AI Studio Obtenido para su uso en el modelo Gemini de Google.
  • OPENAI_API_KEY: De Plataforma OpenAI Fetch para generar código incrustado.
  • Variables opcionales:
    • PORT: puerto del servidor API, por defecto 8001.
    • NEXT_PUBLIC_SERVER_BASE_URLDirección del servidor API, por defecto http://localhost:8001.

3. Instalación con Docker (recomendado)

Docker es fácil de instalar y adecuado para un despliegue rápido.

  • Asegúrese de que Docker y Docker Compose están instalados.
  • Ejecute el siguiente comando para iniciar el servicio:
docker-compose up
  • O saca una imagen preconstruida y ejecútala:
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
  • Una vez iniciado el servicio, la API se ejecuta en el archivo http://localhost:8001La página del front-end está en http://localhost:3000.
  • También es posible montar el .env Documentación:
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest

4. Instalación manual

Si no utiliza Docker, puede instalarlo manualmente.

  • Instalar las dependencias de Python (backend):
pip install -r api/requirements.txt
  • Inicie el servicio API:
python -m api.main
  • Instale las dependencias de JavaScript (front-end):
npm install
  • Inicie el servidor de desarrollo front-end:
npm run dev
  • La página del front-end está en http://localhost:3000.

5. Verificación de la instalación

  • Abra su navegador y visite http://localhost:3000.
  • Introduzca la URL del repositorio (por ejemplo https://github.com/facebook/react tal vez https://bitbucket.org/redradish/atlassian_app_versions).
  • Haga clic en "Generar Wiki" para ver el documento generado.

Funciones principales

Generación automática de documentos

  1. Introduzca la URL del repositorio en la página del front-end (por ejemplo https://gitlab.com/gitlab-org/gitlab).
  2. Para los repositorios privados, haz clic en "+ Añadir tokens de acceso" e introduce tu token de acceso personal para GitHub, GitLab o Bitbucket.
  3. Haz clic en "Generar Wiki", el sistema clona el repositorio y analiza el código para generar la documentación.
  4. La documentación generada incluye:
    • Visión general de la arquitectura del código.
    • Descripción funcional de los módulos clave.
    • Descripciones detalladas de archivos y directorios.
    • Diagrama de arquitectura y diagrama de flujo interactivos de Mermaid.

Preguntas y respuestas contextuales (función Preguntar)

  1. Encuentre el área "Preguntar" en la página de Documentación.
  2. Introduzca una pregunta del tipo "¿Cómo se implementa la conexión a la base de datos para este repositorio?". .
  3. El sistema recupera fragmentos de código mediante la técnica RAG para generar respuestas contextualmente relevantes.
  4. Las respuestas se muestran en streaming, lo que permite la interacción en tiempo real.

Características de DeepResearch

  1. Active el interruptor "Investigación profunda" en la pantalla "Preguntar".
  2. Introduzca preguntas complejas como "¿Cómo puede optimizarse el proceso de autenticación para este almacén?". .
  3. Ejecución sistemática de múltiples rondas de investigación:
    • programa de investigación : Genera el marco de análisis inicial.
    • Actualizaciones de la investigación Análisis iterativos para añadir detalles.
    • conclusión final Sintetiza toda la información y proporciona respuestas detalladas.
  4. El proceso de investigación se repitió hasta 5 veces y las respuestas se transmitieron por streaming.

Función destacada Operación

Streaming AI Response

  • La generación de documentos y las respuestas a las preguntas y respuestas se muestran en tiempo real mediante el modelo Google Gemini.
  • Ejemplo: Tras introducir una pregunta, la respuesta se carga párrafo a párrafo para reducir el tiempo de espera.

Cartas interactivas de sirenas

  • El sistema genera un diagrama de arquitectura y un organigrama del almacén, basados en la tecnología Mermaid.
  • Los gráficos admiten las interacciones de zoom, arrastre y clic.
  • Ejemplo: Después de generar un documento de repositorio TensorFlow, puede ver el diagrama de flujo de entrenamiento del modelo.

Soporte para repositorios privados

  • Se requiere un token de acceso personal para GitHub, GitLab o Bitbucket.
  • El token sólo se utiliza para clonar el repositorio y no se almacena en el servidor.
  • Ejemplo: Introduzca la URL del repositorio privado y el token para generar el documento.

Almacenamiento local de datos

  • La documentación y los datos de los análisis se almacenan en el ~/.adalflow (Docker puede montarlo de forma personalizada).
  • Sin dependencia de la nube para escenarios sensibles a la privacidad.

Estructura del proyecto

La estructura del código de DeepWiki-Open es la siguiente:

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

advertencia

  • Asegúrese de que la clave API es válida; una clave no válida hará que falle la generación.
  • Se recomienda asignar más de 4 GB de memoria a las implantaciones Docker.
  • La instalación manual requiere Python 3.8+ y Node.js 16+.
  • Los repositorios más grandes pueden tardar más en generar la documentación, por lo que se recomienda empezar las pruebas con repositorios más pequeños.
  • Si encuentra errores CORS, asegúrese de que los extremos anterior y posterior se están ejecutando en la misma máquina, o ajuste la opción NEXT_PUBLIC_SERVER_BASE_URL.

 

escenario de aplicación

  1. Inicio rápido para nuevos desarrolladores
    Los nuevos desarrolladores pueden generar documentación del proyecto para comprender rápidamente la estructura del código y la funcionalidad de los módulos, lo que acorta la curva de aprendizaje.
  2. Contribución a un proyecto de código abierto
    Los colaboradores dominan rápidamente la lógica del repositorio y mejoran la eficacia del envío de código gracias a las funciones de documentación y preguntas y respuestas.
  3. Mantenimiento interno de documentos
    Las empresas utilizan DeepWiki-Open para generar documentación para repositorios privados, reduciendo así los costes de mantenimiento manual.
  4. Preparación de entrevistas técnicas
    Los candidatos analizan el repositorio de código abierto de la empresa objetivo, generan documentación y luego profundizan en los detalles técnicos con DeepResearch.
  5. Educación y aprendizaje
    Los estudiantes utilizan DeepWiki-Open para analizar proyectos conocidos (por ejemplo, React, Django) y aprender sobre diseño de código mediante diagramas y cuestionarios.

 

CONTROL DE CALIDAD

  1. ¿Es DeepWiki-Open gratuito?
    DeepWiki-Open es completamente gratuito y de código abierto, pero los usuarios deben proporcionar claves API para Google y OpenAI, y el uso de la API puede conllevar costes.
  2. ¿Qué plataformas de alojamiento de código son compatibles?
    Compatibilidad con GitHub, GitLab y Bitbucket, tanto para repositorios públicos como privados.
  3. ¿Cómo exportar el documento generado?
    Los documentos se almacenan localmente ~/.adalflowEl archivo puede copiarse manualmente en Markdown u otros formatos.
  4. ¿Cuál es la diferencia entre las funciones DeepResearch y Ask?
    Ask proporciona un único cuestionario contextual, y DeepResearch profundiza en problemas complejos con múltiples iteraciones.
  5. ¿Qué pasa si falla la generación del documento?
    Compruebe la clave de la API, el formato de la URL del repositorio o pruebe con un repositorio más pequeño; compruebe los registros del terminal para ver los detalles del error.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...