進階Python、Docker、LLM API

DeepWiki開原始碼庫轉互動式Wiki工具

DeepWiki-Open 是一個開源工具,旨在讓開發者 輕鬆將任意程式碼庫轉成互動式 Wiki 文件。它自動克隆倉庫、分析程式碼結構、用 AI 為每個模組生成可讀文件,還能畫出架構圖,並讓使用者通過對話 (聊天介面) 提問程式碼庫的問題。

16.7K 星標
1.9K 分叉
258 問題
63 流覽
Python、Docker、LLM API
MIT
收錄日期
更新日期

專案概述

DeepWiki-Open 是一個開源工具,旨在讓開發者 輕鬆將任意程式碼庫轉成互動式 Wiki 文件。它自動克隆倉庫、分析程式碼結構、用 AI 為每個模組生成可讀文件,還能畫出架構圖,並讓使用者通過對話 (聊天介面) 提問程式碼庫的問題。

DeepWiki-Open 是什麼


deepwiki-open 是一個 開源(MIT 許可) 專案,由 AsyncFuncAI 開發。


它是一個 AI 驅動的 Wiki/文件生成系統,專門用於分析 GitHub、GitLab 或 Bitbucket 上的程式碼倉庫,將其轉換成結構化、互動式的 Wiki。

它支援通過嚮導把程式碼結構自動理解(通過 AI)、生成視覺化架構圖(使用 Mermaid)、建立完整文件,並提供 「問答 (Ask)」 功能,使用者可以像聊天一樣向 DeepWiki 提問,AI 基於檢索增強生成(RAG)來回答問題。

它還有 「DeepResearch」 模式:允許多輪深入提問,做較複雜或研究型的問題探索。

支援多種 LLM 提供商/模型:例如 Google Gemini、OpenAI、OpenRouter、Azure、甚至本地 Ollama 模型。

對私有倉庫也支援:可以通過個人訪問令牌 (PAT) 訪問私有 GitHub/GitLab 倉庫。


詳細描述 / 技術原理


1、架構


前端(Next.js):負責 UI、使用者互動 (輸入倉庫 URL, 瀏覽 Wiki, 問答) 。

後端 (FastAPI):處理倉庫克隆、文件生成、向量檢索 (embedding)、聊天介面 (問答) 等。

儲存 /快取:使用本地目錄 ~/.adalflow/ 來儲存克隆的倉庫、向量資料庫 (FAISS)、生成的 Wiki 快取 (JSON) 等。


2、資料處理


克隆倉庫 (支援 GitHub/GitLab/Bitbucket)。

分析程式碼結構:讀取檔案樹、 README、原始碼等 -> 構建語義塊 (document chunking)。

生成 embedding:使用多種嵌入模型 (OpenAI、Google、Ollama) 來把文件塊向量化。

索引檢索 (RAG):用 vector store (可能是 FAISS) + retriever,對使用者提問做上下文檢索。

文件生成:基於檢索到的上下文,利用 LLM 生成 「wiki 頁面」 內容。

視覺化:使用 Mermaid 生成架構圖 /流程圖,幫助理解程式碼結構。


3、問答 (Ask)


DeepWiki 提供一個聊天 (Ask) 介面,使用者可以問關於程式碼庫的問題。系統用檢索 + LLM 答覆。

DeepResearch 模式:支援多輪對話,每輪深入分析 (例如追問某個模組內部邏輯);後端通過 WebSocket 支援流式響應。

會話記憶 (conversation memory) + 上下文合併,以維持對話連貫性。


4、快取機制


Wiki 快取 (已生成的 wiki 頁面結構) 存在 ~/.adalflow/wikicache/

向量資料庫 (embeddings + 索引) 存放在 ~/.adalflow/databases/

倉庫克隆儲存在 ~/.adalflow/repos/

這樣設計可以顯著減少重複處理,提高效能。


5、AI 模型 / 提供商


支援多個 LLM 提供商:Google Gemini, OpenAI, OpenRouter, Azure, 本地 Ollama 等。

嵌入 (embeddings) 模型也支援多種型別 (OpenAI, Google, Ollama),通過配置檔案 api/config/embedder.json 定義。

模型引數 (temperature, top_p, custom model id 等) 可以通過 JSON 配置自定義。


6、安全 / 訪問控制


支援授權 (Auth Mode):可以開啟 DEEPWIKI_AUTH_MODE,配合 DEEPWIKI_AUTH_CODE 限制誰能生成 wiki。

私有倉庫訪問:通過個人訪問令牌 (PAT) 訪問私有 GitHub / GitLab。

日誌配置:可以通過環境變數設定日誌級別 (LOG_LEVEL) 和日誌檔案路徑 (LOG_FILE_PATH)。


7、擴充套件性


配置目錄 (api/config/) 可自定義模型、檢索、檔案過濾、倉庫規則 (repo.json) 等。

Docker Compose 支援標準模式、本地 Ollama 模式 (隱私優先) 等多種部署方式。

有社羣 Issue 提到希望支援將 Wiki 快取存到 S3 而非本地。


優點和適用場景


優點

自動化:大大減少手工寫文件的工作量。

結構化:生成的 wiki 頁面結構清晰,便於導航。

可讀性強:自動生成視覺化圖表 (Mermaid),幫助理解複雜程式碼結構。

互動性:可以對程式碼庫提問,獲得上下文感知的回答。

靈活性高:支援多模型、多提供商、本地模型、私有倉庫。

自託管:完全開源、支援本地部署,無需將程式碼傳送給第三方服務(如果使用本地 LLM)。


適用場景

團隊內部技術文件 /知識管理。

開源專案 /庫的自動文件生成。

大型程式碼庫新成員的快速入門 (onboarding)。

進行程式碼審查 /結構理解。

開發者希望構建自己的 「DevWiki」 系統。


風險/注意事項


API 成本:如果使用雲 LLM (例如 OpenAI, Google),生成文件和對話可能會產生較高費用。

資料隱私:如果倉庫是私有的,要確保訪問令牌安全,同時如果呼叫雲模型,要考慮程式碼內容是否傳送到 LLM 提供商。

版本同步:當程式碼庫更新後,需要重新索引 /生成 wiki。

資源消耗:Embedding 向量索引、處理大型倉庫可能消耗較多計算和儲存資源。

快取管理:需要妥善管理 ~/.adalflow/ 目錄,避免快取混亂或磁碟佔用過大。

模型相容性:如果切換嵌入模型 (例如從 OpenAI 換到本地 Ollama),可能需要重建 embeddings。

RAG (檢索增強生成)私有倉庫支援多模型支援AI / LLM文件生成工具自託管

項目評分

0.0 (0 評價)

分享

常見問題

DeepWiki: 開原始碼庫轉互動式Wiki工具 是什麼?

DeepWiki-Open 是一個開源工具,旨在讓開發者 輕鬆將任意程式碼庫轉成互動式 Wiki 文件。它自動克隆倉庫、分析程式碼結構、用 AI 為每個模組生成可讀文件,還能畫出架構圖,並讓使用者通過對話 (聊天介面) 提問程式碼庫的問題。

DeepWiki: 開原始碼庫轉互動式Wiki工具 用什麼語言開發?

DeepWiki: 開原始碼庫轉互動式Wiki工具 主要使用 Python、Docker、LLM API 開發。

DeepWiki: 開原始碼庫轉互動式Wiki工具 使用什麼開源授權?

DeepWiki: 開原始碼庫轉互動式Wiki工具 基於 MIT 授權開源。

相關專案

暫無結果

評論

評論

0
0/500 字元

暫無評論

成為第一個評論的人

開源專案

探索、學習和貢獻開源 AI 專案,推動人工智慧技術的發展

查看全部