kantord/SeaGOAT
local-first semantic code search engine
何を解決するか
SeaGOAT は、開発者がコードベースをキーワード検索に頼らず、意味的に検索できるようにするローカルコード検索エンジンです。ユーザーは正確な文字列一致ではなく、クエリの意味に基づいてコードスニペットを検索できます(例:「数値が丸められている場所はどこですか」)。
動作方法
このツールはローカルサーバー(seagoat-server)を介して動作し、リポジトリを処理してコードのベクトル埋め込みを作成します。ChromaDB をローカルのベクトルデータベースとして使用し、ローカルの埋め込みエンジンを用いることで、データのプライバシーを確保します。包括的な結果を提供するために、AIベースの意味検索結果と、ripgrep によって駆動される従来の正規表現およびキーワード検索を組み合わせています。
対象ユーザー
Python、C++、TypeScript、Go、Java など、さまざまなサポート言語のローカルコードベースに対して、高速でプライベート、意味的な検索体験を求める開発者。
特徴
- ローカル最優先アーキテクチャ:ChatGPT などのサードパーティAPIに依存せず、すべての処理と埋め込みをローカルで処理。
- ハイブリッド検索:ベクトルベースの意味検索と、ripgrep による正規表現およびキーワードマッチングを組み合わせ。
- バックグラウンド処理:ファイルをバックグラウンドでインデックス化し、システムのパフォーマンスを低下させない。
- Git統合:
.gitignoreファイルを自動的に尊重。 - 非常に柔軟なデプロイ:ローカルマシンで実行可能で、チームでのアクセス用にリモートサーバーに自己ホストも可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト