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。
相关
- 项目
- 项目
- 项目
- 项目
- 项目