
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
# API 키를 포함한 .env 파일 생성
echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
# 선택 사항: OpenRouter 모델 사용 시 API 키 추가
echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env
# Docker Compose로 실행
docker-compose up
💡 API 키는 어디서 얻나요:
- Google AI Studio에서 Google API 키 받기
- OpenAI 플랫폼에서 OpenAI API 키 받기
프로젝트 루트에 .env 파일을 만들고 다음 키들을 추가하세요:
GOOGLE_API_KEY=your_google_api_key OPENAI_API_KEY=your_openai_api_key # 선택 사항: OpenRouter 모델 사용 시 추가 OPENROUTER_API_KEY=your_openrouter_api_key
# Python 의존성 설치
pip install -r api/requirements.txt
# API 서버 실행
python -m api.main
# JavaScript 의존성 설치
npm install
# 또는
yarn install
# 웹 앱 실행
npm run dev
# 또는
yarn dev
https://github.com/openai/codex, https://github.com/microsoft/autogen, https://gitlab.com/gitlab-org/gitlab, https://bitbucket.org/redradish/atlassian_app_versions)DeepWiki는 AI를 사용하여 다음을 수행합니다:
deepwiki/ ├── api/ # 백엔드 API 서버 │ ├── main.py # API 진입점 │ ├── api.py # FastAPI 구현 │ ├── rag.py # Retrieval Augmented Generation │ ├── data_pipeline.py # 데이터 처리 유틸리티 │ └── requirements.txt # Python 의존성 │ ├── src/ # 프론트엔드 Next.js 앱 │ ├── app/ # Next.js 앱 디렉토리 │ │ └── page.tsx # 메인 애플리케이션 페이지 │ └── components/ # React 컴포넌트 │ └── Mermaid.tsx # Mermaid 다이어그램 렌더러 │ ├── public/ # 정적 자산 ├── package.json # JavaScript 의존성 └── .env # 환경 변수 (직접 생성)
| 변수명 | 설명 | 필수 | 비고 |
|---|---|---|---|
GOOGLE_API_KEY | AI 생성용 Google Gemini API 키 | 예 | |
OPENAI_API_KEY | 임베딩용 OpenAI API 키 | 예 | |
OPENROUTER_API_KEY | 대체 모델용 OpenRouter API 키 | 아니오 | OpenRouter 모델 사용 시 필요 |
PORT | API 서버 포트 (기본값: 8001) | 아니오 | API와 프론트엔드를 같은 머신에서 호스팅 시 SERVER_BASE_URL의 포트도 변경 필요 |
SERVER_BASE_URL | API 서버 기본 URL (기본값: http://localhost:8001) | 아니오 |
DeepWiki는 시스템의 다양한 측면을 관리하기 위해 JSON 설정 파일을 사용합니다:
generator.json: 텍스트 생성 모델 설정
embedder.json: 임베딩 모델 및 텍스트 처리 설정
repo.json: 저장소 처리 설정
기본적으로 이러한 파일은 api/config/ 디렉토리에 위치합니다. DEEPWIKI_CONFIG_DIR 환경 변수를 사용하여 위치를 사용자 정의할 수 있습니다.
Docker를 사용하여 DeepWiki를 실행할 수 있습니다:
# GitHub 컨테이너 레지스트리에서 이미지 가져오기
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 \
-e OPENROUTER_API_KEY=your_openrouter_api_key \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest
이 명령어는 또한 호스트의 ~/.adalflow를 컨테이너의 /root/.adalflow에 마운트합니다. 이 경로는 다음을 저장하는 데 사용됩니다:
~/.adalflow/repos/)~/.adalflow/databases/)~/.adalflow/wikicache/)이를 통해 컨테이너가 중지되거나 제거되어도 데이터가 유지됩니다.
또는 제공된 docker-compose.yml 파일을 사용하세요:
# API 키가 포함된 .env 파일을 먼저 편집
docker-compose up
(docker-compose.yml 파일은 위의 docker run 명령어와 유사하게 데이터 지속성을 위해 ~/.adalflow를 마운트하도록 미리 구성되어 있습니다.)
.env 파일을 컨테이너에 마운트할 수도 있습니다:
# API 키가 포함된 .env 파일 생성
echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env
# .env 파일을 마운트하여 컨테이너 실행
docker run -p 8001:8001 -p 3000:3000 \
-v $(pwd)/.env:/app/.env \
-v ~/.adalflow:/root/.adalflow \
ghcr.io/asyncfuncai/deepwiki-open:latest
이 명령어는 또한 호스트의 ~/.adalflow를 컨테이너의 /root/.adalflow에 마운트합니다. 이 경로는 다음을 저장하는 데 사용됩니다:
~/.adalflow/repos/)~/.adalflow/databases/)~/.adalflow/wikicache/)이를 통해 컨테이너가 중지되거나 제거되어도 데이터가 유지됩니다.
로컬에서 Docker 이미지를 빌드하려면:
# 저장소 클론
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open
# Docker 이미지 빌드
docker build -t deepwiki-open .
# 컨테이너 실행
docker run -p 8001:8001 -p 3000:3000 \
-e GOOGLE_API_KEY=your_google_api_key \
-e OPENAI_API_KEY=your_openai_api_key \
-e OPENROUTER_API_KEY=your_openrouter_api_key \
deepwiki-open
API 서버는 다음을 제공합니다:
자세한 내용은 API README를 참조하세요.
DeepWiki는 이제 여러 LLM 제공자를 지원하는 유연한 제공자 기반 모델 선택 시스템을 구현했습니다:
gemini-2.0-flash, 또한 gemini-1.5-flash, gemini-1.0-pro 등도 지원gpt-4o, 또한 o4-mini 등도 지원llama3와 같은 로컬에서 실행되는 오픈소스 모델 지원각 제공자는 해당 API 키 환경 변수가 필요합니다:
# API 키 GOOGLE_API_KEY=귀하의_구글_API_키 # Google Gemini 모델에 필요 OPENAI_API_KEY=귀하의_OpenAI_키 # OpenAI 모델에 필요 OPENROUTER_API_KEY=귀하의_OpenRouter_키 # OpenRouter 모델에 필요 # OpenAI API 기본 URL 구성 OPENAI_BASE_URL=https://사용자정의_API_엔드포인트.com/v1 # 선택 사항, 사용자 정의 OpenAI API 엔드포인트용
사용자 정의 모델 선택 기능은 다음이 필요한 서비스 제공자를 위해 특별히 설계되었습니다:
서비스 제공자는 사전 정의된 옵션에서 선택하거나 프론트엔드 인터페이스에서 사용자 정의 모델 식별자를 입력하여 모델 제공을 구현할 수 있습니다.
OpenAI 클라이언트의 base_url 구성은 주로 비공개 API 채널이 있는 기업 사용자를 위해 설계되었습니다. 이 기능은:
출시 예정: 향후 업데이트에서 DeepWiki는 사용자가 요청에서 자신의 API 키를 제공해야 하는 모드를 지원할 예정입니다. 이를 통해 비공개 채널이 있는 기업 고객은 DeepWiki 배포와 자격 증명을 공유하지 않고도 기존 API 구성을 사용할 수 있습니다.
DeepWiki는 이제 OpenRouter를 모델 제공자로 지원하여, 단일 API를 통해 수백 개의 AI 모델에 접근할 수 있습니다:
.env 파일에 OPENROUTER_API_KEY=your_key 추가OpenRouter는 특히 다음과 같은 경우 유용합니다:
Ask 기능은 Retrieval Augmented Generation (RAG)을 사용해 저장소와 대화할 수 있습니다:
DeepResearch는 다중 턴 연구 프로세스를 통해 저장소 분석을 한층 심화합니다:
DeepResearch를 사용하려면 질문 제출 전 Ask 인터페이스에서 "Deep Research" 스위치를 켜세요.
DeepWiki의 메인 인터페이스
개인 액세스 토큰으로 비공개 저장소 접근
DeepResearch는 복잡한 주제에 대해 다중 턴 조사를 수행
DeepWiki 작동 영상 보기!
.env 파일이 프로젝트 루트에 있고 필요한 API 키가 포함되어 있는지 확인기여를 환영합니다! 다음을 자유롭게 해주세요:
이 프로젝트는 MIT 라이선스 하에 있습니다 - 자세한 내용은 LICENSE 파일 참고.