본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 20. 18:34

AsyncFuncAI/deepwiki-open

요약

DeepWiki는 GitHub, GitLab, BitBucket 저장소를 분석하여 자동으로 상호작용 가능한 위키와 시각적 다이어그램을 생성하는 도구입니다. AI 기반의 코드 구조 분석과 RAG 기술을 활용하여 저장소 내용에 대해 질문하고 답변을 받을 수 있는 기능을 제공합니다.

핵심 포인트

  • 저장소 URL 입력만으로 코드 구조 분석, 문서 생성, Mermaid 다이어그램 시각화를 자동 수행합니다.
  • RAG(Retrieval-Augmented Generation) 기반의 채팅 기능을 통해 저장소 내용에 대해 질문할 수 있습니다.
  • Google Gemini, OpenAI, OpenRouter 및 로컬 Ollama 모델을 지원하여 유연한 모델 선택이 가능합니다.
  • 개인 액세스 토큰을 통한 프라이빗 저장소 접근 및 다회차 연구 프로세스(DeepResearch)를 지원합니다.

DeepWiki는 GitHub, GitLab 또는 BitBucket의 모든 저장소(Repository)를 위해 아름답고 상호작용이 가능한 위키(Wiki)를 자동으로 생성하는 저의 독자적인 구현 시도입니다! 저장소 이름만 입력하면 DeepWiki가 다음 작업을 수행합니다:

  • 코드 구조 분석
  • 포괄적인 문서 생성
  • 모든 작동 방식을 설명하는 시각적 다이어그램(Diagram) 생성
  • 탐색하기 쉬운 위키로 모든 내용 정리

English | 简体中文 | 繁體中文 | 日本語 | Español | 한국어 | Tiếng Việt | Português Brasileiro | Français | Русский

얼리 액세스(Early access)를 위해 https://grok-wiki.com 에서 가입하세요.

Grok-wiki-wikipages.mp4

즉각적인 문서화 (Instant Documentation): 어떤 GitHub, GitLab 또는 BitBucket 저장소든 몇 초 만에 위키로 변환합니다. 프라이빗 저장소 지원 (Private Repository Support): 개인 액세스 토큰(Personal access tokens)을 사용하여 프라이빗 저장소에 안전하게 접근합니다. 스마트 분석 (Smart Analysis): AI 기반의 코드 구조 및 관계 이해. 아름다운 다이어그램 (Beautiful Diagrams): 아키텍처와 데이터 흐름을 시각화하는 자동 Mermaid 다이어그램. 쉬운 탐색 (Easy Navigation): 위키를 탐색하기 위한 단순하고 직관적인 인터페이스. 질문 기능 (Ask Feature): RAG(Retrieval-Augmented Generation) 기반 AI를 사용하여 저장소와 채팅하며 정확한 답변을 얻습니다. 딥 리서치 (DeepResearch): 복잡한 주제를 철저하게 조사하는 다회차(Multi-turn) 연구 프로세스. 다양한 모델 제공자 (Multiple Model Providers): Google Gemini, OpenAI, OpenRouter 및 로컬 Ollama 모델 지원. 유연한 임베딩 (Flexible Embeddings): 최적의 성능을 위해 OpenAI, Google AI 또는 로컬 Ollama 임베딩 중 선택 가능.

# 저장소 복제 (Clone the repository)
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open
...

Ollama 및 Docker를 사용하여 DeepWiki를 사용하는 방법에 대한 자세한 지침은 Ollama Instructions를 참조하세요.

💡

이 키들을 얻는 방법:

  • Google AI Studio에서 Google API 키를 받으세요.
  • OpenAI Platform에서 OpenAI API 키를 받으세요.
  • Azure Portal에서 Azure OpenAI 자격 증명을 받으세요 - Azure OpenAI 리소스를 생성하고 API 키, 엔드포인트(Endpoint) 및 API 버전을 가져오세요.

프로젝트 루트에 이 키들을 포함하는 .env 파일을 생성하세요:

GOOGLE_API_KEY=your_google_api_key
OPENAI_API_KEY=your_openai_api_key
# 선택 사항: Google AI 임베딩 (Google 모델 사용 시 권장)
...
# Python 의존성 설치
python -m pip install poetry==2.0.1 && poetry install -C api
# API 서버 시작
...
# JavaScript 의존성 설치
npm install
# 또는
...
  • 브라우저에서 http://localhost:3000을 엽니다.
  • GitHub, GitLab 또는 Bitbucket 저장소(예: https://github.com/openai/codex, https://github.com/microsoft/autogen, https://gitlab.com/gitlab-org/gitlab 또는 https://bitbucket.org/redradish/atlassian_app_versions)를 입력합니다. - 비공개 저장소(Private repository)의 경우, "+ Add access tokens"를 클릭하고 GitHub 또는 GitLab 개인 액세스 토큰(Personal Access Token)을 입력합니다.
  • "Generate Wiki"를 클릭하고 마법이 일어나는 것을 지켜보세요!

DeepWiki는 AI를 사용하여 다음을 수행합니다:

  • GitHub, GitLab 또는 Bitbucket 저장소를 클론(Clone)하고 분석합니다 (토큰 인증을 통한 비공개 저장소 포함)
  • 스마트한 검색(Retrieval)을 위해 코드의 임베딩(Embeddings)을 생성합니다
  • 문맥 인식 AI(Google Gemini, OpenAI, OpenRouter, Azure OpenAI 또는 로컬 Ollama 모델 사용)를 사용하여 문서를 생성합니다
  • 코드 관계를 설명하기 위한 시각적 다이어그램(Diagrams)을 생성합니다
  • 모든 것을 구조화된 위키(Wiki)로 정리합니다
  • Ask 기능을 통해 저장소와 지능적인 질의응답(Q&A)을 수행할 수 있습니다
  • DeepResearch를 통해 심층적인 조사(Research) 기능을 제공합니다
graph TD
A[사용자가 GitHub/GitLab/Bitbucket 저장소 입력] --> AA{비공개 저장소인가요?}
AA -->|예| AB[액세스 토큰 추가]
...
deepwiki/
├── api/ # 백엔드(Backend) API 서버
│ ├── main.py # API 엔트리 포인트(Entry point)
...

DeepWiki는 이제 여러 LLM 제공업체를 지원하는 유연한 제공자 기반(Provider-based) 모델 선택 시스템을 구현합니다:

Google: 기본값 gemini-2.5-flash, 또한 gemini-2.5-flash-lite, gemini-2.5-pro 등을 지원합니다.
OpenAI: 기본값 gpt-5-nano, 또한 gpt-5, 4o 등을 지원합니다.
OpenRouter: Claude, Llama, Mistral 등을 포함한 여러 모델에 통합 API를 통해 접근할 수 있습니다.
Azure OpenAI: 기본값 gpt-4o, 또한 o4-mini를 지원합니다.

, 등
Ollama: llama3와 같은 오픈 소스 모델을 로컬에서 실행하는 것을 지원합니다.

각 제공자(Provider)는 그에 상응하는 API 키 환경 변수를 필요로 합니다:

# API Keys
GOOGLE_API_KEY=your_google_api_key # Google Gemini 모델에 필요
OPENAI_API_KEY=your_openai_api_key # OpenAI 모델에 필요
...

DeepWiki는 시스템의 다양한 측면을 관리하기 위해 JSON 설정 파일을 사용합니다:

  • generator.json: 텍스트 생성 모델(Text Generation Models)을 위한 설정

    • 사용 가능한 모델 제공자(Google, OpenAI, OpenRouter, Azure, Ollama)를 정의합니다.
    • 각 제공자별 기본 모델 및 사용 가능한 모델을 지정합니다.
    • temperature 및 top_p와 같은 모델별 파라미터(Parameters)를 포함합니다.
  • embedder.json: 임베딩 모델(Embedding Models) 및 텍스트 처리를 위한 설정

    • 벡터 저장소(Vector Storage)를 위한 임베딩 모델을 정의합니다.
    • RAG를 위한 검색기(Retriever) 설정을 포함합니다.
    • 문서 청킹(Chunking)을 위한 텍스트 분할기(Text Splitter) 설정을 지정합니다.
  • repo.json: 리포지토리(Repository) 처리를 위한 설정

    • 특정 파일 및 디렉토리를 제외하기 위한 파일 필터를 포함합니다.
    • 리포지토리 크기 제한 및 처리 규칙을 정의합니다.

기본적으로 이 파일들은 api/config/ 디렉토리에 위치합니다. DEEPWIKI_CONFIG_DIR 환경 변수를 사용하여 위치를 사용자 정의할 수 있습니다.

커스텀 모델 선택 기능은 특히 다음과 같은 요구사항이 있는 서비스 제공자를 위해 설계되었습니다:

  • 조직 내 사용자에게 여러 가지 AI 모델 선택지를 제공할 수 있습니다.
  • 코드 변경 없이 빠르게 진화하는 LLM 환경에 적응할 수 있습니다.
  • 사전 정의된 목록에 없는 특화된 모델이나 미세 조정된(Fine-tuned) 모델을 지원할 수 있습니다.

서비스 제공자는 사전 정의된 옵션 중에서 선택하거나 프론트엔드 인터페이스에서 커스텀 모델 식별자(Identifiers)를 입력함으로써 모델 제공 기능을 구현할 수 있습니다.

OpenAI 클라이언트의 base_url 설정은 주로 프라이빗 API 채널을 사용하는 엔터프라이즈 사용자를 위해 설계되었습니다. 이 기능은:

  • 프라이빗 또는 기업 전용 API 엔드포인트(endpoint)로의 연결을 활성화합니다.
  • 조직이 자체적으로 호스팅하거나 커스텀 배포한 LLM(대규모 언어 모델) 서비스를 사용할 수 있도록 합니다.
  • 제3자 OpenAI API 호환 서비스와의 통합을 지원합니다.

출시 예정: 향후 업데이트에서 DeepWiki는 사용자가 요청 시 자신의 API 키를 직접 제공해야 하는 모드를 지원할 예정입니다. 이를 통해 프라이빗 채널을 사용하는 기업 고객이 DeepWiki 배포 환경과 자격 증명을 공유하지 않고도 기존의 API 설정을 그대로 사용할 수 있게 됩니다.

OpenAI API와 호환되는 임베딩 모델(예: Alibaba Qwen)을 사용하려면 다음 단계를 따르세요:

  • api/config/embedder.json 파일의 내용을 api/config/embedder_openai_compatible.json 파일의 내용으로 교체합니다.
  • 프로젝트 루트(root)의 .env 파일에서 관련 환경 변수를 설정합니다. 예: OPENAI_API_KEY=your_api_key OPENAI_BASE_URL=your_openai_compatible_endpoint
  • 프로그램이 embedder.json 내의 플레이스홀더(placeholder)를 환경 변수의 값으로 자동 교체합니다.

이를 통해 코드 변경 없이도 OpenAI 호환 임베딩 서비스로 원활하게 전환할 수 있습니다.

DeepWiki는 이제 OpenAI 임베딩의 대안으로 Google AI의 최신 임베딩 모델을 지원합니다. 이는 텍스트 생성을 위해 이미 Google Gemini 모델을 사용 중인 경우 더 나은 통합 환경을 제공합니다.

최신 모델: Google의 text-embedding-004 모델 사용
동일한 API 키: 기존의 GOOGLE_API_KEY 사용 (추가 설정 불필요)
더 나은 통합: Google Gemini 텍스트 생성 모델과 함께 사용하도록 최적화됨
작업 특화: 의미론적 유사성(semantic similarity), 검색(retrieval) 및 분류(classification) 작업 지원
배치 처리(Batch Processing): 여러 텍스트의 효율적인 처리

옵션 1: 환경 변수 (권장)

.env 파일에서 임베더(embedder) 유형을 설정하세요:

# 기존 Google API 키
GOOGLE_API_KEY=your_google_api_key
# Google AI 임베딩 활성화
...

옵션 2: Docker 환경

docker run -p 8001:8001 -p 3000:3000 \
-e GOOGLE_API_KEY=your_google_api_key \
-e DEEPWIKI_EMBEDDER_TYPE=google \
...

옵션 3: Docker Compose

.env 파일에 다음을 추가하세요:

GOOGLE_API_KEY=your_google_api_key
DEEPWIKI_EMBEDDER_TYPE=google

그 다음 실행하세요:

docker-compose up

유형설명API 키 필요 여부비고
openaiOpenAI 임베딩 (기본값)OPENAI_API_KEYtext-embedding-3-small 모델 사용
googleGoogle AI 임베딩GOOGLE_API_KEYtext-embedding-004 모델 사용
ollama로컬 Ollama 임베딩없음로컬 Ollama 설치 필요

일관성 (Consistency): 텍스트 생성을 위해 Google Gemini를 사용하는 경우, Google 임베딩을 사용하면 더 나은 의미론적 일관성 (Semantic Consistency)을 제공합니다. 성능 (Performance): Google의 최신 임베딩 모델은 검색 (Retrieval) 작업에 대해 뛰어난 성능을 제공합니다. 비용 (Cost): OpenAI와 비교하여 경쟁력 있는 가격을 제공합니다. 추가 설정 불필요 (No Additional Setup): 텍스트 생성 모델과 동일한 API 키를 사용합니다.

다양한 임베딩 제공업체 간에 쉽게 전환할 수 있습니다:

# OpenAI 임베딩 사용 (기본값)
export DEEPWIKI_EMBEDDER_TYPE=openai
# Google AI 임베딩 사용
...

참고: 임베딩 모델을 전환할 때, 모델마다 서로 다른 벡터 공간 (Vector Spaces)을 생성하므로 저장소의 임베딩을 다시 생성해야 할 수도 있습니다.

DeepWiki는 진단 출력을 위해 Python의 내장 logging 모듈을 사용합니다. 환경 변수를 통해 로그의 상세 수준 (Verbosity)과 로그 파일 저장 위치를 구성할 수 있습니다:

변수설명기본값
LOG_LEVEL로깅 수준 (DEBUG, INFO, WARNING, ERROR, CRITICAL).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

Docker Compose로 실행할 때, 컨테이너의 api/logs

호스트의 ./api/logs에 바인드 마운트(bind-mounted)됩니다 (docker-compose.ymlvolumes 섹션 참조). 이를 통해 로그 파일이 재시작 후에도 유지되도록 보장합니다.

또는, 이러한 설정들을 .env 파일에 저장할 수도 있습니다:

LOG_LEVEL=DEBUG
LOG_FILE_PATH=./debug.log

그 다음 간단히 실행하십시오:

docker-compose up

로깅 경로 보안 고려 사항: 프로덕션(production) 환경에서는 api/logs 디렉토리와 모든 사용자 정의 로그 파일 경로가 적절한 파일 시스템 권한 및 액세스 제어(access controls)를 통해 보호되도록 해야 합니다. 본 애플리케이션은 경로 탐색(path traversal) 또는 승인되지 않은 쓰기를 방지하기 위해 LOG_FILE_PATH가 프로젝트의 api/logs 디렉토리 내에 위치하도록 강제합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0