kantord/SeaGOAT

local-first semantic code search engine

解決的問題

SeaGOAT 是一個本地程式碼搜尋引擎,讓開發者能以語意方式搜尋程式碼庫,而非僅依賴關鍵字搜尋。它讓使用者能根據查詢的意義(例如「數字在哪裡被四捨五入」)來尋找程式碼片段,而非僅靠精確的字串比對。

運作方式

此工具透過本地伺服器(seagoat-server)運作,處理程式碼庫並建立程式碼的向量嵌入。它使用 ChromaDB 作為本地向量資料庫,並搭配本地嵌入引擎,確保資料隱私。為提供全面的結果,它結合 AI 驅動的語意匹配與由 ripgrep 提供的傳統正規表示式與關鍵字搜尋。

適用對象

希望在 Python、C++、TypeScript、Go 和 Java 等多種支援語言的本地程式碼庫中,獲得快速、私密且語意化搜尋體驗的開發者。

主要特色

  • 本地優先架構:所有處理與嵌入皆在本地完成,不依賴 ChatGPT 等第三方 API。
  • 混合搜尋:結合向量基礎的語意搜尋與 ripgrep 提供的正規表示式與關鍵字比對。
  • 後台處理:在背景中索引檔案,避免拖慢系統。
  • Git 整合:自動尊重 .gitignore 檔案。
  • 靈活部署:可於本機運行,亦可自架於遠端伺服器,供團隊存取。

相關

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