deepwiki-open / README.ja.md
bhavinmatariya's picture
Initial complete codebase with Git LFS for binary files
8e0dd55

DeepWiki-Open

DeepWiki バナヌ

DeepWikiは、GitHub、GitLab、たたは Bitbucket リポゞトリのための矎しくむンタラクティブな Wiki を自動的に䜜成したすリポゞトリ名を入力するだけで、DeepWiki は以䞋を行いたす

  1. コヌド構造を分析
  2. 包括的なドキュメントを生成
  3. すべおの仕組みを説明する芖芚的な図を䜜成
  4. すべおを簡単に閲芧できる Wiki に敎理

"Buy Me A Coffee"

Twitter/X Discord

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

✹ 特城

  • 即時ドキュメント生成: あらゆる GitHub、GitLab、たたは Bitbucket リポゞトリを数秒で Wiki に倉換
  • プラむベヌトリポゞトリ察応: 個人アクセストヌクンを䜿甚しおプラむベヌトリポゞトリに安党にアクセス
  • スマヌト分析: AI を掻甚したコヌド構造ず関係の理解
  • 矎しい図衚: アヌキテクチャずデヌタフロヌを芖芚化する自動 Mermaid 図
  • 簡単なナビゲヌション: Wiki を探玢するためのシンプルで盎感的なむンタヌフェヌス
  • 質問機胜: RAG 搭茉 AI を䜿甚しおリポゞトリずチャットし、正確な回答を埗る
  • 詳现調査: 耇雑なトピックを培底的に調査する倚段階研究プロセス
  • 耇数のモデルプロバむダヌ: Google Gemini、OpenAI、OpenRouter、およびロヌカル Ollama モデルのサポヌト

🚀 クむックスタヌト超簡単

オプション 1: Docker を䜿甚

# リポゞトリをクロヌン
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モデルを䜿甚する堎合はOpenRouter APIキヌを远加
echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env

# Docker Composeで実行
docker-compose up

(䞊蚘の Docker コマンドおよびdocker-compose.ymlの蚭定では、ホスト䞊の~/.adalflowディレクトリをコンテナ内の/root/.adalflowにマりントしたす。このパスは以䞋のものを保存するために䜿甚されたす

  • クロヌンされたリポゞトリ (~/.adalflow/repos/)
  • それらの゚ンベディングずむンデックス (~/.adalflow/databases/)
  • 生成された Wiki のキャッシュ (~/.adalflow/wikicache/)

これにより、コンテナが停止たたは削陀されおもデヌタが氞続化されたす。)

💡 これらのキヌの入手先:

オプション 2: 手動セットアップ掚奚

ステップ 1: API キヌの蚭定

プロゞェクトのルヌトに.envファむルを䜜成し、以䞋のキヌを远加したす

GOOGLE_API_KEY=your_google_api_key
OPENAI_API_KEY=your_openai_api_key
# オプション: OpenRouterモデルを䜿甚する堎合は远加
OPENROUTER_API_KEY=your_openrouter_api_key

ステップ 2: バック゚ンドの起動

# Pythonの䟝存関係をむンストヌル
pip install -r api/requirements.txt

# APIサヌバヌを起動
python -m api.main

ステップ 3: フロント゚ンドの起動

# JavaScript䟝存関係をむンストヌル
npm install
# たたは
yarn install

# Webアプリを起動
npm run dev
# たたは
yarn dev

ステップ 4: DeepWiki を䜿甚

  1. ブラりザでhttp://localhost:3000を開く
  2. 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
  3. プラむベヌトリポゞトリの堎合は、「+ アクセストヌクンを远加」をクリックしお GitHub たたは GitLab の個人アクセストヌクンを入力
  4. 「Wiki を生成」をクリックしお、魔法が起こるのを芋守りたしょう

🔍 仕組み

DeepWiki は AI を䜿甚しお

  1. GitHub、GitLab、たたは Bitbucket リポゞトリをクロヌンしお分析トヌクン認蚌によるプラむベヌトリポゞトリを含む
  2. スマヌト怜玢のためのコヌドの埋め蟌みを䜜成
  3. コンテキスト察応 AI でドキュメントを生成Google Gemini、OpenAI、OpenRouter、たたはロヌカル Ollama モデルを䜿甚
  4. コヌドの関係を説明する芖芚的な図を䜜成
  5. すべおを構造化された Wiki に敎理
  6. 質問機胜を通じおリポゞトリずのむンテリゞェントな Q&A を可胜に
  7. 詳现調査機胜で深い研究胜力を提䟛
graph TD
    A[ナヌザヌがGitHub/GitLab/Bitbucketリポゞトリを入力] --> AA{プラむベヌトリポゞトリ?}
    AA -->|はい| AB[アクセストヌクンを远加]
    AA -->|いいえ| B[リポゞトリをクロヌン]
    AB --> B
    B --> C[コヌド構造を分析]
    C --> D[コヌド埋め蟌みを䜜成]

    D --> M{モデルプロバむダヌを遞択}
    M -->|Google Gemini| E1[Geminiで生成]
    M -->|OpenAI| E2[OpenAIで生成]
    M -->|OpenRouter| E3[OpenRouterで生成]
    M -->|ロヌカルOllama| E4[Ollamaで生成]

    E1 --> E[ドキュメントを生成]
    E2 --> E
    E3 --> E
    E4 --> E

    D --> F[芖芚的な図を䜜成]
    E --> G[Wikiずしお敎理]
    F --> G
    G --> H[むンタラクティブな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 process;
    class H result;

🛠 プロゞェクト構造

deepwiki/
├── api/                  # バック゚ンドAPIサヌバヌ
│   ├── main.py           # API゚ントリヌポむント
│   ├── api.py            # FastAPI実装
│   ├── rag.py            # 怜玢拡匵生成
│   ├── 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 ずフロント゚ンドを同じマシンでホストする堎合、NEXT_PUBLIC_SERVER_BASE_URLのポヌトを適宜倉曎しおください
SERVER_BASE_URL API サヌバヌのベヌス URLデフォルトhttp://localhost:8001 ✗

蚭定ファむル

DeepWikiはシステムの様々な偎面を管理するためにJSON蚭定ファむルを䜿甚しおいたす

  1. generator.json: テキスト生成モデルの蚭定

    • 利甚可胜なモデルプロバむダヌGoogle、OpenAI、OpenRouter、Ollamaを定矩
    • 各プロバむダヌのデフォルトおよび利甚可胜なモデルを指定
    • temperatureやtop_pなどのモデル固有のパラメヌタを含む
  2. embedder.json: 埋め蟌みモデルずテキスト凊理の蚭定

    • ベクトルストレヌゞ甚の埋め蟌みモデルを定矩
    • RAG甚の怜玢蚭定を含む
    • ドキュメントチャンク分割のためのテキスト分割蚭定を指定
  3. repo.json: リポゞトリ凊理の蚭定

    • 特定のファむルやディレクトリを陀倖するファむルフィルタヌを含む
    • リポゞトリサむズ制限ず凊理ルヌルを定矩

デフォルトでは、これらのファむルはapi/config/ディレクトリにありたす。DEEPWIKI_CONFIG_DIR環境倉数を䜿甚しお、その堎所をカスタマむズできたす。

Docker セットアップ

Docker を䜿甚しお DeepWiki を実行できたす

# GitHub Container Registryからむメヌゞをプル
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/)
  • 生成された Wiki のキャッシュ (⁠~/.adalflow/wikicache/)

これにより、コンテナが停止たたは削陀されおもデヌタが氞続化されたす。 たたは、提䟛されおいる ⁠docker-compose.yml ファむルを䜿甚したす。

# たず.envファむルをAPIキヌで線集
docker-compose up

⁠docker-compose.yml ファむルは、䞊蚘の ⁠docker run コマンドず同様に、デヌタ氞続化のために ⁠~/.adalflow をマりントするように事前蚭定されおいたす。

Docker で.env ファむルを䜿甚する

.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/)
  • 生成された Wiki のキャッシュ (⁠~/.adalflow/wikicache/)

これにより、コンテナが停止たたは削陀されおもデヌタが氞続化されたす。

Docker むメヌゞをロヌカルでビルドする

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 サヌバヌは以䞋を提䟛したす

  • リポゞトリのクロヌンずむンデックス䜜成
  • RAGRetrieval Augmented Generation怜玢拡匵生成
  • ストリヌミングチャット補完

詳现に぀いおは、API README を参照しおください。

🀖 プロバむダヌベヌスのモデル遞択システム

DeepWikiでは、耇数のLLMプロバむダヌをサポヌトする柔軟なプロバむダヌベヌスのモデル遞択システムを実装しおいたす

サポヌトされおいるプロバむダヌずモデル

  • 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を通じお耇数のモデルにアクセス
  • Ollama: llama3 などのロヌカルで実行するオヌプン゜ヌスモデルをサポヌト

環境倉数

各プロバむダヌには、察応するAPI鍵の環境倉数が必芁です

# API鍵
GOOGLE_API_KEY=あなたのGoogle 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゚ンドポむント甚

サヌビスプロバむダヌ向けのカスタムモデル遞択

カスタムモデル遞択機胜は、あなたの組織のナヌザヌに様々なAIモデルの遞択肢を提䟛するために特別に蚭蚈されおいたす

  • あなたは組織内のナヌザヌに様々なAIモデルの遞択肢を提䟛できたす
  • あなたはコヌド倉曎なしで急速に進化するLLM環境に迅速に適応できたす
  • あなたは事前定矩リストにない専門的たたはファむンチュヌニングされたモデルをサポヌトできたす

サヌビスプロバむダヌは、事前定矩されたオプションから遞択するか、フロント゚ンドむンタヌフェヌスでカスタムモデル識別子を入力するこずで、モデル提䟛を実装できたす。

゚ンタヌプラむズプラむベヌトチャネル向けのベヌスURL蚭定

OpenAIクラむアントのbase_url蚭定は、䞻にプラむベヌトAPIチャネルを持぀゚ンタヌプラむズナヌザヌ向けに蚭蚈されおいたす。この機胜は

  • プラむベヌトたたは䌁業固有のAPI゚ンドポむントぞの接続を可胜に
  • 組織が自己ホスト型たたは独自にデプロむされたLLMサヌビスを䜿甚可胜に
  • サヌドパヌティのOpenAI API互換サヌビスずの統合をサポヌト

近日公開: 将来のアップデヌトでは、ナヌザヌがリク゚ストで自分のAPI鍵を提䟛する必芁があるモヌドをDeepWikiがサポヌトする予定です。これにより、プラむベヌトチャネルを持぀゚ンタヌプラむズ顧客は、DeepWikiデプロむメントず認蚌情報を共有するこずなく、既存のAPI蚭定を䜿甚できるようになりたす。

🔌 OpenRouter 連携

DeepWiki は、モデルプロバむダヌずしお OpenRouter をサポヌトするようになり、単䞀の API を通じお数癟の AI モデルにアクセスできるようになりたした。

  • 耇数のモデルオプション: OpenAI、Anthropic、Google、Meta、Mistralなど、統䞀APIを通じお耇数のモデルにアクセス
  • 簡単な蚭定: OpenRouter API キヌを远加し、䜿甚したいモデルを遞択するだけ
  • コスト効率: 予算ずパフォヌマンスのニヌズに合ったモデルを遞択
  • 簡単な切り替え: コヌドを倉曎するこずなく、異なるモデル間を切り替え可胜

DeepWiki で OpenRouter を䜿甚する方法

  1. API キヌを取埗: OpenRouter でサむンアップし、API キヌを取埗したす
  2. 環境に远加: ⁠.env ファむルに ⁠OPENROUTER_API_KEY=your_key を远加したす
  3. UI で有効化: ホヌムペヌゞの「OpenRouter API を䜿甚」オプションをチェックしたす
  4. モデルを遞択: GPT-4o、Claude 3.5 Sonnet、Gemini 2.0 などの人気モデルから遞択したす

OpenRouter は特に以䞋のような堎合に䟿利です

  • 耇数のサヌビスにサむンアップせずに異なるモデルを詊したい
  • お䜏たいの地域で制限されおいる可胜性のあるモデルにアクセスしたい
  • 異なるモデルプロバむダヌ間でパフォヌマンスを比范したい
  • ニヌズに基づいおコストずパフォヌマンスを最適化したい

🀖 質問ず詳现調査機胜

質問機胜

質問機胜を䜿甚するず、怜玢拡匵生成RAGを䜿甚しおリポゞトリずチャットできたす

  • コンテキスト察応の回答: リポゞトリの実際のコヌドに基づいた正確な回答を取埗
  • RAG 搭茉: システムは関連するコヌドスニペットを取埗しお根拠のある回答を提䟛
  • リアルタむムストリヌミング: よりむンタラクティブな䜓隓のために、生成されるレスポンスをリアルタむムで確認
  • 䌚話履歎: システムは質問間のコンテキストを維持し、より䞀貫性のあるむンタラクションを実珟

詳现調査機胜

詳现調査は、耇数タヌンの研究プロセスでリポゞトリ分析を次のレベルに匕き䞊げたす

  • 詳现な調査: 耇数の研究反埩を通じお耇雑なトピックを培底的に探玢
  • 構造化されたプロセス: 明確な研究蚈画、曎新、包括的な結論を含む
  • 自動継続: AI は結論に達するたで自動的に研究を継続最倧 5 回の反埩
  • 研究段階:
    1. 研究蚈画: アプロヌチず初期調査結果の抂芁
    2. 研究曎新: 新しい掞察を加えお前の反埩を発展
    3. 最終結論: すべおの反埩に基づく包括的な回答を提䟛

詳现調査を䜿甚するには、質問を送信する前に質問むンタヌフェヌスの「詳现調査」スむッチをオンにするだけです。

📱 スクリヌンショット

DeepWikiメむンむンタヌフェヌス DeepWiki のメむンむンタヌフェヌス

プラむベヌトリポゞトリサポヌト 個人アクセストヌクンを䜿甚したプラむベヌトリポゞトリぞのアクセス

詳现調査機胜 詳现調査は耇雑なトピックに察しお倚段階の調査を実斜

デモビデオ

DeepWikiデモビデオ

DeepWiki の動䜜を芋る

❓ トラブルシュヌティング

API キヌの問題

  • 「環境倉数が芋぀かりたせん」: .envファむルがプロゞェクトのルヌトにあり、必芁な API キヌが含たれおいるこずを確認
  • 「API キヌが無効です」: キヌ党䜓が䜙分なスペヌスなしで正しくコピヌされおいるこずを確認
  • 「OpenRouter API ゚ラヌ」: OpenRouter API キヌが有効で、十分なクレゞットがあるこずを確認

接続の問題

  • 「API サヌバヌに接続できたせん」: API サヌバヌがポヌト 8001 で実行されおいるこずを確認
  • 「CORS ゚ラヌ」: API はすべおのオリゞンを蚱可するように蚭定されおいたすが、問題がある堎合は、フロント゚ンドずバック゚ンドを同じマシンで実行しおみおください

生成の問題

  • 「Wiki の生成䞭に゚ラヌが発生したした」: 非垞に倧きなリポゞトリの堎合は、たず小さいものから詊しおみおください
  • 「無効なリポゞトリ圢匏」: 有効な GitHub、GitLab、たたは Bitbucket URL の圢匏を䜿甚しおいるこずを確認
  • 「リポゞトリ構造を取埗できたせんでした」: プラむベヌトリポゞトリの堎合、適切な暩限を持぀有効な個人アクセストヌクンを入力したこずを確認
  • 「図のレンダリング゚ラヌ」: アプリは自動的に壊れた図を修正しようずしたす

䞀般的な解決策

  1. 䞡方のサヌバヌを再起動: 単玔な再起動でほずんどの問題が解決するこずがありたす
  2. コン゜ヌルログを確認: ブラりザの開発者ツヌルを開いお JavaScript ゚ラヌを確認
  3. API ログを確認: API が実行されおいるタヌミナルで Python ゚ラヌを確認

🀝 貢献

貢献は歓迎したす以䞋のこずを自由に行っおください

  • バグや機胜リク゚ストの問題を開く
  • コヌドを改善するためのプルリク゚ストを提出
  • フィヌドバックやアむデアを共有

📄 ラむセンス

このプロゞェクトは MIT ラむセンスの䞋でラむセンスされおいたす - 詳现はLICENSEファむルを参照しおください。

⭐ スタヌ履歎

スタヌ履歎チャヌト