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。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目