
DeepWiki 可以為任何 GitHub、GitLab 或 BitBucket 程式碼儲存庫自動建立美觀、互動式的 Wiki!只需輸入儲存庫名稱,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 模型,新增 OpenRouter API 金鑰
echo "OPENROUTER_API_KEY=your_openrouter_api_key" >> .env
# 可選:如果 Ollama 不在本機執行,新增 Ollama 主機位址,預設為 http://localhost:11434
echo "OLLAMA_HOST=your_ollama_host" >> .env
# 使用 Docker Compose 執行
docker-compose up
有關使用 DeepWiki 搭配 Ollama 和 Docker 的詳細說明,請參閱 Ollama 操作說明。
(上述 Docker 命令以及 docker-compose.yml 設定會掛載您主機上的 ~/.adalflow 目錄到容器內的 /root/.adalflow。此路徑用於儲存:
~/.adalflow/repos/)~/.adalflow/databases/)~/.adalflow/wikicache/)這確保了即使容器停止或移除,您的資料也能持久保存。)
💡 取得這些金鑰的地方:
- 從 Google AI Studio 取得 Google API 金鑰
- 從 OpenAI Platform 取得 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 # 可選:如果 Ollama 不在本機執行,新增 Ollama 主機位址,預設為 http://localhost:11434 OLLAMA_HOST=your_ollama_host
# 安裝 Python 相依性
pip install -r api/requirements.txt
# 啟動 API 伺服器
python -m api.main
# 安裝 JavaScript 相依性
npm install
# 或
yarn install
# 啟動 Web 應用
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 # 檢索增強產生 │ ├── data_pipeline.py # 資料處理工具 │ └── requirements.txt # Python 相依性 │ ├── src/ # 前端 Next.js 應用 │ ├── app/ # Next.js 應用目錄 │ │ └── page.tsx # 主應用頁面 │ └── components/ # React 元件 │ └── Mermaid.tsx # Mermaid 圖表渲染器 │ ├── public/ # 靜態資源 ├── package.json # JavaScript 相依性 └── .env # 環境變數(需要建立)
DeepWiki 現在實作了靈活的基於提供商的模型選擇系統,支援多種 LLM 提供商:
gemini-2.0-flash,也支援 gemini-1.5-flash、gemini-1.0-pro 等gpt-4o,也支援 o4-mini 等llama3每個提供商都需要對應的 API 金鑰環境變數:
# API 金鑰 GOOGLE_API_KEY=your_google_api_key # 使用 Google Gemini 模型時必需 OPENAI_API_KEY=your_openai_api_key # 使用 OpenAI 模型時必需 OPENROUTER_API_KEY=your_openrouter_api_key # 使用 OpenRouter 模型時必需 # OpenAI API 基礎 URL 設定 OPENAI_BASE_URL=https://custom-api-endpoint.com/v1 # 可選,用於自訂 OpenAI API 端點 # Ollama 主機 OLLAMA_HOST=your_ollama_host # 可選,如果 Ollama 不在本機執行,預設為 http://localhost:11434 # 設定檔目錄 DEEPWIKI_CONFIG_DIR=/path/to/custom/config/dir # 可選,用於自訂設定檔位置
DeepWiki 使用 JSON 設定檔來管理系統的各個層面:
generator.json:文字產生模型設定
embedder.json:嵌入模型和文字處理設定
repo.json:儲存庫處理設定
預設情況下,這些檔案位於 api/config/ 目錄中。您可以使用 DEEPWIKI_CONFIG_DIR 環境變數自訂它們的位置。
自訂模型選擇功能專為需要以下功能的服務提供商設計:
服務提供商可以透過從預定義選項中選擇或在前端介面中輸入自訂模型識別符來實作其模型提供方案。
OpenAI 客戶端的 base_url 設定主要為擁有私有 API 通道的企業使用者設計。此功能:
即將推出:在未來的更新中,DeepWiki 將支援一種模式,讓使用者需要在請求中提供自己的 API 金鑰。這將允許擁有私有通道的企業客戶使用其現有的 API 安排,而不必與 DeepWiki 部署共享憑證。
如果您想使用與 OpenAI API 相容的嵌入模型(如阿里巴巴 Qwen),請按照以下步驟操作:
api/config/embedder_openai_compatible.json 的內容替換 api/config/embedder.json 的內容。.env 檔案中,設定相關的環境變數,例如:
OPENAI_API_KEY=your_api_key OPENAI_BASE_URL=your_openai_compatible_endpoint
這讓您可以無縫切換到任何 OpenAI 相容的嵌入服務,無需變更程式碼。
DeepWiki 使用 Python 的內建 logging 模組進行診斷輸出。您可以透過環境變數設定詳細程度和日誌檔案目標:
| 變數 | 說明 | 預設值 |
|---|---|---|
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(請參閱 docker-compose.yml 中的 volumes 區段),確保日誌檔案在重新啟動後仍然存在。
您也可以將這些設定儲存在 .env 檔案中:
LOG_LEVEL=DEBUG LOG_FILE_PATH=./debug.log
然後簡單執行:
docker-compose up
日誌路徑安全性考量: 在生產環境中,請確保 api/logs 目錄和任何自訂日誌檔案路徑都受到適當的檔案系統權限和存取控制保護。應用程式會強制要求 LOG_FILE_PATH 位於專案的 api/logs 目錄內,以防止路徑遍歷或未授權的寫入。
| 變數 | 說明 | 必需 | 備註 |
|---|---|---|---|
GOOGLE_API_KEY | Google Gemini API 金鑰,用於 AI 產生 | 否 | 只有在您想使用 Google Gemini 模型時才需要 |
OPENAI_API_KEY | OpenAI API 金鑰,用於嵌入 | 是 | 備註:即使您不使用 OpenAI 模型,這個也是必需的,因為它用於嵌入 |
OPENROUTER_API_KEY | OpenRouter API 金鑰,用於替代模型 | 否 | 只有在您想使用 OpenRouter 模型時才需要 |
OLLAMA_HOST | Ollama 主機(預設:http://localhost:11434) | 否 | 只有在您想使用外部 Ollama 伺服器時才需要 |
PORT | API 伺服器的連接埠(預設:8001) | 否 | 如果您在同一台機器上託管 API 和前端,請確保相應地變更 SERVER_BASE_URL 的連接埠 |
SERVER_BASE_URL | API 伺服器的基礎 URL(預設:http://localhost:8001) | 否 | |
DEEPWIKI_AUTH_MODE | 設定為 true 或 1 以啟用授權模式 | 否 | 預設為 false。如果啟用,則需要 DEEPWIKI_AUTH_CODE |
DEEPWIKI_AUTH_CODE | 當 DEEPWIKI_AUTH_MODE 啟用時,Wiki 產生所需的秘密代碼 | 否 | 只有在 DEEPWIKI_AUTH_MODE 為 true 或 1 時才使用 |
如果您不使用 ollama 模式,您需要設定 OpenAI API 金鑰用於嵌入。其他 API 金鑰只有在設定並使用對應提供商的模型時才需要。
DeepWiki 可以設定為在授權模式下執行,在此模式下,Wiki 產生需要有效的授權代碼。如果您想控制誰可以使用產生功能,這會很有用。 限制前端啟動並保護快取刪除,但如果直接存取 API 端點,無法完全防止後端產生。
要啟用授權模式,請設定以下環境變數:
DEEPWIKI_AUTH_MODE:將此設定為 true 或 1。啟用時,前端將顯示授權代碼的輸入欄位。DEEPWIKI_AUTH_CODE:將此設定為所需的秘密代碼。限制前端啟動並保護快取刪除,但如果直接存取 API 端點,無法完全防止後端產生。如果未設定 DEEPWIKI_AUTH_MODE 或設定為 false(或除 true/1 以外的任何其他值),授權功能將被停用,不需要任何代碼。
您可以使用 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 \
-e OLLAMA_HOST=your_ollama_host \
-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 檔案預先設定為掛載 ~/.adalflow 以保持資料持續性,類似於上面的 docker run 命令。)
您也可以將 .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
echo "OLLAMA_HOST=your_ollama_host" >> .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 \
-e OLLAMA_HOST=your_ollama_host \
deepwiki-open
API 伺服器提供:
更多詳細資訊,請參閱 API README。
DeepWiki 現在支援 OpenRouter 作為模型提供商,讓您可以透過單一 API 存取數百個 AI 模型:
.env 檔案中新增 OPENROUTER_API_KEY=your_keyOpenRouter 特別適用於以下情況:
提問功能允許您使用檢索增強產生(RAG)與您的儲存庫聊天:
深度研究透過多輪研究過程將儲存庫分析提升到新水平:
要使用深度研究,只需在提交問題前在提問介面中切換「深度研究」開關。




觀看 DeepWiki 實際操作!
DeepWiki 支援多個 AI 模型提供商:
Google Gemini(預設)
OpenAI
OpenRouter
本機 Ollama
repo: 儲存庫識別符platform: git 平台(github、gitlab、bitbucket)repo: 儲存庫識別符format: 匯出格式(markdown、json).env 檔案位於專案根目錄並包含所需的 API 金鑰我們歡迎各種形式的貢獻!無論是錯誤報告、功能請求還是程式碼貢獻。
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featuresrc/messages/ 中新增新的翻譯檔案src/i18n.ts 中的 locales 陣列此專案根據 MIT 授權條款授權 - 詳情請參閱 LICENSE 檔案。
如果您遇到任何問題,請在 GitHub Issues 中建立問題報告。請包含: