DeepWiki-Open 是一套開源的工具,與 線上 deepwiki 功能類似,是一個旨在為 GitHub、GitLab 或 BitBucket 倉庫自動生成交互式 Wiki 的工具。它通過分析代碼結構,生成全面的文檔,並創建視覺化的圖表來解釋代碼的運作原理,從而幫助開發者快速瞭解項目。
先提供連結:
GitHub – AsyncFuncAI/deepwiki-open: Open Source DeepWiki: AI-Powered Wiki Generator for …
github.comOpen Source DeepWiki: AI-Powered Wiki Generator for GitHub/Gitlab/Bitbucket Repositories. Join the discord: https://discord.gg/gMwThUMeme – AsyncFuncAI/deepwiki-open
優點:
- 可執行已下載到本地的 repo(記得機敏資料要移除或設定排除)
- 也可以透過授權,分析私有的 git repo
- 可匯出 README, JSON 檔案作 RAG 或是餵給其他 AI 用途
- 可使用本地模型(Ollama),也可以選擇線上付費的模型 API
- 功能與線上版很多類似,包含可以詢問 AI 等
- 有提供簡體中文
- 可以在遠端伺服器上部屬成網站
缺點:
- 執行比較複雜
- 套用本地模型還是不太好用
- 比較同一個 repo 線上版的資訊會比較多,可能是模型的關係?
因為自己不愛用 docker 部屬,筆記一下要注意的事情有:
- 啟動要分別執行前端和後端的程式。
- .env 的 API_KEY 可輸入本地的 LLM 。不推薦,速度和穩定度差太多了。
- 如果要部屬本地LLM, Ollama 要記得先 run 起來。
筆記一下操作方式:
- 把 git repo clone 下來
- 添加 .env 檔案,參考 README 上說明添加 API_KEY
- 安裝後端 python 程式並且啟動後端
- 安裝前端 node modal 並且啟動前端畫面
- 畫面提示網址,開啟執行。
- 執行本地的程式碼,資料夾末端記得把 / 符號拿掉,並且注意資料夾名稱是否重複。
- 主要是因為快取判斷 key 為 owner 和 repo 兩個參數,本地的 owner 固定為 local,repo 為最後一個資料夾名稱
- 例如:
/Users/xx/Downloads/xx-website/ooo 最後判斷會以 ooo 作為該 repo 名稱,如果名稱相同將會用一樣 repo 的資料作快取 - 這可以利用,但通常會造成困擾。請特別注意
下載指令
git clone https://github.com/AsyncFuncAI/deepwiki-open.git
python 指令
# Install Python dependencies
pip install -r api/requirements.txt
# Start the API server
python -m api.main
前端指令
# Install JavaScript dependencies
npm install
# or
yarn install
# Start the web app
npm run dev
# or
yarn dev