
DeepWiki — это моя собственная реализация DeepWiki, автоматически создающая красивые, интерактивные вики по любому репозиторию на GitHub, GitLab или BitBucket! Просто укажите название репозитория, и DeepWiki выполнит:
English | 简体中文 | 繁體中文 | 日本語 | Español | 한국어 | Tiếng Việt | Português Brasileiro | Français | Русский
# Клонируйте репозиторий
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open
# Создайте файл .env с вашими API-ключами
echo "GOOGLE_API_KEY=ваш_google_api_key" > .env
echo "OPENAI_API_KEY=ваш_openai_api_key" >> .env
# Необязательно: ключ OpenRouter
echo "OPENROUTER_API_KEY=ваш_openrouter_api_key" >> .env
# Необязательно: указать хост Ollama, если он не локальный (по умолчанию http://localhost:11434)
echo "OLLAMA_HOST=ваш_ollama_host" >> .env
# Необязательно: ключ и параметры Azure OpenAI
echo "AZURE_OPENAI_API_KEY=ваш_azure_api_key" >> .env
echo "AZURE_OPENAI_ENDPOINT=ваш_azure_endpoint" >> .env
echo "AZURE_OPENAI_VERSION=ваша_azure_version" >> .env
# Запуск через Docker Compose
docker-compose up
Подробную инструкцию по работе с Ollama и Docker см. в Ollama Instructions.
💡 Где взять ключи API:
Создайте файл .env в корне проекта со следующим содержанием:
GOOGLE_API_KEY=ваш_google_api_key OPENAI_API_KEY=ваш_openai_api_key # Необязательно: для OpenRouter OPENROUTER_API_KEY=ваш_openrouter_api_key # Необязательно: для Azure OpenAI AZURE_OPENAI_API_KEY=ваш_azure_api_key AZURE_OPENAI_ENDPOINT=ваш_azure_endpoint AZURE_OPENAI_VERSION=ваша_azure_version # Необязательно: если Ollama не локальная OLLAMA_HOST=ваш_ollama_host
# Установка зависимостей
pip install -r api/requirements.txt
# Запуск API
python -m api.main
# Установка JS-зависимостей
npm install
# или
yarn install
# Запуск веб-интерфейса
npm run dev
# или
yarn dev
https://github.com/openai/codex)DeepWiki использует искусственный интеллект, чтобы:
deepwiki/ ├── api/ # Backend 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 # JS-зависимости └── .env # Переменные окружения
DeepWiki поддерживает гибкую систему выбора моделей от разных поставщиков:
gemini-2.0-flash, также доступны gemini-1.5-flash, gemini-1.0-pro и др.gpt-4o, также поддерживает o4-mini и другиеgpt-4o, поддерживаются и другиеllama3Каждому провайдеру соответствуют свои ключи:
GOOGLE_API_KEY=... # Для моделей Google Gemini
OPENAI_API_KEY=... # Для моделей OpenAI
OPENROUTER_API_KEY=... # Для моделей OpenRouter
AZURE_OPENAI_API_KEY=... # Для моделей Azure
AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_VERSION=...
# Кастомный адрес для OpenAI API
OPENAI_BASE_URL=https://ваш-кастомный-api/v1
# Хост Ollama
OLLAMA_HOST=http://localhost:11434
# Каталог конфигурации
DEEPWIKI_CONFIG_DIR=/путь/к/конфигурации
DeepWiki использует JSON-файлы для настройки:
generator.json — конфигурация генерации текста и моделейembedder.json — настройки эмбеддингов и ретривераrepo.json — правила обработки репозиториевПо умолчанию хранятся в api/config/, путь можно изменить через DEEPWIKI_CONFIG_DIR.
Функция выбора модели позволяет:
Пользователи могут выбрать модель через интерфейс или указать свой идентификатор.
Позволяет:
Скоро: DeepWiki получит режим, в котором пользователи будут указывать свои API-ключи напрямую в запросах — удобно для корпоративных решений.
Чтобы использовать модели эмбеддингов, совместимые с OpenAI:
api/config/embedder.json на embedder_openai_compatible.json.env добавьте:OPENAI_API_KEY=ваш_ключ OPENAI_BASE_URL=совместимый_endpoint
Программа автоматически подставит значения из переменных окружения.
DeepWiki использует стандартный logging из Python. Настраивается через:
| Переменная | Описание | Значение по умолчанию |
|---|---|---|
LOG_LEVEL | Уровень логов (DEBUG, INFO, WARNING и т.д.) | INFO |
LOG_FILE_PATH | Путь к файлу логов | api/logs/application.log |
Пример:
export LOG_LEVEL=DEBUG
export LOG_FILE_PATH=./debug.log
python -m api.main
Или через Docker Compose:
LOG_LEVEL=DEBUG LOG_FILE_PATH=./debug.log docker-compose up
Для постоянства логов при перезапуске контейнера api/logs монтируется в ./api/logs.
Также можно указать переменные в .env:
LOG_LEVEL=DEBUG LOG_FILE_PATH=./debug.log
И просто выполнить:
docker-compose up
Безопасность логов: в продакшене важно настроить права доступа к api/logs, чтобы исключить несанкционированный доступ или запись.
| Переменная | Назначение | Обязательно | Примечание |
|---|---|---|---|
GOOGLE_API_KEY | Ключ API для Google Gemini | Нет | Только если используете модели от Google |
OPENAI_API_KEY | Ключ API для OpenAI (нужен даже для эмбеддингов) | Да | Обязателен для генерации эмбеддингов |
OPENROUTER_API_KEY | Ключ API для OpenRouter | Нет | Только если используете модели OpenRouter |
AZURE_OPENAI_API_KEY | Ключ Azure OpenAI | Нет | Только если используете Azure |
AZURE_OPENAI_ENDPOINT | Endpoint Azure | Нет | Только если используете Azure |
AZURE_OPENAI_VERSION | Версия API Azure | Нет | Только если используете Azure |
OLLAMA_HOST | Хост Ollama (по умолчанию http://localhost:11434) | Нет | Указывается при использовании внешнего сервера Ollama |
PORT | Порт API-сервера (по умолчанию 8001) | Нет | Меняйте, если frontend и backend работают на одной машине |
SERVER_BASE_URL | Базовый URL для API (по умолчанию http://localhost:8001) | Нет | |
DEEPWIKI_AUTH_MODE | Включает режим авторизации (true или 1) | Нет | Если включён, потребуется код из DEEPWIKI_AUTH_CODE |
DEEPWIKI_AUTH_CODE | Секретный код для запуска генерации | Нет | Только если включён режим авторизации |
Если не используете Ollama, обязательно настройте OpenAI API ключ.
DeepWiki может быть запущен в режиме авторизации — для генерации вики потребуется ввести секретный код. Это полезно, если вы хотите ограничить доступ к функциональности.
Для включения:
DEEPWIKI_AUTH_MODE=trueDEEPWIKI_AUTH_CODE=секретный_кодЭто ограничивает доступ с фронтенда и защищает кэш, но не блокирует прямые вызовы API.
Вы можете использовать Docker:
docker pull ghcr.io/asyncfuncai/deepwiki-open:latest docker run -p 8001:8001 -p 3000:3000 \ -e GOOGLE_API_KEY=... \ -e OPENAI_API_KEY=... \ -e OPENROUTER_API_KEY=... \ -e OLLAMA_HOST=... \ -e AZURE_OPENAI_API_KEY=... \ -e AZURE_OPENAI_ENDPOINT=... \ -e AZURE_OPENAI_VERSION=... \ -v ~/.adalflow:/root/.adalflow \ ghcr.io/asyncfuncai/deepwiki-open:latest
Каталог ~/.adalflow содержит:
# Убедитесь, что .env заполнен
docker-compose up
echo "GOOGLE_API_KEY=..." > .env
...
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open
docker build -t deepwiki-open .
docker run -p 8001:8001 -p 3000:3000 \
-e GOOGLE_API_KEY=... \
-e OPENAI_API_KEY=... \
... \
deepwiki-open
certs (или свой).crt или .pemdocker build --build-arg CUSTOM_CERT_DIR=certs .
Сервер API:
См. подробности в API README
Платформа OpenRouter предоставляет доступ ко множеству моделей:
OPENROUTER_API_KEY=... в .envПодходит для:
Функция глубокого анализа:
Активируется переключателем "Deep Research".

Основной интерфейс DeepWiki

Доступ к приватным репозиториям

DeepResearch анализирует сложные темы
.envВы можете:
Проект распространяется под лицензией MIT. См. файл LICENSE