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。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案