项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-09-22 · 当前星标 ★ 11216
技术标签
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Linux、macOS 或 Windows 环境
- Neovim 插件使用需已安装 Neovim 并支持 Lua 配置
- 使用 Codex 集成需已安装 Codex CLI
- 部分安装方式需要网络可访问 GitHub 与 npm
安装与启动步骤
-
1一键安装 MCP 服务
Linux/macOS 官方一键脚本,会安装 fff-mcp 并打印对应客户端的接入说明。建议先阅读 install-mcp.sh 再执行。
curl -L https://dmtrkovalenko.dev/install-fff-mcp.sh | bash -
2Windows 一键安装
Windows 用户在 PowerShell 中执行官方脚本,安装完成后同样会输出接入指引。
irm https://raw.githubusercontent.com/dmtrKovalenko/fff/main/install-mcp.ps1 | iex -
3注册到 Codex
把已安装的二进制以绝对路径注册给 Codex,避免桌面会话未继承交互 shell 的 PATH。Homebrew 安装用此命令。
codex mcp add fff -- "$(brew --prefix)/bin/fff-mcp" -
4脚本安装后注册
若使用一键安装脚本,二进制默认位于 ~/.local/bin,用该绝对路径注册到 Codex。
codex mcp add fff -- "$HOME/.local/bin/fff-mcp" -
5安装 pi 绑定
如需在 pi 中使用 fff,可通过 npm 包 @ff-labs/pi-fff 安装。
pi install npm:@ff-labs/pi-fff -
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
上一篇:wmux
下一篇:EasyCLIProxyAPI
同类项目推荐
apify-sdk-python
开源
用 Python 写爬虫与自动化,一键上云并计费
Apify SDK for Python—The official library for building Apify Actors: serverless clo···
jev-social
开源
本地跑社媒调研,自动抓证据出结论
Open-source, local-first social media research agent for Instagram, TikTok, and Link···
website-to-gif
开源
把网页一键变成GIF,自动生成文档动图
GitHub Action to turn your website into a GIF :camera:
agentplane
开源
给AI编码代理装上安全阀,计划审批+变更可审计
️ Git-native workflow control for coding agents: approved plans, verification, and ···
IMAI.WORK-AI-Phone
开源
手机端 AI 营销自动化,自动获客、群发、矩阵发布,解放双手
手机版的openclaw,基于安卓手机端到端远控自动执行RPA命令,无障碍模式,比豆包AI手机更强···
ccg-workflow
开源
一个命令,让多个 AI 模型自动协作搞定复杂任务
多模型协作工作流引擎 — /ccg:go 一个命令,AI 自动分析意图、选择策略、编排 Codex + Ge···
OpAgent
开源
让 AI 像人一样点网页,自动完成多步操作
The OpAgent framework is used to automate web browser operations, achieving State-of···
pneumaticworkflow
开源
拖拽定义审批流,自动跑完入职与审批
Free and source-available Apache 2.0 licensed lightweight workflow automation tool.
HtmlTinkerX
开源
用 C# 或 PowerShell 一条命令解析、清洗、优化网页内容
HtmlTinkerX is a powerful async C# library for HTML, CSS, and JS processing, parsing···
