yek

把整个代码库一键打包成 LLM 能懂的上下文

yek 是一个用 Rust 编写的高性能命令行工具,专门用于将仓库或目录中的文本文件序列化为适合大语言模型(LLM)消费的格式。它解决的核心问题是:在将代码库喂给 LLM 时,传统方法(如直接复制文件或使用 grep)效率低、上下文窗口浪费严重。yek 能够快速扫描整个仓库,自动过滤二进制文件、忽略无用文件(如 .git 目录),并将文本内容按结构化方式输出,方便 LLM 理解项目全貌。其核心能力包括极快的处理速度(得益于 Rust 的并发和内存安全)、智能的文件过滤与排序、以及可自定义的输出格式。它特别适合开发者在使用 AI 编程助手时快速提供项目上下文,或用于构建基于代码库的 RAG 系统。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2476
维护状态 维护中
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队mohsen1
所属国家
官网地址
定价模式free
价格说明开源工具,MIT 许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Rust
技术栈/模型ai,cli,large-language-models,llm,rust-lang,serialization
GitHub 星标★ 2476
30天Star增速
HF 下载量
上线时间2025-01-11 00:00:00
最近更新2026-09-22 00:00:00
维护状态维护中
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

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

环境要求

  • Unix-like 系统(macOS 或 Linux);README 未提供完整的 Windows 安装命令
  • 能访问网络,安装脚本通过 curl 下载
  • 建议在 Git 仓库中运行,以便利用 .gitignore 和 Git 历史推断文件重要性
  • 安装命令依赖 curl(README 安装命令使用 curl -fsSL)

安装与启动步骤

  1. 1安装 yek

    在 macOS/Linux 终端执行官方安装脚本。注意:README 中 Windows 安装章节内容不完整,未给出命令。

    curl -fsSL https://azimi.me/yek.sh | bash
  2. 2进入目标目录

    切换到要序列化的仓库或目录,yek 会按当前目录内容处理并应用 .gitignore 规则。

    cd /your/project
  3. 3运行序列化

    默认直接运行即可序列化整个仓库,结果写入临时文件,控制台会打印该文件路径。

    yek
  4. 4管道输出内容

    yek 会自动检测输出是否被管道接管,若被管道接管则直接流式输出内容而不写文件。

    yek > context.txt
  5. 5使用自定义配置

    在项目根目录放置 yek.yaml,或用 --config-file 指定配置路径,自定义忽略规则、输出等。

    yek --config-file /your/path/yek.yaml

关键配置

配置项必填说明示例
max_size否输出大小上限,也支持用 tokens 单位128K
json否开启 JSON 格式输出false
debug否开启调试日志false
line_numbers否输出中包含行号false
tree_header否在开头包含目录树false

如何确认成功

运行 yek 后控制台打印出生成的临时文件路径,即表示序列化成功;用管道运行时则直接看到文件内容输出。

常见问题

Q:序列化结果保存在哪里?

A:默认写入临时目录中的一个文件,并把该文件路径打印到控制台。若输出被管道接管,则改为流式输出内容,不写文件。

Q:如何忽略不需要的文件?

A:默认使用 .gitignore 规则跳过文件,并自动推断额外的忽略模式(如二进制、大文件等),也可在 yek.yaml 中添加自定义忽略模式。

Q:为什么重要文件排在输出最后?

A:yek 会依据 Git 历史推断文件重要性,让更重要文件靠后出现,因为 LLM 通常更关注上下文末尾的内容。

Q:怎么修改输出大小或格式?

A:在项目根目录的 yek.yaml 中设置 max_size、json、line_numbers、tree_header 等,或用 --config-file 指定配置文件路径。

Q:Windows 怎么安装?

A:README 的 Windows 安装章节内容不完整、未给出具体命令,请以仓库最新 README 为准,本教程不虚构命令。

注意事项

  • 本教程命令全部来自 README,Windows 安装命令缺失故未提供。
  • 配置文件可放在项目根目录,也可通过 --config-file 指定自定义路径。
  • yek 支持一次处理多个目录、glob 模式与指定单个文件(README 提及但未给出具体命令示例)。
  • README 未说明具体端口、版本号或安装路径,教程中不做假设。

核心亮点

  • 基于 Rust 实现,处理大型仓库速度极快,节省等待时间
  • 自动过滤二进制和无关文件,有效节省 LLM 上下文窗口
  • 输出结构清晰,方便 LLM 理解项目文件层级和依赖关系

不足之处

  • 仅支持文本文件,对图片、PDF 等非文本内容无法处理
  • 文档/社区待观察

适用场景

  • 使用 AI 编程助手时快速提供整个项目的代码上下文
  • 构建基于代码库的 RAG 系统,作为数据预处理工具
  • 在 CI/CD 中自动生成项目摘要供 AI 分析

替代项目

RepoMix、gpt-repository-loader、code2prompt

项目介绍

yek 是基础设施领域的开源项目,由 mohsen1 开发,2025 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(2,476)位列前 30%,在基础设施分类中处于中上游。

项目仍在小幅维护中,最近一次代码更新于 2026-09-22。开源工具,MIT 许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:使用AI编程助手时快速提供整个项目的代码上下文。同类可对比的替代方案包括 RepoMix、gpt-repository-loader、code2prompt。

上一篇:vllm-ascend

下一篇:mixtral-offloading

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09