dmtrKovalenko/fff
The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS
解決的問題
fff 是一個高效率的檔案搜尋工具包,專為長時間執行的流程設計,比 ripgrep 和 fzf 等傳統 CLI 工具更快。它提供容錯拼字錯誤的路徑與內容搜尋、基於頻率的檔案存取排序(frecency),以及輕量級的記憶體內容索引,以降低檔案發現的延遲。
工作原理
fff 作為一個可整合至各種環境的函式庫運作。它使用背景監視器與記憶體索引,維持快速的搜尋狀態。主要功能包括:
- Frecency 記憶體:根據檔案被存取的頻率與最近性進行排序,並能從 git 歷史記錄中自動預熱。
- 智慧大小寫與模糊回退:執行不區分大小寫的搜尋,若未找到精確匹配,則自動回退至模糊比對。
- Git 整合:為檔案標註其 git 狀態(已修改、未追蹤、已暫存),幫助使用者或代理優先處理活躍變更。
- 定義優先提示:在 Rust 側對程式碼定義進行分類,避免在提示中產生正規表示式開銷。
適用對象
- AI 代理:提供 MCP(Model Context Protocol)伺服器與擴充功能(例如 Pi 代理用),讓 LLM 可以獲得更快、更節省 token 的檔案搜尋能力。
- 開發者:提供 Neovim 插件(
fff.nvim),支援在編輯器內快速導航檔案與內容 grep。 - 工具建構者:提供一個函式庫,供程式碼編輯器與 AI 框架使用,以實現精確、快速的檔案搜尋。
亮點
- MCP 伺服器支援:相容 Claude Code、Cursor 和 Cline,減少 grep 的往返次數與上下文浪費。
- 極快性能:由於記憶體索引,在重複搜尋情境中優於標準 CLI。
- 高階限制:支援使用通配符模式、git 狀態過濾器(如
git:modified)與排除項的複雜查詢。 - 多平台支援:支援 Linux、macOS 與 Windows。
相關
- 專案
- 專案
- 專案
- 專案
- 專案