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

Список функций
- Автоматизированная генерация документации: анализ репозиториев 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", чтобы просмотреть созданный документ.
Основные функции
Автоматическое создание документов
- Введите URL-адрес репозитория на внешней странице (например.
https://gitlab.com/gitlab-org/gitlab
). - Для частных репозиториев нажмите "+ Добавить токены доступа" и введите свой персональный токен доступа для GitHub, GitLab или Bitbucket.
- Нажмите "Generate Wiki", система клонирует репозиторий и проанализирует код для создания документации.
- Созданная документация включает в себя:
- Обзор архитектуры кода.
- Функциональное описание ключевых модулей.
- Подробные описания файлов и каталогов.
- Интерактивная диаграмма и блок-схема архитектуры Mermaid.
Контекстные вопросы и ответы (функция Ask)
- Найдите область "Спросить" на странице документации.
- Задайте вопрос, например, "Как реализовано подключение к базе данных для этого хранилища?". .
- Система извлекает фрагменты кода с помощью техники RAG, чтобы генерировать контекстно-значимые ответы.
- Ответы отображаются в потоковом режиме, поддерживая взаимодействие в реальном времени.
Особенности DeepResearch
- Включите переключатель "Глубокое исследование" на экране "Спросить".
- Задавайте сложные вопросы, например "Как оптимизировать процесс аутентификации для этого склада?". .
- Систематическое проведение нескольких раундов исследований:
- программа исследований : Создайте первоначальную схему анализа.
- Обновления исследований : Итерационный анализ для уточнения деталей.
- окончательное заключение : Обобщите всю информацию и дайте подробный ответ.
- Процесс исследования повторялся до 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
.
сценарий применения
- Быстрый старт для новых разработчиков
Новые разработчики могут генерировать проектную документацию, чтобы быстро понять структуру кода и функциональность модулей, что сокращает время обучения. - Вклад в проект с открытым исходным кодом
Участники быстро осваивают логику репозитория и повышают эффективность отправки кода благодаря документации и функциям вопросов и ответов. - Ведение внутренней документации
Предприятия используют DeepWiki-Open для создания документации для частных репозиториев, сокращая расходы на ручное обслуживание. - Подготовка к техническим собеседованиям
Кандидаты анализируют репозиторий открытых исходных кодов целевой компании, генерируют документацию, а затем погружаются в технические детали с помощью DeepResearch. - Образование и обучение
Студенты используют DeepWiki-Open для анализа известных проектов (например, React, Django) и изучения дизайна кода с помощью диаграмм и викторин.
QA
- Является ли DeepWiki-Open бесплатной?
DeepWiki-Open полностью бесплатна и имеет открытый исходный код, но от пользователей требуется предоставить ключи API для Google и OpenAI, а использование API может повлечь за собой расходы. - Какие платформы для хостинга кода поддерживаются?
Поддержка GitHub, GitLab и Bitbucket, охватывающая как публичные, так и частные репозитории. - Как экспортировать созданный документ?
Документы хранятся локально~/.adalflow
Файл можно вручную скопировать в Markdown или другие форматы. - В чем разница между функциями DeepResearch и Ask?
Ask предоставляет один контекстный тест, а DeepResearch углубляется в сложные проблемы с помощью нескольких итераций. - Что делать, если генерация документа не удалась?
Проверьте ключ API, формат URL-адреса хранилища или попробуйте использовать меньшее хранилище; проверьте журналы терминала для получения подробной информации об ошибке.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...