grepai
Yoan Bernabeu · 程式設計
grepai 是一款重視隱私的命令列工具,用意義而非精確文字來搜尋你的程式碼庫。它用向量嵌入建立程式碼的本機索引,所以你輸入「使用者驗證流程」,就會落到負責處理它的函式,即使那個函式叫別的名字。過程中它會追蹤呼叫者與被呼叫者,靠檔案監看器讓索引保持最新,並透過 MCP 伺服器接上 Claude Code、Cursor 等 AI 程式助手。一切都在你的機器上執行。不會上傳任何東西。

關於 grepai
grepai 是什麼
grepai 是一款開源的語意程式碼搜尋 CLI,由開發者 Yoan Bernabeu 打造,以 MIT 授權釋出。名稱是向 1973 年的原始 grep 致意,但理念不同。經典 grep 比對文字樣式。grepai 把你的函式與類別轉成向量並比對意義,所以搜尋「錯誤處理」可以撈出一個叫 catchException 的函式,你壓根想不到要打這個字。
這款工具為兩種人而生。第一種是厭倦在大型儲存庫裡猜符號名稱的開發者。第二種是 AI 程式代理,它們在真正理解任何東西之前,就為了 grep 和反覆讀檔燒掉大量 token。把一份簡短的相關程式碼清單交給代理,而不是原始的搜尋輸出,grepai 就能砍掉這些代理所需的輸入 token。r/ClaudeAI 上的使用者回報的正是這件事。有位開發者說,他的 Claude Code 輸入 token 大幅下降。
主要限制在於安裝設定。grepai 需要嵌入供應商把程式碼轉成向量,這意味著你要安裝 Ollama 並拉一個模型,或者交出一組雲端供應商的 API 金鑰。它不是執行一次就能忘掉的指令。在效能普通的機器上,大型儲存庫的首次索引也要花點時間。對活在終端機裡的開發者來說,這筆交易划算。對其他人來說,這套機械大概比他們想要的還多。
開始使用
- 用對應你系統的一行指令稿安裝 grepai,或在 macOS 上用 Homebrew。Windows 就從 GitHub 頁面取得 PowerShell 指令。
- 為 Ollama 拉一個嵌入模型,通常是
nomic-embed-text,因為本機嵌入能讓你的程式碼留在自己的機器上。 - 在專案內執行
grepai init,建立設定並架好索引。 - 啟動
grepai watch,讓檔案監看器在你編輯時讓索引保持最新。 - 用平實英文搜尋,例如
grepai search "error handling",或用grepai trace callers "Login"追蹤關係。
產品資訊
快速了解 grepai 的定價、支援平台與效能。
適合對象
這項工具最適合的使用者、任務與情境。
使用者
- 大型或陌生程式碼庫的開發者:grepai 依意圖找程式碼,所以你不必先知道函式的確切名稱。搭配本機 Ollama 模型最理想,可保持隱私。
- AI 程式代理使用者:如果你用 Claude Code、Cursor 或 Windsurf,把 grepai 加為 MCP 工具,就能給代理相關片段而非原始搜尋雜訊,進而減少 token 用量。
- 重視隱私的團隊:由於本機設定從不把程式碼送到任何地方,它適合原始碼不能離開機器的專案。你得自己安裝嵌入模型。
任務
- 探索繼承來的程式碼庫:搜尋一個系統做了什麼,而不是它叫什麼,這比一個檔一個檔打開還快。
- 安全重構:改動函式前先追蹤呼叫者與被呼叫者,就曉得什麼會壞掉。
- 為 AI 助手餵脈絡:讓代理只取它需要的程式碼,減少浪費的脈絡視窗。
情境
- 加入新專案、需要快速理解某項功能:直接問 grepai 一個平實問題,而不是憑猜測去 grep。
- 離線工作:用本機模型,沒有網路連線搜尋照樣運作,在飛機上或氣隙機器上很管用。
- 長時間寫程式、token 成本累積:把 grepai 搭上代理,一整天下來的輸入 token 帳單會降低。
主要功能
自然語言語意搜尋
grepai 不是比對文字樣式,而是把程式碼轉成嵌入並依意義搜尋。你描述想找的東西,例如「我們在哪裡驗證輸入」,它就回傳用關鍵字找不到的程式碼。那為什麼這很重要?因為真實程式碼庫從不照你預期的方式命名。這是它勝過 ripgrep 的核心理由,而且它能跨越不一致的命名慣例運作。
呼叫圖追蹤
grepai trace 指令會顯示誰呼叫某個函式,以及那個函式又呼叫了什麼。重構前,這能告訴你一次改動的影響範圍。它涵蓋一長串語言:Go、TypeScript、JavaScript、Python、PHP、Java、C#、F#、C、C++、Rust 和 Zig。
100% 本機且私密
作為本機程式碼搜尋工具,當你把 grepai 指向 Ollama 模型時,索引、嵌入和搜尋都留在你的機器上。沒有雲端。沒有 API 呼叫。程式碼不會離開你的筆電。對擁有敏感原始碼的團隊來說,這排除了向來對 AI 輔助搜尋的疑慮。
給 AI 代理的 MCP 伺服器
grepai 內建程式碼用 MCP 伺服器,外加 JSON 輸出模式,所以 AI 工具能直接呼叫它。Claude Code、Cursor、Windsurf、Codex CLI 和 Gemini CLI 都能整合。這讓代理取得聚焦的程式碼脈絡,而不是翻閱原始 grep 結果,也是長時間工作階段裡最省 token 的功能。
即時索引更新
檔案監看器在你工作時讓索引保持最新,所以每次改動後你不必手動重新索引。搜尋結果反映你最新的編輯,這在你快速迭代時很重要。
單一二進位檔、安裝快速
grepai 以單一二進位檔安裝,沒有相依項目。依專案自家的數字,它能在幾秒內索引 1 萬個檔案,並在毫秒內回傳搜尋。這讓它在大型儲存庫上依然好用。
優缺點
優點
- 依意義找程式碼,命名不一致不再是阻礙。
- 搭配 Ollama 完全在本機執行,讓原始碼遠離任何伺服器。
- 透過 MCP 整合 Claude Code、Cursor 等代理,減少 token 用量。
- 以 MIT 授權免費開源,一行指令安裝、單一二進位檔。
缺點
- 需要嵌入供應商,所以安裝意味著要裝 Ollama 或提供雲端 API 金鑰。
- 大型儲存庫的首次索引在普通硬體上要花點時間。
- 呼叫圖追蹤取決於語言支援,有些語言沒涵蓋。
常見問題
它依意義索引你的程式碼,讓你用自然語言搜尋,所以即使不知道函式名稱也能找到相關函式。它也會追蹤呼叫關係,並能把結果餵給 AI 程式代理。
相關內容
探索與 grepai 相關的工具、技能與文章。
grepai 替代方案
Forefront
Forefront · 程式設計Forefront 是一個用來打造開源 AI 的網頁平台。你可以用自己的資料微調主流的開源語言模型、評估它們的表現,再透過 API 執行,或匯出後自行架設。想要封閉式平台的便利、卻堅持要自己擁有模型與資料的開發者,就是這裡的目標客群。
Startkit
StartKit.AI · 程式設計Startkit 是一套用來打造 AI SaaS 與 AI 包裝產品的樣板。可以把它想成一個 AI 新創樣板,把枯燥的部分都先接好了:驗證、Stripe 與 Lemon Squeezy 付款、用量限制、交易型電子郵件,以及一套能與 OpenAI、Anthropic、Groq 或 Llama 溝通的 AI API 啟動套件。你複製儲存庫、設定價格,然後專心在產品中使用者真正願意付費的部分。它建構於 React 與 Tailwind 之上的 Next.js,所以大部分的樣板程式碼對你來說並不陌生。
Testim
Tricentis · 程式設計Testim 是專為網頁、行動與 Salesforce 應用程式打造的 AI 測試自動化平台,用來建立並執行端到端測試。它靠機器學習在介面變動時維持測試穩定,團隊因此少花時間修補壞掉的定位器。對於一款今天就能開始使用的自動化測試工具來說,這表現不算差。你透過在瀏覽器錄製動作來建立測試,需要更多控制時再補上 JavaScript。對忙碌的 QA 團隊來說,這是個可靠的選擇。
