← 工具

fff

为 AI Agent 设计的极速文件搜索工具,比 ripgrep 和 fzf 在长会话中快很多。提供 MCP server、CLI、库三种形态,支持模糊匹配、frecency 排序、git 状态标记,Stars 8K+

#69
推荐排名
8,324
GitHub Stars
5,827
推荐得分
AI 文件搜索 / 代码索引
适用场景
开发工具终端AI AgentRust开发效率

为什么需要

AI Agent 在大型代码库里反复调 grep 和 find,每次都重新遍历整个目录——token 烧得飞快、回复延迟肉眼可见。fff 是 dmtrKovalenko 专门为这种场景写的文件搜索工具:frecency 排序(最近最常访问的优先)、git 状态感知、定义优先提示、智能大小写,所有优化都为了「Agent 问一次就给精确答案」。

最初的形态是 Neovim 插件,后来发现 Claude Code、Cursor、Codex 这些 Agent 都需要同样的能力——准确、快速的文件搜索作为库和 MCP server。所以重构成了现在这版。

已经在 opencode、nushell 等项目里作为默认文件搜索。fff-mcp 提供三个工具:ffgrepfffindfff-multi-grep,在 Claude Code 里加一行配置就能用。

怎么用

MCP server 模式(最常用):

bash
# Linux / macOS 一行安装
curl -L https://dmtrkovalenko.dev/install-fff-mcp.sh | bash

# macOS 也可 Homebrew
brew install dmtrKovalenko/fff/fff-mcp

安装脚本会自动把 fff-mcp 加到 Claude Code / Cursor / Cline 的 MCP 配置里。之后 Agent 收到「找一下支付模块的所有文件」这类请求,会自动用 fff 而不是反复跑 grep。

CLI 直接用:

bash
fff "src/**/*.ts"
fff --content "TODO"
fff --recent

注意事项

  • Apache 2.0 开源
  • Rust 实现,内存索引常驻;首次启动会基于 git log 做 warm-up
  • 长会话中比 ripgrep 快很多,单次冷启动差别不大
  • 支持 Linux、macOS、Windows
  • 不需要任何外部服务,本地运行
  • 大型 monorepo 里 frecency 学习需要几次交互才有效用
  • 与 fzf 不冲突:fzf 是交互式选择器,fff 是后台索引+搜索引擎