FFF:面向人类与 AI 代理的极速文件搜索工具包

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。安装后代理自动获得 ffgrepfffindfff-multi-grep 三个工具。

四、与现有工具的对比

FFF 的差异化不在于替代 ripgrep 或 fzf,而在于为长运行进程优化。传统 CLI 每次搜索都冷启动扫描文件系统,FFF 通过常驻内存索引 + 后台监视器 + frecency 缓存,在第二次及后续搜索中实现数量级的速度提升。对 AI 代理而言,这意味着更少的 Token 消耗(精准结果不需要大量上下文)和更快的响应周期。

五、适用场景

  • AI 代理频繁执行文件搜索和内容检索的工作流
  • 大型代码库(10 万+ 文件)的日常开发导航
  • 需要跨编辑器和代理工具统一搜索体验的团队

本文基于 dmtrKovalenko/fff 项目开源文档撰写,信息获取时间:2026 年 5 月 7 日。

本文由mdnice多平台发布

相关推荐
考虑考虑1 小时前
docker compose V2版本新属性
运维·后端·自动化运维
GreenTea4 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
Flynt4 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet4 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
GreenTea4 小时前
OpenAI Agents API 上手实测:一次调用把整个 agent loop 甩给 OpenAI
前端·后端·算法
Bs_MoneyMagnet7 小时前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
IT_陈寒7 小时前
Vue的响应式更新把我坑惨了,原来问题出在这
前端·人工智能·后端
陌シ未央ゞ8 小时前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法
第五页的你8 小时前
SpringBoot基础设施配置(Redis序列化,JJWT新版)
后端
吃饱了得干活8 小时前
RabbitMQ 原理解析(下):存储、集群与可靠投递
后端·rabbitmq