tgrep Vibe 项目
微软开源三元组索引代码搜索,比 ripgrep 最快 51.9 倍
项目简介
tgrep 是微软开源的三元组索引(trigram)代码搜索工具,采用客户端/服务器架构,在大型代码仓库本地执行极速正则搜索。它已被集成进 GitHub Copilot CLI,为 AI 编程智能体提供跨大仓库的快速 grep 能力,仓库还附带面向编码智能体的 AGENTS.md 与 MCP 搜索工具安装脚本。
核心功能
- 客户端/服务器架构:
tgrep serve .启动服务端并按需建索引,另一终端tgrep -- "fn main" .自动连接搜索,tgrep status .查看索引状态。 - 三元组索引加速:查询先用 trigram 把范围收敛到可能命中的文件,再并行用正则引擎逐个验证;无有效 trigram 时回退全索引扫描。
- 离线索引模式:
tgrep index .构建磁盘索引,搜索按"服务端→本地索引→文件系统"三级回退,--no-index强制读当前文件。 - 智能体集成:运行
bash install-agent.sh(Linux/macOS,Python 3.11+)可为 Codex 或 pi 安装 MCP 搜索工具与启动钩子。 - 索引策略可调:默认外部归并排序、64 MiB 缓冲,
--index-strategy=memory支持全内存构建;每次构建报告耗时与峰值内存。 - 兼容 ripgrep 忽略规则:支持 .gitignore、
--no-require-git、--max-filesize、--exclude等过滤项,服务端异步刷新,--watch-mode poll提供轮询回退。
技术实现
tgrep 的核心是一层三元组倒排索引。构建阶段把仓库文件切块、抽取 trigram 生成 posting 列表,默认用外部归并排序写盘(64 MiB 缓冲,写满即落盘分段再归并),把常驻内存在有界水平,--max-filesize 控制文件准入。查询阶段先用 trigram 与 posting 列表求交收敛候选,再由并行 worker 用正则引擎精确验证——官方 2026 年 8 月基准中,18 组"仓库×平台"组合有 17 组快于 ripgrep,加速比 0.93x 至 51.9x(口径为索引就绪后的搜索延迟,不含建索引时间)。服务端常驻后异步跟进文件系统变化,启动时做对账,索引落后时用 --no-index 保证读到最新内容。
快速上手
- 按仓库 Installation 章节安装 tgrep,准备一个大仓库目录;
- 执行
tgrep serve .启动服务端,首次运行自动建索引并前台常驻; - 另开终端执行
tgrep -- "pattern" .搜索,tgrep status .查看进度; - 不想常驻服务端就执行
tgrep index .建离线索引,之后自动走本地索引; - 给编码智能体接入:检出仓库后运行
bash install-agent.sh,按 scripts/agent/README.md 指南完成配置。
适用人群
被 grep 拖慢的大型仓库开发者、为编码智能体寻找快速检索工具的 Agent 开发者、需要为 AI 编程 CLI 补齐跨仓库搜索能力的平台团队,以及乐于对比 ripgrep 性能的命令行工具爱好者。
官方链接
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议