llmcat – CLI 工具,用于快速选择和复制LLMs的文件/目录

在日常工作中,尤其是在处理多文件或复杂目录结构时,将文件快速选中、复制到剪贴板供大语言模型(LLM)分析,常常是一项繁琐的任务。针对这种需求,开发者 azer 提供了一个轻便高效的命令行工具——llmcat。llmcat 通过快速筛选并复制文件或目录内容,帮助用户更方便地将所需文件传递给 LLMs(如 ChatGPT)进行进一步处理。

工具简介

llmcat 是一个 CLI(命令行接口)工具,主要功能是帮助用户快速选择并复制文件或目录内容,方便用于 LLMs 的文本输入。这对于需要频繁整理文件、并将内容批量复制粘贴的场景,尤其实用。

核心功能

交互式选择:llmcat 支持交互模式,结合 fzf(模糊查找)功能,用户可以通过键盘快捷键快速筛选文件并预览内容。

目录树视图:它可以生成文件夹的目录树结构,非常适合用来查看项目的整体文件分布。

自动复制:选中的文件或内容会被自动复制到剪贴板,无需额外手动操作。

.gitignore 兼容:该工具会尊重 .gitignore 中的设置,避免不必要的文件被选中。

跨平台支持:适用于 Linux 和 macOS 系统。

使用方法

llmcat 提供了简洁的命令行参数,可以适应多种使用场景。以下是一些常见用法示例:

1. 交互式选择文件:运行 llmcat 后将进入交互模式,用户可以通过模糊查找快速选择文件或目录,按下回车确认后即可将内容复制到剪贴板。

llmcat

2. 指定文件处理:如果只需处理特定文件,可以直接指定文件路径,如:

llmcat path/to/file.txt

3. 忽略特定文件类型:通过 -i 参数,可以指定忽略特定文件类型(使用 grep 的正则格式)。例如,忽略 .log 和 .tmp 文件:

llmcat -i “*.log|*.tmp” ./src/

4. 输出目录树结构:仅输出目录结构,而不复制内容。

llmcat -t ./my_project

5. 打印并复制内容:如果希望在复制内容的同时打印出内容,可以使用 -p 参数。

llmcat -p ./src/file.txt

常用快捷键

在交互模式下,llmcat 提供了常用快捷键,让操作更加便捷:

Tab:选择或标记文件

Shift + Tab:取消选择文件

Ctrl + /:切换预览窗口

Ctrl + d:切换到目录选择模式

Ctrl + f:切换到文件选择模式

Enter:确认选择并复制

Esc:退出

应用场景

代码审查:在进行代码审查时,开发者可以快速选择项目中的关键文件,复制其内容后交由 LLMs 进行分析。

内容汇总:对于有大量文本文件的数据分析任务,可用 llmcat 快速整理文件内容并粘贴到分析工具中。

文档整理:在管理复杂的文档目录时,利用目录树视图可以快速浏览文件结构,选择所需文件后批量复制。

项目地址

github:https://github.com/azer/llmcat