grepai

grepai

Yoan Bernabeu · コーディング

grepaiはプライバシー重視のコマンドラインツールで、コードベースを正確なテキストではなく意味で検索する。ベクトル埋め込みでコードのローカルインデックスを構築するため、「user authentication flow」と入力すれば、それを処理する関数にたどり着く。名前が違っていても構わない。その過程で呼び出し元と呼び出し先を追跡し、ファイル監視でインデックスを最新に保ち、MCPサーバー経由でClaude CodeやCursorといったAIコーディングアシスタントに接続する。すべて自分のマシンで動く。どこにもアップロードしない。

grepai の画面プレビュー

grepai について

grepaiとは何か

grepaiはセマンティックなコード検索のためのオープンソースCLIで、開発者Yoan Bernabeuが作り、MITライセンスで公開されている。名前は1973年のオリジナルgrepへのオマージュだが、考え方は違う。古典的なgrepはテキストパターンに一致する。grepaiは関数やクラスをベクトルに変換し、意味に一致させる。だから「error handling」を検索すると、catchExceptionという関数が浮かび上がる。そんな名前を打とうとは思いつかないだろう。

このツールは2つの層に向けて作られた。1つ目は、大きなリポジトリでシンボル名を推測するのに疲れた開発者だ。2つ目はAIコーディングエージェントで、何かを理解する前にgrepとファイルの読み直しで大量のトークンを消費する。エージェントに生の検索出力ではなく関連コードの短いリストを渡すことで、grepaiはエージェントが必要とする入力トークンを削る。r/ClaudeAIのユーザーはまさにそう報告している。ある開発者は、Claude Codeの入力トークンが大きく減ったと語った。

最大の制約はセットアップだ。grepaiはコードをベクトルに変換する埋め込みプロバイダーを必要とする。つまりOllamaをインストールしてモデルを取得するか、クラウドプロバイダーのAPIキーを渡す必要がある。一度実行して忘れられるコマンドではない。低スペックのマシンでは、大きなリポジトリの初回インデックスにも時間がかかる。ターミナルで暮らす開発者には割のいい取引だ。それ以外の人には、たぶん望む以上の機構だ。

はじめかた

  1. OS向けのワンラインスクリプトでgrepaiをインストールする。macOSならHomebrewでもよい。WindowsではGitHubページからPowerShellコマンドを取得する。
  2. Ollama用の埋め込みモデルを取得する。通常はnomic-embed-textだ。ローカル埋め込みならコードは自分のマシンにとどまる。
  3. プロジェクト内でgrepai initを実行し、設定を作成してインデックスを用意する。
  4. grepai watchを起動すると、ファイル監視が編集中もインデックスを最新に保つ。
  5. grepai search "error handling"で平易な英語で検索するか、grepai trace callers "Login"で関係を追跡する。

AIツール情報

grepaiの料金、対応プラットフォーム、性能を簡単に確認できます。

無料プランはい
有料プラン$0
プラットフォームmacOS, Linux, Windows
開発元Yoan Bernabeu
カテゴリコーディング
リリース日Jan 2025
最終更新Sep 2025
サイト訪問数1.7K
サイト世界ランキング11.3M
API提供状況はい

こんな人におすすめ

このツールが最も力を発揮するユーザー、タスク、シーン。

ユーザー

  • 大規模または不慣れなコードベースの開発者。grepaiは意図でコードを見つけるので、関数の正確な名前を先に知らなくてよい。ローカルOllamaモデルと組み合わせるとプライバシーを保てる。
  • AIコーディングエージェントの利用者。Claude Code、Cursor、Windsurfを使っているなら、grepaiをMCPツールとして加えると、生の検索ノイズではなく関連スニペットをエージェントに渡せる。トークン消費が減る。
  • プライバシーを気にするチーム。ローカル構成はコードをどこにも送らないので、ソースコードをマシンから出せないプロジェクトに合う。埋め込みモデルは自分でインストールする必要がある。

タスク

  • 引き継いだコードベースの探索。名前ではなくシステムが何をするかを検索する。ファイルを1つずつ開くより速い。
  • 安全なリファクタリング。関数を変える前に呼び出し元と呼び出し先を追跡し、何が壊れるか把握する。
  • AIアシスタントへのコンテキスト供給。エージェントに必要なコードだけを取らせ、無駄なコンテキストウィンドウを減らす。

シーン

  • 新しいプロジェクトに入り、機能を素早く理解したい。当てずっぽうでgrepする代わりに、grepaiに平易な質問をする。
  • オフラインで作業する。ローカルモデルならネット接続なしでも検索が動く。飛行機やエアギャップのマシンで役立つ。
  • トークン費用が積み上がる長時間のコーディング。grepaiをエージェントと組ませると、1日の入力トークン代が下がる。

主な機能

自然言語によるセマンティック検索

grepaiはテキストパターンに一致させる代わりに、コードを埋め込みに変換して意味で検索する。「入力はどこで検証しているか」のように求めるものを記述すると、キーワードでは見つからないコードを返す。なぜ重要か。実際のコードベースは、こちらが期待するようには名前を付けないからだ。ripgrepより選ぶ核心的な理由であり、ずれた命名規則をまたいで機能する。

呼び出しグラフの追跡

grepai traceコマンドは、誰がある関数を呼び出し、その関数がさらに何を呼ぶかを示す。リファクタリング前に、変更の影響範囲が分かる。対応言語は長いリストに及ぶ。Go、TypeScript、JavaScript、Python、PHP、Java、C#、F#、C、C++、Rust、Zigだ。

100%ローカルでプライベート

ローカルコード検索ツールとして、grepaiをOllamaモデルに向けると、インデックス作成、埋め込み、検索がすべて自分のマシンにとどまる。クラウドなし。API呼び出しなし。コードがノートPCを出ない。機密ソースを持つチームにとって、AI支援検索へのいつもの反対意見が消える。

AIエージェント向けMCPサーバー

grepaiはコード用MCPサーバーに加え、JSON出力モードを備えるので、AIツールが直接呼び出せる。Claude Code、Cursor、Windsurf、Codex CLI、Gemini CLIが統合する。これでエージェントは生のgrep結果を延々と読む代わりに、絞り込んだコードコンテキストを取れる。長時間セッションで最もトークンを節約する機能だ。

リアルタイムのインデックス更新

ファイル監視が作業中もインデックスを最新に保つので、変更のたびに手で再インデックスしない。検索結果は最新の編集を反映する。素早く反復するときに重要だ。

単一バイナリで素早いセットアップ

grepaiは依存のない単一バイナリとしてインストールする。プロジェクト自身の数字では、1万ファイルを数秒でインデックスし、検索はミリ秒で返す。これが大きなリポジトリでも使える理由だ。

メリットとデメリット

メリット

  • 意味でコードを見つけるので、ずれた命名が障害にならない。
  • Ollamaで完全にローカルで動き、ソースコードをどのサーバーからも遠ざける。
  • MCP経由でClaude Code、Cursor、その他のエージェントと統合し、トークンを削減する。
  • MITで無料かつオープンソース。ワンラインインストールで単一バイナリ。

デメリット

  • 埋め込みプロバイダーが必要なので、セットアップはOllamaの導入かクラウドAPIキーの提供を意味する。
  • 大きなリポジトリの初回インデックスはそこそこのハードウェアでは時間がかかる。
  • 呼び出しグラフ追跡は言語対応に依存するので、対応していない言語もある。

よくある質問

コードを意味でインデックスし、自然言語で検索できるようにする。だから関数名を知らなくても関連する関数を見つけられる。呼び出し関係も追跡し、結果をAIコーディングエージェントに渡せる。