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多平台发布

相关推荐
Java面试题总结1 小时前
spring重点详解
java·后端·spring
北冥有羽Victoria2 小时前
Django中间件实战:FBV/CBV日志全兼容
数据库·vscode·后端·python·django·sqlite·开源
Kiyra2 小时前
异步任务不用 Kafka 也行:用 Redis Stream 搭一套轻量级 Producer/Consumer 框架
数据库·人工智能·redis·分布式·后端·缓存·kafka
进阶的猿猴2 小时前
Rsa简单实现接口到期限制(springBoot)
java·spring boot·后端
Java编程爱好者2 小时前
MySQL / PostgreSQL DDL 审核自动化:从人工 review 到 CI 拦截
后端
SamDeepThinking2 小时前
千万级用户购物车系统的架构设计
java·后端·架构
明月_清风2 小时前
Makefile 完全指南:从入门到 CMake 工程化实践
后端·cmake
十年编程老舅2 小时前
深度长文|Linux 图形与显示架构
linux·运维·后端·架构·内核·linux内核·通信机制
平凡但不平庸的码农2 小时前
Go GMP 调度模型详解
开发语言·后端·golang