DeepWiki-Open: GitHub, GitLab 리포지토리를 위한 자동화된 AI 문서 생성

최신 AI 리소스3 개월 전에 게시 됨 AI 공유 서클
2.5K 00

일반 소개

DeepWiki-Open은 GitHub, GitLab 및 Bitbucket의 코드 리포지토리에 대한 구조화된 문서를 자동으로 생성하도록 설계된 오픈 소스 프로젝트입니다. AI 기술을 사용하여 코드 구조, 파일 콘텐츠 및 논리적 관계를 분석하여 Wikipedia와 유사한 지식창고 페이지를 빠르게 생성합니다. 사용자는 리포지토리 URL만 입력하면 코드 아키텍처, 기능 모듈 및 구현 세부 사항에 대한 명확한 설명을 얻을 수 있습니다. 이 프로젝트는 개인정보 보호 및 보안을 위해 데이터를 로컬에 저장하여 로컬 배포를 지원합니다. 또한 검색 증강 생성(RAG) 기능을 제공하여 사용자가 코드베이스와 문맥에 맞는 Q&A에 참여하고 DeepResearch 기능으로 복잡한 문제를 더 깊이 파고들 수 있으며, AsyncFuncAI에서 개발한 DeepWiki-Open은 무료 오픈 소스이며 개발자, 팀 및 오픈 소스 커뮤니티가 복잡한 코드를 빠르게 이해하는 데 적합합니다.

DeepWiki-Open:为GitHub、GitLab仓库自动生成AI文档

 

기능 목록

  • 자동화된 문서 생성: GitHub, GitLab 또는 Bitbucket 리포지토리를 분석하여 구조화된 위키 스타일의 문서를 생성합니다.
  • 코드 인텔리전스 분석: 코드 구조, 주요 모듈 및 파일 관계를 식별하여 명확한 설명을 제공합니다.
  • 상황에 맞는 Q&A: 경유 RAG 기술을 통해 사용자가 창고 관련 질문을 하고 정확한 답변을 얻을 수 있도록 지원합니다.
  • DeepResearch 기능: 여러 차례의 연구를 지원하고 복잡한 문제를 심층적으로 분석하며 자세한 결론을 제공합니다.
  • 로컬 배포 지원: 데이터가 로컬에 저장되고, 클라우드 서비스가 필요하지 않으며, 데이터 프라이버시가 보장됩니다.
  • 대화형 다이어그램: 머메이드 형식의 아키텍처 다이어그램과 순서도를 생성하여 코드 로직을 시각화할 수 있습니다.
  • 멀티플랫폼 지원: 공개 및 비공개 리포지토리를 모두 지원하는 GitHub, GitLab 및 Bitbucket과 호환됩니다.
  • 스트리밍 AI 응답: Google을 통해 쌍둥이자리 이 모델은 실시간 문서 생성 및 Q&A 기능을 제공합니다.
  • 오픈 소스 무료: 완전한 오픈 소스로, 사용자가 자유롭게 기능을 수정하고 확장할 수 있습니다.

 

도움말 사용

설치 프로세스

딥위키-오픈은 우분투, macOS 또는 Windows용 도커 및 수동 설치(WSL2를 통해)를 지원합니다. 자세한 단계는 다음과 같습니다.

1. 창고 복제

DeepWiki-Open의 코드베이스를 로컬에 복제합니다:

git clone https://github.com/AsyncFuncAI/deepwiki-open.git
cd deepwiki-open

2. 환경 변수 구성하기

문서 생성 및 코드 임베딩을 위해 DeepWiki-Open에는 Google Gemini 및 OpenAI API 키가 필요합니다. 프로젝트 루트 디렉토리에 .env 문서화:

echo "GOOGLE_API_KEY=your_google_api_key" > .env
echo "OPENAI_API_KEY=your_openai_api_key" >> .env
  • GOOGLE_API_KEY: 출발지 Google AI 스튜디오 Google Gemini 모델에서 사용하기 위해 획득했습니다.
  • OPENAI_API_KEY: 출발지 OpenAI 플랫폼 코드 임베딩을 생성하기 위한 가져오기.
  • 선택적 변수:
    • PORTAPI 서버 포트, 기본값 8001.
    • NEXT_PUBLIC_SERVER_BASE_URLAPI 서버 주소, 기본값 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
  • 자바스크립트 종속성(프런트엔드)을 설치합니다:
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).
  • 생성된 문서를 보려면 '위키 생성'을 클릭합니다.

주요 기능

자동 문서 생성

  1. 프런트엔드 페이지에 리포지토리 URL을 입력합니다(예 https://gitlab.com/gitlab-org/gitlab).
  2. 비공개 리포지토리의 경우, "+ 액세스 토큰 추가"를 클릭하고 GitHub, GitLab 또는 Bitbucket의 개인 액세스 토큰을 입력합니다.
  3. "위키 생성"을 클릭하면 시스템이 리포지토리를 복제하고 코드를 분석하여 문서를 생성합니다.
  4. 생성된 문서에는 다음이 포함됩니다:
    • 코드 아키텍처 개요.
    • 주요 모듈에 대한 기능 설명.
    • 파일 및 디렉터리에 대한 자세한 설명입니다.
    • 인터랙티브 머메이드 아키텍처 다이어그램 및 순서도.

상황에 맞는 질문 및 답변(질문 기능)

  1. 문서 페이지에서 '질문' 영역을 찾아보세요.
  2. "이 리포지토리에 대한 데이터베이스 연결은 어떻게 구현되어 있나요?"와 같은 질문을 입력합니다. .
  3. 시스템은 RAG 기술을 통해 코드 스니펫을 검색하여 문맥에 맞는 답변을 생성합니다.
  4. 답변은 스트리밍 방식으로 표시되어 실시간 상호작용을 지원합니다.

DeepResearch 기능

  1. '질문' 화면에서 '심층 조사' 스위치를 활성화합니다.
  2. "이 웨어하우스에 인증 프로세스를 어떻게 최적화할 수 있나요?"와 같은 복잡한 질문을 입력하세요. .
  3. 여러 차례의 연구를 체계적으로 실행합니다:
    • 연구 프로그램 : 초기 분석 프레임워크를 생성합니다.
    • 연구 업데이트 세부 정보를 추가하기 위한 반복 분석.
    • 최종 결론 모든 정보를 종합하여 자세한 답변을 제공합니다.
  4. 조사 과정은 최대 5회까지 반복되었고 응답은 스트리밍되었습니다.

주요 기능 작동

스트리밍 AI 응답

  • 문서 생성 및 Q&A 답변은 Google Gemini 모델을 사용하여 실시간으로 표시됩니다.
  • 예: 질문을 입력하면 대기 시간을 줄이기 위해 답변이 단락별로 로드됩니다.

대화형 인어 차트

  • 이 시스템은 머메이드 기술을 기반으로 창고의 아키텍처 다이어그램과 순서도를 생성합니다.
  • 차트는 확대/축소, 끌기 및 클릭 상호 작용을 지원합니다.
  • 예: 텐서플로 리포지토리 문서를 생성한 후 모델 학습 순서도를 볼 수 있습니다.

비공개 리포지토리 지원

  • GitHub, GitLab 또는 Bitbucket의 개인 액세스 토큰이 필요합니다.
  • 토큰은 리포지토리를 복제하는 데만 사용되며 서버에는 저장되지 않습니다.
  • 예: 비공개 리포지토리 URL과 토큰을 입력하여 문서를 생성합니다.

로컬 데이터 스토리지

  • 문서 및 분석 데이터는 ~/.adalflow 디렉토리에 마운트할 수 있습니다(Docker는 사용자 지정 마운트 가능).
  • 개인 정보 보호에 민감한 시나리오에서 클라우드 종속성이 없습니다.

프로젝트 구조

딥위키-오픈의 코드 구조는 다음과 같습니다:

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 배포에는 4GB 이상의 메모리를 할당하는 것이 좋습니다.
  • 수동 설치에는 Python 3.8 이상 및 Node.js 16 이상이 필요합니다.
  • 리포지토리가 클수록 문서를 생성하는 데 시간이 오래 걸릴 수 있으므로 소규모 리포지토리로 테스트를 시작하는 것이 좋습니다.
  • CORS 오류가 발생하면 프런트 엔드와 백 엔드가 동일한 컴퓨터에서 실행 중인지 확인하거나 NEXT_PUBLIC_SERVER_BASE_URL.

 

애플리케이션 시나리오

  1. 신규 개발자를 위한 빠른 시작
    신규 개발자는 프로젝트 문서를 생성하여 코드 구조와 모듈 기능을 빠르게 이해할 수 있으므로 학습 곡선을 단축할 수 있습니다.
  2. 오픈 소스 프로젝트 기여
    기여자는 문서화 및 Q&A 기능을 통해 리포지토리 로직을 빠르게 마스터하고 코드 제출 효율성을 개선할 수 있습니다.
  3. 내부 문서 유지 관리
    기업에서는 DeepWiki-Open을 배포하여 비공개 리포지토리에 대한 문서를 생성하여 수동 유지 관리 비용을 절감합니다.
  4. 기술 면접 준비
    지원자는 대상 회사의 오픈소스 리포지토리를 분석하고 문서를 생성한 다음 DeepResearch를 통해 기술적 세부 사항을 조사합니다.
  5. 교육 및 학습
    학생들은 딥위키-오픈을 사용하여 잘 알려진 프로젝트(예: React, Django)를 분석하고 다이어그램과 퀴즈를 통해 코드 디자인에 대해 배웁니다.

 

QA

  1. 딥위키오픈은 무료인가요?
    DeepWiki-Open은 완전 무료 오픈 소스이지만 사용자는 Google 및 OpenAI에 API 키를 제공해야 하며, API 사용 시 비용이 발생할 수 있습니다.
  2. 어떤 코드 호스팅 플랫폼이 지원되나요?
    공개 및 비공개 리포지토리를 모두 포괄하는 GitHub, GitLab 및 Bitbucket을 지원합니다.
  3. 생성된 문서를 내보내려면 어떻게 하나요?
    문서가 로컬에 저장됩니다. ~/.adalflow이 파일은 마크다운 또는 다른 형식으로 수동으로 복사할 수 있습니다.
  4. DeepResearch와 Ask 기능의 차이점은 무엇인가요?
    Ask는 문맥에 맞는 단일 퀴즈를 제공하며, DeepResearch는 여러 번의 반복을 통해 복잡한 문제를 더 깊이 파고듭니다.
  5. 문서 생성에 실패하면 어떻게 하나요?
    API 키, 리포지토리 URL 형식을 확인하거나 작은 리포지토리를 사용해 보고, 터미널 로그에서 오류 세부 정보를 확인하세요.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...