Agent Skills
返回列表
💻

Repomix 代码库上下文打包器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/repomix-codebase-context-packer-llm 技能。

技能介绍

上下文溢出是大模型读仓库的第一道坎

当你把一个中等规模的代码仓库直接丢给 LLM,真正的麻烦不是模型看不懂代码,而是 prompt 瞬间被撑爆。一个 500 文件的项目轻松超过百万 token,而大多数模型的上下文窗口根本无法承载。即便你能塞进几万 token,大量无关文件、注释和样板代码也会稀释掉模型对关键逻辑的注意力。

Repomix 要解决的就是这个问题:把整个仓库压缩成一份 精简、结构化、对 token 友好 的单文件,让 LLM 能真正吃得下、读得懂。

它如何工作

Repomix 的核心流程可以拆成三步:

  • 遍历与过滤:递归扫描仓库目录,按配置文件或内置规则跳过 node_modules、.git、构建产物等无关路径,避免无用代码占用上下文。
  • Tree-sitter 压缩:利用 Tree-sitter 语法树解析源代码,移除空白、注释等非语义内容,在保留语法结构的前提下大幅缩减体积。这比纯文本截断更可靠,因为模型仍能看到完整的代码骨架。
  • 安全扫描:通过 Secretlint 对打包内容做敏感信息检测,防止 API Key、密码等凭据在不知情的情况下被送入 prompt。

最终产物可以输出为 XML、Markdown 或纯文本,三种格式都适配常见的 LLM prompt 模板。打包过程中会给出 token 统计,让你清楚知道这次喂给模型的成本。

适用边界与注意点

Repomix 不是万能的。几个值得留意的点:

  • Python 生态有更优选项:如果你处理的主要是 Python 项目,官方建议改用 Gitingest,它在 Python 包结构和数据文件的处理上更贴合。
  • 压缩不等于无损:Tree-sitter 会丢弃注释和空行,对于依赖注释理解意图的场景(比如某些遗留代码的语义说明),模型可能丢失部分上下文。
  • 超大仓库仍需分片:面对数万文件级别的巨型仓库,单次打包可能仍然超出上下文上限,需要配合分块策略或先做仓库级裁剪。
  • Docker 用户:可以通过 Docker 运行 Repomix,无需本地安装 Node.js 环境,适合 CI/CD 场景。

总的来说,Repomix 适合把一个 中等规模、结构清晰的代码库 快速变成 LLM 可消费的上下文快照。如果你只是想把几个零散文件扔进 prompt,直接粘贴就够了;但当你需要模型理解整个项目的结构时,它是一个很实用的打包工具。

使用场景

  • 微服务重构前,要把整个仓库压成一份文件喂给模型做架构分析
  • 想把项目整体交给 LLM 做代码审查或生成迁移方案,但文件太多塞不进上下文窗口
  • 在 CI 流水线中用 Docker 把仓库打包成快照,供后续自动化文档生成或审计使用
  • 担心模型会话会意外带入密钥,希望在打包前先用 Secretlint 扫描一遍敏感信息

适合人员

  • 独立开发者,想把中等规模项目整体交给 AI 做重构或审查建议
  • 平台工程师,需要在 CI 中把代码仓库安全地打包进 LLM 处理管道
  • 技术负责人,要在系统迁移前让模型评估整个代码库的结构风险
  • 机器学习工程师,准备把项目上下文整理好再喂给大模型做问答或代码解释