#文件内容 #输出 #目录 #单个 #进程 #合并 #处理

bin+lib combiner

Combiner 是一个基于 Rust 的命令行工具,用于处理指定目录中的文本文件,将这些文件的内容合并到单个输出文件中。

13 个版本

0.2.2 2024 年 8 月 19 日
0.2.1 2024 年 8 月 15 日
0.1.10 2024 年 8 月 15 日
0.1.7 2024 年 6 月 25 日

1770命令行工具 中排名

Download history 501/week @ 2024-06-21 43/week @ 2024-06-28 432/week @ 2024-08-09 244/week @ 2024-08-16

676 每月下载次数

MIT 许可证

15KB
248

Combiner

Combiner 是一个基于 Rust 的命令行工具,用于处理指定目录中的文本文件,将这些文件的内容合并到单个输出文件中。该工具特别适用于为大型语言模型 (LLM) 提供关于项目文件的项目背景,简化获取调试建议或项目概述的过程。

功能

  • 递归扫描目录以查找文本文件
  • 使用 tiktoken-rs 库进行标记计数
  • 基于 Rayon 的并行处理以加快处理速度
  • 详细的输出统计信息

安装

先决条件

从源码构建

  1. 克隆仓库

    git clone https://github.com/jesalx/combiner.git
    cd combiner
    
  2. 构建项目

    cargo build --release
    
  3. 二进制文件将在 target/release/combiner 中可用

或者,您可以使用 cargo 安装 combiner

cargo install combiner

用法

基本用法

combiner -d <directory> -o <output> -t <tokenizer>

更多选项

combiner --help

命令行选项

  • -d, --directory <directory>: 要处理的输入目录(默认:当前目录)
  • -o, --output <output>: 输出文件路径/名称
  • -t, --tokenizer <tokenizer>: 要使用的标记器(默认:p50k_base)

输出

程序生成一个包含所有处理文本文件内容的单个输出文件。每个文件的内容前面是其文件路径,并由一条横线分隔。

程序还打印一个摘要表,显示

  • 处理文件数量
  • 标记总数
  • 输出文件路径
  • 处理时间
  • 按标记计数最高的文件

依赖关系

~19–28MB
~240K SLoC