abhigyanpatwari/GitNexus
GitNexus: The Zero-Server Code Intelligence Engine
GitNexus – 企業代碼庫的知識圖譜引擎
是什麼 – GitNexus 是一個 Node.js 工具,可將倉儲(或一組倉儲)索引為一個 知識圖譜,描述依賴關係、呼叫鏈、群集、執行流程及其他結構化關係。此圖譜儲存在原生 LadybugDB 引擎中(或瀏覽器用的 WebAssembly 版本),並透過一組 MCP(模型中心程式設計)工具 暴露給 AI 驅動的程式碼助手(如 Claude Code、Cursor、Codex、Antigravity 等)呼叫。簡而言之,它為基於 LLM 的代理提供預先計算的架構視圖,使其不再需要在產生修改時「猜測」遺失的符號。
核心元件
| 元件 | 功能 |
|---|---|
CLI(gitnexus) |
analyze 使用原生 tree-sitter 語法解析倉儲,建構圖譜,安裝 MCP 工具,並產生上下文檔案(AGENTS.md、CLAUDE.md)。setup 寫入全域 MCP 設定,使支援的編輯器能自動發現這些工具。 |
| MCP 工具(19 個內建) | list_repos、query、impact、trace、detect_changes、rename、cypher 等查詢——全部基於預先計算的圖譜運作,返回可直接使用的結果給 LLM。 |
Web UI(gitnexus.vercel.app) |
基於瀏覽器的圖譜探索器與聊天介面,與本地或 Render 托管的伺服器通訊。快速示範無需安裝。 |
伺服器(gitnexus serve) |
執行 LadybugDB 儲存與 HTTP API(/api/*)。UI 透過代理連接;CLI 也可與遠端伺服器通訊(橋接模式)。 |
| 代理技能 | 自動產生的技能套件,放置於 .claude/skills/ 或 .agents/skills/ 下,使 Claude Code、Codex 等代理可直接呼叫 MCP 工具。 |
快速開始(本地)
# 在要索引的倉儲根目錄下
npx gitnexus analyze # 建構圖譜,安裝工具
npx gitnexus setup # 為編輯器寫入 MCP 設定
之後,任何支援的 AI 編輯器都可在其聊天/命令面板中使用 gitnexus impact 或 gitnexus trace 等新指令。
部署選項
| 目標 | 工作方式 | 成本(範例) |
|---|---|---|
| Render | 兩個服務:gitnexus-server(私有,儲存索引)與 gitnexus-web(公開 UI)。UI 透過密鑰令牌將 /api/* 轉發至伺服器。 |
標準伺服器 + 啟動版 Web 實例 + 10 GB 磁碟,約 $35/月。 |
| RepoCloud | 一鍵部署按鈕(類似 Render)。 | |
| 僅本地 | 全域安裝(npm i -g gitnexus)並自行執行 gitnexus serve;UI 可透過 http://localhost:… 連接。 |
為何知識圖譜很重要
- 可靠性 – 圖譜已知哪些函數呼叫哪些函數,哪些 API 被使用,哪些模組相互依賴。LLM 可透過一次工具呼叫獲得 完整 回答,無需發出一連串查詢。
- 令牌效率 – 無需將數十個原始圖邊傳送給模型;工具返回簡潔、帶置信度評分的摘要。
- 模型無關 – 即使較小的 LLM 也能受益,因為依賴分析、聚類、PDG 建構等繁重工作在索引期間離線完成。
典型使用情境
| 情境 | GitNexus 如何協助 |
|---|---|
| 變更前的影響分析 | detect_impact 或 detect_changes 回傳影響範圍、受影響流程與置信度評分,防止意外破壞。 |
| 大規模代碼庫重構 | rename 使用圖譜執行協調的多檔案重命名,trace 顯示符號間的最短呼叫路徑。 |
| 理解不熟悉的程式碼 | explore 類工具(list_repos、context、cluster)提供高階地圖;Web UI 可視化群集與執行流程。 |
| 自動化 PR 審查 | review 技能執行圖譜支援的審計(污點分析、形狀檢查),並揭露遺漏的合約或不安全的資料流。 |
| 產生架構文件 | generate_map 產生 Mermaid 圖表,直接從圖譜中捕捉元件關係。 |
限制與注意事項(如文件所述)
- 安裝問題 – npm 11 可能崩潰;README 建議使用
pnpm或全域安裝以確保可靠性。 - 可選原生語法 – Dart、Proto、Swift、Kotlin 的 tree-sitter 綁定已內建。跳過它們(
GITNEXUS_SKIP_OPTIONAL_GRAMMARS=1)可加快安裝,但這些語言將不會被解析。 - 本地嵌入為可選 – 語意搜尋需額外執行
gitnexus embeddings install;否則僅支援 BM25。 - 記憶體限制索引 – 大型倉儲可能超過 Render
standard計畫的預設 2GB 記憶體;必須升級計畫或增加磁碟大小以克隆。 - 託管部署的安全模型 – 存取僅由承載令牌(
GITNEXUS_SERVE_AUTH_TOKEN)控制。擁有令牌者可讀取所有索引倉儲。 - 瀏覽器 UI 大小限制 – 瀏覽器內 WASM 版本僅支援約 5k 檔案;更大倉儲需使用伺服器支援模式。
授權
本專案採用 PolyForm Non-commercial 1.0.0 授權,表示可用於非商業用途,但商業用途需另行取得商業授權。
總結
GitNexus 是一個真正的開源 AI 導向工具,將代碼庫轉化為豐富、可查詢的知識圖譜,並直接將該圖譜整合至現代 LLM 驅動的程式碼助手工作流程中。它特別適用於大型企業單體倉儲,其中遺失依賴是常見錯誤來源,同時提供日常開發用 CLI 與快速探索用託管/Web UI。
相關
- 專案
- 專案
- 專案
- 專案
- 專案