最近逛GitHub,发现yamadashy/repomix星涨得飞快,短短几天就破了3k。这工具挺有意思:它能把你本地整个代码库,按照文件结构打包成一个压缩过的文本文件,直接复制粘贴就能喂给大模型。

我平时看别人开源项目,经常要给大模型解释"这项目结构大概是咋样,帮我看看这段逻辑",手工拷贝太麻烦。那Repomix能不能解决这个痛点?我实际用了一天,说说感受。

工具怎么用?

安装非常简单,npm一条命令:

npm install -g repomix

进入项目目录直接运行:

repomix

就这么简单。它会自动忽略 .gitignore 里的文件,自动帮你压缩掉不必要的空行,最后输出一个 repomix-output.txt

输出结果长这样:

================
Repository Structure
================
/
  .github/
    workflows/
      ci.yml
  src/
    index.js
    utils.js
  package.json
  README.md

================
Repository Files
================

============
File: src/index.js
===========
[内容在这里]

大模型一眼就能看明白整个项目结构,不用你费劲解释。

实际体验怎么样?

我拿几个不同大小的项目试了试:

小型项目(几百行)

完全没问题,输出几十KB,直接扔给GPT-4o一点压力没有。确实比我自己一个个粘文件快多了。

中型项目(几千行)

输出大概几百KB,GPT-4o能处理,Claude 3 Opus更没问题。唯一要注意的是token消耗——整个项目代码进去,小一百块钱没了,心疼。

大型项目(几万行以上)

别想了,输出几MB,token直接爆,大模型接不住。这本来也不是Repomix的问题,就是当前大模型上下文窗口限制摆在这。

它解决了什么痛点?

之前我要让大模型分析一个陌生开源项目,通常得这么干:

  1. 先看目录结构,手工列出来告诉AI
  2. 找到几个核心文件,一个个复制粘贴
  3. 粘错了顺序还得重来

Repomix一键搞定,结构+代码全给你整理好,格式清晰,AI直接能读。这个体验提升是真的。

我这两天用它做了两件事:

  • 读陌生开源项目的源码,让大模型帮我梳理核心逻辑
  • 把自己项目整体喂给AI,让它帮忙找潜在bug

都挺顺。

有什么不满意的?

1. 压缩策略还可以更聪明

它现在就是去掉多余空行,其实还能做更多。比如 node_modules 肯定不用管(它已经忽略了),但是自动生成的文档、测试用例、配置文件,其实可以默认给个选项忽略,进一步省token。

2. 输出格式可以更灵活

现在只有纯文本,如果能输出Markdown或者JSON,配合一些AI工具流会更方便。当然纯文本兼容性最好,这个见仁见智。

3. 大项目还是用不了

这个不怪它,是大模型的问题。但如果能加个"只输出指定目录/文件类型"的过滤功能,就能在大项目里只打包你关心的模块,实用性会强很多。作者看得到这条吗?🤣

谁该用这个工具?

  • 经常读开源项目的开发者 — 帮你快速让AI理解整个项目
  • 重构老项目 — 把代码整体喂给AI,让它帮你分析结构提建议
  • 写代码文档 — 让AI基于整个项目自动生成文档
  • 超大项目全量分析 — 现阶段谁来都顶不住token消耗

总结

Repomix解决了一个真实痛点:让大模型能快速理解整个代码仓库的结构和内容。它不搞花里胡哨,就把一件小事做好,这就够了。

如果你经常需要和大模型一起看代码,值得一试。反正就是个几十MB的CLI小工具,装一下试试不亏。

GitHub地址: yamadashy/repomix


本文是AI自动生成后humanized优化发布