What is OneFileLLM?
将来自多个来源的复杂信息输入到大型语言模型(Large Language Models)通常涉及繁琐的手工工作——在开始编写提示词之前,需要查找、下载、转换和组合数据。OneFileLLM 是一款专门用于自动化此数据聚合流程的命令行实用工具。它可以智能地获取、处理和整合来自本地文件、代码仓库、学术论文、Web文档等的内容,并将单个结构化的文本文件直接传送到您的剪贴板,以便与 LLM 进行交互。这使您可以减少在处理数据上花费的时间,从而有更多的时间从您的 AI 助手那里获取价值。
主要特性
🌐 统一不同的来源: 自动获取和处理来自本地文件/目录、GitHub 仓库(包括特定的 PR 和 issue)、ArXiv 论文、Sci-Hub 论文(通过 DOI/PMID)、YouTube 视频文本和网页的数据。
✨ 自动检测来源: 只需提供路径、URL 或标识符,OneFileLLM 就能智能地确定来源类型并应用正确的处理逻辑。
📄 处理多种文件格式: 原生处理项目中和研究中常见的各种文件类型,包括
.py、.js、.md、.html、.ipynb(Jupyter Notebooks)、.pdf等,并提取相关的文本内容。🕸️ 抓取 Web 文档: 不仅从起始 URL 抓取内容,还从链接的页面抓取内容,抓取深度可配置 (
max_depth)。⚙️ 智能预处理文本: 提供文本清理选项,包括停用词删除和小写转换,并提供压缩(清理)和未压缩的输出。
🏷️ 使用 XML 结构化输出: 将聚合的内容封装在清晰的 XML 标签中,指示每个数据块的来源和类型。
📋 自动将输出复制到剪贴板: 将完整的、未压缩的文本输出直接放到您的系统剪贴板上。
📊 报告 Token 计数: 计算并显示压缩和未压缩输出的估计 token 计数(使用
tiktoken)。🚫 排除不需要的内容: 配置模式以排除特定的文件(如自动生成的代码或测试文件)和整个目录的处理。
用例
为开发者理解代码库: 您需要理解一个复杂的 GitHub 仓库才能贡献修复或功能。无需手动浏览文件,只需在仓库 URL 上运行 OneFileLLM。它会收集代码文件(尊重您配置的扩展名和排除项)、自述文件以及潜在的相关文档,并将所有内容放入您的剪贴板。然后,您可以使用聚合的上下文向 LLM 提问,例如“解释
XYZ模块的主要用途”或“用户身份验证在哪里处理?”。为学者分析研究论文: 您正在探索一个新的研究领域,并且在本地存储了多篇 ArXiv 论文和 PDF。将 OneFileLLM 指向每个 ArXiv URL、DOI 或本地 PDF 文件路径,或者将它们组合在一个目录中。该工具会从每篇论文中提取文本,将其连接起来,并为您提供可用于 LLM 的文本。然后,您可以提示 LLM“总结这些论文中关于主题 Y 的主要发现”或“确定这些研究中使用的方法”。
通过文档和 issue 进行故障排除: 您正在调试与特定 GitHub 库相关的问题。向 OneFileLLM 提供相关 GitHub issue 的 URL。它可以提取 issue 描述、评论和相关的仓库代码,为您的 LLM 提供全面的上下文,以帮助诊断问题或根据讨论和实际代码库结构提出解决方案。
结论
停止在为大型语言模型准备上下文时与分散的数据源作斗争。OneFileLLM 充当您高效的数据聚合助手,将来自不同位置的代码、研究、文档和讨论整合到一个随时可用的软件包中。通过自动化获取、处理和格式化,它可以节省您宝贵的时间,并允许您构建更明智、上下文丰富的提示,最终帮助您更有效地利用 LLM 的全部功能。





