Repolode
dmtrKovalenko

dmtrKovalenko/fff

面向 Neovim、AI 智能体及 Rust、Node、Bun、Python、C 应用的快速文件与内容搜索工具包,支持容错搜索。

Star
11,153
Fork
468
未关闭 Issue
80
最近提交
17小时前

这是什么?

FFF 是一个文件搜索工具包,提供容错的路径与内容搜索、基于使用频率排序的文件访问、后台文件监听,以及轻量的内存内容索引。它面向需要反复搜索的长时间运行进程:常驻索引可以避免每次查询都重新启动 ripgrep、fzf 之类的命令行工具。

项目提供多种接入形式:用于 Neovim 的 fff.nvim 插件(包含文件和实时 grep 选择器)、供 Claude Code、Codex、OpenCode、Cursor 等客户端使用的 MCP 服务器、Pi 智能体扩展、名为 fff-search 的 Rust crate、带头文件的 C 库,以及面向 Node.js 和 Bun 的 TypeScript SDK。这些形式共享同一套核心搜索引擎。

搜索支持 glob 与正则模式、git 状态过滤(如 git:modified),并可优先展示代码声明所在的结果。

核心功能

  • 01对文件路径和文件内容都支持容错的模糊匹配。
  • 02基于使用频率与近期性排序,常用文件排名更靠前。
  • 03后台文件监听与内存内容索引,适合反复搜索。
  • 04支持 glob、正则和字面量搜索模式,可设置上下文行并分页。
  • 05支持按 git 状态过滤,如已修改、已暂存、未跟踪的文件。

适用场景

  • 通过 MCP 为 AI 编程智能体提供快速、准确的文件与代码搜索。
  • 用排序更好、速度更快的选择器替换 Neovim 中的文件和 grep 搜索。
  • 在 Node.js、Bun 或 Rust 应用中集成自定义文件搜索功能。

快速上手

  1. 1

    用 Homebrew 安装 fff-mcp 服务器(macOS/Linux)

    brew install dmtrKovalenko/fff/fff-mcp
  2. 2

    用绝对路径将已安装的二进制文件注册到 Codex

    codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp"
  3. 3

    或从 npm 安装 Pi agent 扩展

    pi install npm:@ff-labs/pi-fff

使用前须知

  • Neovim 插件的构建步骤会下载预编译二进制文件,或回退到使用 cargo 编译。
  • 已发布的基准测试结果由项目方在特定仓库和模型上自行测得。

标签

常见问题

fff 是什么?
面向 Neovim、AI 智能体及 Rust、Node、Bun、Python、C 应用的快速文件与内容搜索工具包,支持容错搜索。 FFF 是一个文件搜索工具包,提供容错的路径与内容搜索、基于使用频率排序的文件访问、后台文件监听,以及轻量的内存内容索引。它面向需要反复搜索的长时间运行进程:常驻索引可以避免每次查询都重新启动 ripgrep、fzf 之类的命令行工具。
fff 可以免费使用吗?用的什么许可证?
fff 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
fff 还在维护吗?
活跃维护中。fff 最近一次提交是在 2026年10月20日。
fff 适合用来做什么?
通过 MCP 为 AI 编程智能体提供快速、准确的文件与代码搜索。 用排序更好、速度更快的选择器替换 Neovim 中的文件和 grep 搜索。 在 Node.js、Bun 或 Rust 应用中集成自定义文件搜索功能。
fff 怎么安装和运行?
用 Homebrew 安装 fff-mcp 服务器(macOS/Linux): brew install dmtrKovalenko/fff/fff-mcp 用绝对路径将已安装的二进制文件注册到 Codex: codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp" 或从 npm 安装 Pi agent 扩展: pi install npm:@ff-labs/pi-fff
在哪里获取 fff?
源代码和安装说明在 GitHub 上:https://github.com/dmtrKovalenko/fff

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目