FFF:面向人类与 AI 代理的极速文件搜索工具包
项目地址 :https://github.com/dmtrKovalenko/fff 许可证 :MIT 技术栈:Rust · TypeScript · MCP · Neovim Lua
一、项目定位
FFF(Fast File Finder)是一个为人类和 AI 代理设计的文件搜索工具包,核心卖点只有一个字:快。它提供防拼写错误的路径与内容搜索、基于 frecency 排名的文件访问、后台监视器以及轻量级内存内容索引。在任何需要多次搜索的长运行进程中,FFF 比 ripgrep 和 fzf 等 CLI 工具快得多。
项目最初是广受欢迎的 Neovim 插件,后因大量 AI 编码工具和代码编辑器都需要相同能力------精准、快速的文件搜索库------而扩展为独立工具包。目前支持 MCP Server、Pi Agent Extension 和 Neovim 插件三种接入方式。
二、核心能力
2.1 Frecency 记忆排序
FFF 引入 frecency(frequency + recency)算法记忆用户实际打开的文件,使其在后续搜索中排名更高。首次使用时自动从 git touch history 预热排名,无需手动配置。这意味着你越常用的文件,越容易被找到。
2.2 定义优先提示
在 Rust 侧对看起来像代码定义的行进行分类标注,零正则开销。代理能快速定位函数、类和变量的定义位置,而非淹没在无关行中。
2.3 智能大小写与自动模糊回退
搜索 IsOffTheRecord 可自动匹配 snake_case 变体如 is_off_the_record;精确匹配零结果时自动以模糊模式重试,返回最佳近似命中。这一机制显著减少了"搜不到就放弃"的失败率。
2.4 Git 感知标注
已修改、未跟踪和已暂存的文件被自动标注,代理优先触达用户正在活跃修改的文件,避免在过时代码上浪费时间。
三、三种接入方式
| 方式 | 目标用户 | 核心价值 |
|---|---|---|
| MCP Server | Claude Code / Codex / Cursor / Cline 等任何 MCP 客户端 | 减少 grep 往返、节省 Token、加速响应 |
| Pi Extension | Pi Agent 用户 | 替换原生搜索工具,注入 frecency 排名的 @ 提及自动补全 |
| Neovim Plugin | Neovim 用户 | 在 10 万文件、8GB 的 Linux 内核仓库中实现毫秒级搜索 |
MCP Server 一行安装:curl -L https://dmtrkovalenko.dev/install-fff-mcp.sh | bash。安装后代理自动获得 ffgrep、fffind、fff-multi-grep 三个工具。
四、与现有工具的对比
FFF 的差异化不在于替代 ripgrep 或 fzf,而在于为长运行进程优化。传统 CLI 每次搜索都冷启动扫描文件系统,FFF 通过常驻内存索引 + 后台监视器 + frecency 缓存,在第二次及后续搜索中实现数量级的速度提升。对 AI 代理而言,这意味着更少的 Token 消耗(精准结果不需要大量上下文)和更快的响应周期。
五、适用场景
- AI 代理频繁执行文件搜索和内容检索的工作流
- 大型代码库(10 万+ 文件)的日常开发导航
- 需要跨编辑器和代理工具统一搜索体验的团队
本文基于 dmtrKovalenko/fff 项目开源文档撰写,信息获取时间:2026 年 5 月 7 日。
本文由mdnice多平台发布