DeepWiki-Open: GitHub, GitLab 등의 저장소로부터 대화형 Wiki를 생성하는 오픈소스 DeepWiki 프로젝트

DeepWiki 소개

DeepWiki-Open은 GitHub, GitLab, Bitbucket과 같은 코드 저장소를 자동으로 분석하여 대화형 위키를 만들어주는 오픈소스 프로젝트입니다. 단순히 저장소 URL을 입력하기만 하면, 프로젝트의 구조와 동작 방식을 이해하고 이를 기반으로 문서를 생성하며, 시각적인 다이어그램까지 제공해줍니다. 기존에 기술 문서를 작성하는 데 많은 시간이 소요되었던 개발자들에게는 매우 유용한 도구라 할 수 있습니다.

특히 이 프로젝트는 코드의 흐름과 관계를 단순 텍스트로 설명하는 것을 넘어서, Mermaid 다이어그램을 활용하여 시각적으로 구조를 보여줍니다. 덕분에 초보자부터 숙련 개발자까지 누구나 저장소의 구조와 기능을 빠르게 이해할 수 있습니다. 또한, 비공개 저장소에도 접근할 수 있도록 개인 액세스 토큰 기반 인증을 지원해, 팀 단위로도 활용이 가능합니다.

DeepWiki는 단순 문서화에 그치지 않고, AI 기반 Retrieval-Augmented Generation(RAG) 기능을 제공하여 사용자가 저장소에 대해 질문을 하면 관련 코드를 기반으로 정확한 답변을 제시합니다. 나아가 DeepResearch 기능을 통해 복잡한 주제도 여러 단계의 심층 탐구 과정을 거쳐 정리된 결과를 제시할 수 있습니다.

GitHub의 기본 Wiki나 ReadTheDocs와 같은 문서화 도구들은 정적인 문서 생성에 초점을 맞추고 있습니다. 그러나 DeepWiki는 여기에 AI를 접목하여 자동 분석 → 문서 생성 → 다이어그램 시각화 → 대화형 질의응답까지 한 번에 지원한다는 점이 차별화 포인트입니다. 또한, OpenAI, Google Gemini, OpenRouter, Ollama 등 다양한 모델 제공자를 지원하여 팀 환경이나 개인 환경에 맞는 유연한 선택이 가능합니다.

DeepWiki의 주요 기능

  • 즉시 문서 생성: 저장소 URL을 입력하면 DeepWiki가 자동으로 코드 구조를 분석하고, 전체 문서를 생성하며, 다이어그램까지 그려줍니다. 이는 수동 문서화 작업을 최소화하고 프로젝트 이해도를 높여줍니다.

  • 비공개 저장소 지원: GitHub, GitLab, BitBucket의 개인 액세스 토큰을 이용하여 비공개 저장소에도 안전하게 접근할 수 있습니다. 팀 단위 프로젝트에도 바로 적용할 수 있다는 점에서 유용합니다.

  • 다양한 AI 모델 제공자 지원: DeepWiki-Open은 여러 AI 제공자와 통합되어 있어 상황에 맞는 모델을 선택할 수 있습니다:

    • Google Gemini (gemini-2.0-flash 기본값)
    • OpenAI (gpt-4o, o1, o3, o4-mini 등)
    • OpenRouter (Claude, Llama, Mistral 등)
    • Azure OpenAI (엔터프라이즈 배포)
    • Ollama (로컬 오픈소스 모델 실행)
    • Amazon Bedrock (AWS 호스팅 모델)
    • DashScope (Alibaba Qwen 모델)

    이러한 다양한 모델 지원을 통해 기업 환경, 개인 개발 환경, 비용 최적화 상황 등 다양한 요구를 충족시킬 수 있습니다.

  • 지능형 Q&A 시스템 (Ask 기능): DeepWiki-Open은 RAG(Retrieval Augmented Generation) 기반의 Q&A 기능을 지원하고 있어, 저장소 자체에 기반한 정확한 답변을 얻을 수 있습니다. 단순히 문서를 검색하는 것이 아니라 실제 코드 내용을 참고하여 답변을 제시하므로, 프로젝트의 동작 원리를 빠르게 이해할 수 있습니다.

  • DeepResearch 기능: 복잡한 주제를 다룰 때는 다중 턴(Multi-Turn) 연구 프로세스를 통해 단계별 탐구를 진행합니다. 여러 차례의 반복 연구를 통해 종합적이고 심층적인 분석 결과를 제공합니다.

  • 다국어 지원: 영어, 중국어, 일본어, 한국어, 스페인어, 베트남어, 포르투갈어, 프랑스어, 러시아어 등 10개 이상의 언어를 기본적으로 지원합니다. 글로벌 팀 협업에 적합합니다.

DeepWiki의 동작 방식

graph TD
    A[User inputs GitHub/GitLab/Bitbucket repo] --> AA{Private repo?}
    AA -->|Yes| AB[Add access token]
    AA -->|No| B[Clone Repository]
    AB --> B
    B --> C[Analyze Code Structure]
    C --> D[Create Code Embeddings]

    D --> M{Select Model Provider}
    M -->|Google Gemini| E1[Generate with Gemini]
    M -->|OpenAI| E2[Generate with OpenAI]
    M -->|OpenRouter| E3[Generate with OpenRouter]
    M -->|Local Ollama| E4[Generate with Ollama]
    M -->|Azure| E5[Generate with Azure]

    E1 --> E[Generate Documentation]
    E2 --> E
    E3 --> E
    E4 --> E
    E5 --> E

    D --> F[Create Visual Diagrams]
    E --> G[Organize as Wiki]
    F --> G
    G --> H[Interactive DeepWiki]

    classDef process stroke-width:2px;
    classDef data stroke-width:2px;
    classDef result stroke-width:2px;
    classDef decision stroke-width:2px;

    class A,D data;
    class AA,M decision;
    class B,C,E,F,G,AB,E1,E2,E3,E4,E5 process;
    class H result;

DeepWiki-Open은 다음 과정을 거쳐 동작합니다:

  1. 저장소 복제(Clone) 및 코드 구조 분석
  2. 코드 관계 및 동작 원리 파악
  3. 문서 및 다이어그램 자동 생성
  4. Q&A와 DeepResearch 기능을 통한 심층 탐색 지원

DeepWiki 설치 및 실행 방법

DeepWiki-Open을 시작하는 방법은 간단합니다. 먼저 저장소를 복제(Clone)하여 API 키를 설정한 다음, 실행하면 됩니다. 이 때, API 키는 Google, OpenAI 등, 원하는 모델 제공자를 선택하여 추가하면 됩니다:

  1. .env 파일에 API 키 설정 (Google, OpenAI, OpenRouter 선택 가능)
  2. 백엔드 실행 (Python 기반 FastAPI 서버)
  3. 프론트엔드 실행 (Next.js 기반 React 앱)
  4. 브라우저에서 http://localhost:3000 접속 후 저장소 입력

그 외, 다음과 같은 파일들에서 고급 설정을 변경할 수 있습니다:

  • generator.json: 모델 및 파라미터 설정
  • embedder.json: 임베딩 및 텍스트 처리 설정
  • repo.json: 저장소 처리 규칙
  • Docker를 활용한 빠른 배포 및 데이터 지속성 보장 (~/.adalflow 활용)

라이선스

DeepWiki-Open 프로젝트는 MIT 라이선스로 공개되어 있으며, 상업적 이용을 포함한 자유로운 활용이 가능합니다.

:scroll: DeepWiki-Open 프로젝트 홈페이지 및 문서

:github: DeepWiki-Open 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

2개의 좋아요