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

四、与现有工具的对比

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

五、适用场景

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

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

本文由mdnice多平台发布

相关推荐
学长毕设1 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
努力的小雨3 小时前
给 AI 眼镜开发应用有多难?我从零做了一个陪练,还上架了
后端
excel5 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端
AI入职记5 小时前
AI 代码审查召回率实测:20 个骗过单元测试的变异体,抓到 13 个
后端
浮链序5 小时前
别让 AI 客服把用户当猴耍:百来行 Python 把「转人工」做成一条高可用链路
后端
属于自己的天空6 小时前
Claude Code 插件完全指南:官方市场怎么用,怎么自己写(v2.1.269+)
后端
Tokenfree6 小时前
给大模型调用加一个熔断器:60 行代码,三个阈值
后端
Jason_chen6 小时前
Linux 进程调度器深入解析与实时性优化指南(基于 Linux 5.10+)
后端
136096757236 小时前
三个 Agent 干同一个活,职责边界到底该怎么划
后端
房西杭6 小时前
GM 指令:修改玩家属性
后端