fff

Rust 核心文件搜索 SDK,让 AI 与编辑器秒级找文件

fff 是一个用 Rust 编写的高性能文件搜索 SDK,主打“最快且最准确”,面向 AI 智能体、Neovim、C、Python、Bun 和 Node.js 等场景提供统一的文件查找能力。它解决的是传统文件搜索工具在跨语言集成、模糊匹配精度与速度之间难以兼顾的问题:fzf 偏交互、grep 偏内容、系统 find 偏慢且接口不统一。fff 将搜索逻辑下沉到 Rust 核心,通过多语言绑定暴露简洁 API,让 AI agent 能快速定位工作区文件,让 Neovim 插件获得低延迟补全体验,也让脚本语言无需重复造轮子。核心能力包括快速遍历目录、模糊匹配与过滤、可嵌入的 SDK 设计,以及覆盖 Lua、Python、Node、Bun、C 的绑定。项目已获上万星标,属于该领域知名项目,适合需要把文件搜索作为基础设施嵌入到自身工具链中的开发者。

开源 unknown 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 10799
维护状态 活跃
是否开源
定价模式 unknown

项目数据

分类自动化工作流
开发团队dmtrKovalenko
所属国家
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源
开源协议MIT
主要语言Rust
技术栈/模型bun,fff,filesearch,fzf,grep,lua,neovim,neovim-plugin,nodejs,python,rust
GitHub 星标★ 10799
30天Star增速
HF 下载量
上线时间2025-07-31 00:00:00
最近更新2026-09-21 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-22
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 6 步

环境要求

  • Linux、macOS 或 Windows 环境
  • Neovim 插件使用需已安装 Neovim 并支持 Lua 配置
  • 使用 Codex 集成需已安装 Codex CLI
  • 部分安装方式需要网络可访问 GitHub 与 npm

安装与启动步骤

  1. 1一键安装 MCP 服务

    Linux/macOS 官方一键脚本,会安装 fff-mcp 并打印对应客户端的接入说明。建议先阅读 install-mcp.sh 再执行。

    curl -L https://dmtrkovalenko.dev/install-fff-mcp.sh | bash
  2. 2Windows 一键安装

    Windows 用户在 PowerShell 中执行官方脚本,安装完成后同样会输出接入指引。

    irm https://raw.githubusercontent.com/dmtrKovalenko/fff/main/install-mcp.ps1 | iex
  3. 3注册到 Codex

    把已安装的二进制以绝对路径注册给 Codex,避免桌面会话未继承交互 shell 的 PATH。Homebrew 安装用此命令。

    codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp"
  4. 4脚本安装后注册

    若使用一键安装脚本,二进制默认位于 ~/.local/bin,用该绝对路径注册到 Codex。

    codex mcp add fff -- "$HOME/.local/bin/fff-mcp"
  5. 5安装 pi 绑定

    如需在 pi 中使用 fff,可通过 npm 包 @ff-labs/pi-fff 安装。

    pi install npm:@ff-labs/pi-fff
  6. 6配置 Neovim 插件

    在 Neovim 配置中调用 require('fff').setup() 并覆盖需要的选项,默认值已较合理,通常只需改少量项。

    require('fff').setup({
      base_path = vim.fn.getcwd(),
      max_results = 100,
      max_threads = 4,
      lazy_sync = true,
    })

关键配置

配置项必填说明示例
base_path搜索的基准目录,默认当前工作目录vim.fn.getcwd()
max_results返回结果的最大数量100
max_threads搜索使用的最大线程数4
lazy_sync是否开启惰性同步true
follow_symlinks是否跟随符号链接进行索引false
enable_home_dir_scanning是否允许扫描用户 HOME 目录,默认开启true

如何确认成功

重启 Codex 或新建任务后,让 agent“use fff”,若能看到 ffgrep、fffind、fff-multi-grep 工具即接入成功。

常见问题

Q:为什么 Codex 找不到 fff-mcp?

A:Codex 桌面会话可能不继承交互 shell 的 PATH,注册时请使用绝对路径,例如 $(brew --prefix)/bin/fff-mcp 或 $HOME/.local/bin/fff-mcp。

Q:注册后需要重启吗?

A:需要。修改 ~/.codex/config.toml 后应重启 Codex 或开始新任务,让它重新加载 MCP 服务。

Q:安装脚本安全吗?

A:可以先把 install-mcp.sh 或 install-mcp.ps1 下载下来阅读,脚本会打印适合你客户端的接入方式。

Q:fff 和 fzf、ripgrep 有什么区别?

A:fff 面向长期运行进程中的库化搜索,支持容错路径与内容搜索、频次排序、后台监听和内存内容索引,重复搜索时更快。

注意事项

  • README 未给出从源码构建 Rust 核心的命令,本教程只整理其提供的安装脚本与集成方式
  • MCP 接入后可直接让 agent 使用 fff 提供的搜索工具
  • Neovim 插件默认允许扫描 HOME 目录,可按需关闭

核心亮点

  • Rust 实现核心搜索,性能与内存控制优于脚本层方案
  • 提供 Neovim、Python、Node、Bun、C 多语言绑定,集成成本低
  • 定位为 SDK 而非终端工具,方便嵌入 AI agent 与编辑器插件

不足之处

  • 多语言绑定维护成本高,各绑定版本与 API 一致性需持续跟进
  • 作为较新项目,长期稳定性与边界场景文档仍待社区检验

适用场景

  • AI 编程助手在工作区内快速检索相关文件
  • Neovim 插件实现低延迟模糊文件跳转
  • Node/Python 脚本批量定位与过滤项目文件

替代项目

fzf、ripgrep、fd

项目介绍

fff 是自动化工作流领域的开源项目,由 dmtrKovalenko 开发,2025 年首次发布。

在全站 12,909 个收录项目中,它的 GitHub 星标数(10,799)位列前 5%,在自动化工作流分类的 499 个项目里位列前 10%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-21。

它主要面向的使用场景是:AI编程助手在工作区内快速检索相关文件。同类可对比的替代方案包括 fzf、ripgrep、fd。

上一篇:wmux

下一篇:EasyCLIProxyAPI

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 205363 2026-08-10
feishu-docx 开源

让 AI 代理轻松读写飞书文档,双向转换 Markdown

Feishu/Lark Docs、Sheet、Bitable <-> Markdown | AI Agent-friendly knowledge base exp···

★ 261 2026-08-09
robotcode 开源

让 Robot Framework 拥有现代 IDE 体验,调试、补全、运行一气呵成。

Open Source Toolkit for Robot Framework, providing Language Server Protocol support,···

★ 300 2026-08-10
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95591 2026-08-10