DeepWiki-Open: автоматическая генерация документации по искусственному интеллекту для репозиториев GitHub, GitLab

Общее введение

DeepWiki-Open - это проект с открытым исходным кодом, предназначенный для автоматического создания структурированной документации для репозиториев кода на GitHub, GitLab и Bitbucket. Он использует технологию искусственного интеллекта для анализа структуры кода, содержимого файлов и логических связей, чтобы быстро сгенерировать страницу базы знаний, подобную Википедии. Пользователям достаточно ввести URL-адрес репозитория, чтобы получить четкое описание архитектуры кода, функциональных модулей и деталей реализации. Проект поддерживает локальное развертывание с хранением данных на локальном уровне для обеспечения конфиденциальности и безопасности. Он также предоставляет функциональность Retrieval Augmented Generation (RAG), позволяющую пользователям участвовать в контекстных вопросах и ответах с кодовой базой и углубляться в сложные проблемы с помощью функции DeepResearch.Разработанный AsyncFuncAI, DeepWiki-Open является бесплатным и с открытым исходным кодом и подходит для разработчиков, команд и сообщества open source, чтобы помочь быстро понять сложный код.

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

 

Список функций

  • Автоматизированная генерация документации: анализ репозиториев GitHub, GitLab или Bitbucket для создания структурированной документации в стиле wiki.
  • Анализ интеллектуальности кода: выявление структуры кода, ключевых модулей и связей между файлами с предоставлением четких описаний.
  • Контекстные вопросы и ответы: через RAG технология, позволяющая пользователям задавать вопросы, связанные со складом, и получать на них точные ответы.
  • Функция DeepResearch: поддерживает несколько раундов исследований, глубоко анализирует сложные вопросы и предоставляет подробные выводы.
  • Поддержка локального развертывания: данные хранятся локально, облачные сервисы не требуются, конфиденциальность данных гарантирована.
  • Интерактивные диаграммы: генерируйте архитектурные диаграммы и блок-схемы в формате Mermaid для визуализации логики кода.
  • Поддержка нескольких платформ: совместимость с GitHub, GitLab и Bitbucket, поддержка публичных и частных репозиториев.
  • Потоковая передача ответов искусственного интеллекта: через Google Близнецы Модель обеспечивает генерацию документов и вопросы и ответы в режиме реального времени.
  • Свободный открытый исходный код: полностью открытый исходный код, пользователи могут свободно модифицировать и расширять функции.

 

Использование помощи

Процесс установки

DeepWiki-Open поддерживает Docker и ручную установку для Ubuntu, macOS или Windows (через WSL2). Вот подробные шаги.

1. Клонирование складов

Клонируйте кодовую базу DeepWiki-Open локально:

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

2. Настройка переменных окружения

DeepWiki-Open требует ключи API Google Gemini и OpenAI для генерации документов и встраивания кода. В корневом каталоге проекта создайте файл .env Документация:

echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
  • GOOGLE_API_KEY: Из Студия искусственного интеллекта Google Получен для использования в модели Google Gemini.
  • OPENAI_API_KEY: Из Платформа OpenAI Выборка для генерации кода встраивания.
  • Необязательные переменные:
    • PORT: порт сервера API, по умолчанию 8001.
    • NEXT_PUBLIC_SERVER_BASE_URL: адрес сервера API, по умолчанию http://localhost:8001.

3. Установка с помощью Docker (рекомендуется)

Docker прост в установке и подходит для быстрого развертывания.

  • Убедитесь, что установлены Docker и Docker Compose.
  • Выполните следующую команду, чтобы запустить службу:
docker-compose up
  • Или возьмите готовый образ и запустите его:
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
  • После запуска службы API запускается на http://localhost:8001Внешние страницы в http://localhost:3000.
  • Также можно установить .env Документация:
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest

4. Ручная установка

Если вы не используете Docker, вы можете установить его вручную.

  • Установите зависимости Python (бэкэнд):
pip install -r api/requirements.txt
  • Запустите службу API:
python -m api.main
  • Установите зависимости JavaScript (фронтенд):
npm install
  • Запустите внешний сервер разработки:
npm run dev
  • Внешняя страница находится в http://localhost:3000.

5. Проверка установки

  • Откройте браузер и посетите http://localhost:3000.
  • Введите URL-адрес репозитория (например. https://github.com/facebook/react возможно https://bitbucket.org/redradish/atlassian_app_versions).
  • Нажмите "Generate Wiki", чтобы просмотреть созданный документ.

Основные функции

Автоматическое создание документов

  1. Введите URL-адрес репозитория на внешней странице (например. https://gitlab.com/gitlab-org/gitlab).
  2. Для частных репозиториев нажмите "+ Добавить токены доступа" и введите свой персональный токен доступа для GitHub, GitLab или Bitbucket.
  3. Нажмите "Generate Wiki", система клонирует репозиторий и проанализирует код для создания документации.
  4. Созданная документация включает в себя:
    • Обзор архитектуры кода.
    • Функциональное описание ключевых модулей.
    • Подробные описания файлов и каталогов.
    • Интерактивная диаграмма и блок-схема архитектуры Mermaid.

Контекстные вопросы и ответы (функция Ask)

  1. Найдите область "Спросить" на странице документации.
  2. Задайте вопрос, например, "Как реализовано подключение к базе данных для этого хранилища?". .
  3. Система извлекает фрагменты кода с помощью техники RAG, чтобы генерировать контекстно-значимые ответы.
  4. Ответы отображаются в потоковом режиме, поддерживая взаимодействие в реальном времени.

Особенности DeepResearch

  1. Включите переключатель "Глубокое исследование" на экране "Спросить".
  2. Задавайте сложные вопросы, например "Как оптимизировать процесс аутентификации для этого склада?". .
  3. Систематическое проведение нескольких раундов исследований:
    • программа исследований : Создайте первоначальную схему анализа.
    • Обновления исследований : Итерационный анализ для уточнения деталей.
    • окончательное заключение : Обобщите всю информацию и дайте подробный ответ.
  4. Процесс исследования повторялся до 5 раз, а ответы транслировались в потоковом режиме.

Функциональное управление

Потоковый искусственный интеллект

  • Формирование документов и ответы на вопросы и ответы отображаются в режиме реального времени с помощью моделей Google Gemini.
  • Пример: после ввода вопроса ответ загружается абзац за абзацем, чтобы сократить время ожидания.

Интерактивные диаграммы русалок

  • Система генерирует архитектурную схему и блок-схему склада на основе технологии Mermaid.
  • Диаграммы поддерживают масштабирование, перетаскивание и щелчки.
  • Пример: После создания документа репозитория TensorFlow вы можете просмотреть блок-схему обучения модели.

Поддержка частных репозиториев

  • Необходим персональный токен доступа к GitHub, GitLab или Bitbucket.
  • Токен используется только для клонирования хранилища и не хранится на сервере.
  • Пример: введите URL-адрес частного хранилища и маркер для создания документа.

Локальное хранение данных

  • Документация и данные анализа хранятся в ~/.adalflow (Docker может смонтировать его самостоятельно).
  • Отсутствие зависимости от облака для сценариев, чувствительных к конфиденциальности.

Структура проекта

Структура кода DeepWiki-Open выглядит следующим образом:

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

предостережение

  • Убедитесь, что ключ API действителен; недействительный ключ приведет к сбою генерации.
  • Для развертывания Docker рекомендуется выделять более 4 ГБ памяти.
  • Для ручной установки требуется Python 3.8+ и Node.js 16+.
  • Для создания документации в больших репозиториях может потребоваться больше времени, поэтому рекомендуется начинать тестирование с небольших репозиториев.
  • Если вы столкнулись с ошибками CORS, убедитесь, что передняя и задняя части работают на одной машине, или настройте параметр NEXT_PUBLIC_SERVER_BASE_URL.

 

сценарий применения

  1. Быстрый старт для новых разработчиков
    Новые разработчики могут генерировать проектную документацию, чтобы быстро понять структуру кода и функциональность модулей, что сокращает время обучения.
  2. Вклад в проект с открытым исходным кодом
    Участники быстро осваивают логику репозитория и повышают эффективность отправки кода благодаря документации и функциям вопросов и ответов.
  3. Ведение внутренней документации
    Предприятия используют DeepWiki-Open для создания документации для частных репозиториев, сокращая расходы на ручное обслуживание.
  4. Подготовка к техническим собеседованиям
    Кандидаты анализируют репозиторий открытых исходных кодов целевой компании, генерируют документацию, а затем погружаются в технические детали с помощью DeepResearch.
  5. Образование и обучение
    Студенты используют DeepWiki-Open для анализа известных проектов (например, React, Django) и изучения дизайна кода с помощью диаграмм и викторин.

 

QA

  1. Является ли DeepWiki-Open бесплатной?
    DeepWiki-Open полностью бесплатна и имеет открытый исходный код, но от пользователей требуется предоставить ключи API для Google и OpenAI, а использование API может повлечь за собой расходы.
  2. Какие платформы для хостинга кода поддерживаются?
    Поддержка GitHub, GitLab и Bitbucket, охватывающая как публичные, так и частные репозитории.
  3. Как экспортировать созданный документ?
    Документы хранятся локально ~/.adalflowФайл можно вручную скопировать в Markdown или другие форматы.
  4. В чем разница между функциями DeepResearch и Ask?
    Ask предоставляет один контекстный тест, а DeepResearch углубляется в сложные проблемы с помощью нескольких итераций.
  5. Что делать, если генерация документа не удалась?
    Проверьте ключ API, формат URL-адреса хранилища или попробуйте использовать меньшее хранилище; проверьте журналы терминала для получения подробной информации об ошибке.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...