kantord/SeaGOAT

local-first semantic code search engine

何を解決するか

SeaGOAT は、開発者がコードベースをキーワード検索に頼らず、意味的に検索できるようにするローカルコード検索エンジンです。ユーザーは正確な文字列一致ではなく、クエリの意味に基づいてコードスニペットを検索できます(例:「数値が丸められている場所はどこですか」)。

動作方法

このツールはローカルサーバー(seagoat-server)を介して動作し、リポジトリを処理してコードのベクトル埋め込みを作成します。ChromaDB をローカルのベクトルデータベースとして使用し、ローカルの埋め込みエンジンを用いることで、データのプライバシーを確保します。包括的な結果を提供するために、AIベースの意味検索結果と、ripgrep によって駆動される従来の正規表現およびキーワード検索を組み合わせています。

対象ユーザー

Python、C++、TypeScript、Go、Java など、さまざまなサポート言語のローカルコードベースに対して、高速でプライベート、意味的な検索体験を求める開発者。

特徴

  • ローカル最優先アーキテクチャ:ChatGPT などのサードパーティAPIに依存せず、すべての処理と埋め込みをローカルで処理。
  • ハイブリッド検索:ベクトルベースの意味検索と、ripgrep による正規表現およびキーワードマッチングを組み合わせ。
  • バックグラウンド処理:ファイルをバックグラウンドでインデックス化し、システムのパフォーマンスを低下させない。
  • Git統合:.gitignore ファイルを自動的に尊重。
  • 非常に柔軟なデプロイ:ローカルマシンで実行可能で、チームでのアクセス用にリモートサーバーに自己ホストも可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト