Folder2AI 是一个轻量级的桌面端小工具,旨在将复杂的本地项目文件夹一键结构化为 AI 友好的纯文本文档。无论是包含数十个代码文件的开发项目,还是层级复杂的资源文件夹,该工具都能将其目录树与具体文件内容完美融合,生成一份层次分明、边界清晰的文本文件,方便直接发送给大语言模型(如 DeepSeek、ChatGPT 等)进行阅读和理解。
在日常使用 AI 辅助开发时,我们经常会遇到一个痛点:AI 无法直接读取我们的本地项目文件夹。
- 如果分别发送各文件:AI 会“见树不见林”。它只能看到孤立的代码,却无法理解文件之间的层级关系、依赖关系和目录归属,导致给出的建议常常脱离项目实际架构。
- 如果只发送目录树:AI 知道项目结构,却不知道具体的代码内容,无法进行实质性的代码审查或 Bug 修复。
- 手动复制粘贴:面对几十个文件,手动在每段代码前加上文件路径注释不仅耗时,且极易出错。 Folder2AI 的诞生就是为了解决这一痛点。 它将“全局目录树”与“带层级标签的文件内容”打包在一起,既保留了空间结构感,又提供了完整的文本上下文,让 AI 能够瞬间建立对整个项目的全局认知。
- 完美的结构呈现:采用
├──和└──字符绘制清晰的树状目录图。 - 层级标签化:使用
==== 第N层 子文件夹/文件: 名称 ====和\[文件名]作为分隔标识,极其符合大语言模型的文本解析逻辑。 - 不忽略任何文件:文本文件(如
.py,.html,.js)完整提取内容;二进制文件(如.png,.exe)保留目录位置但不强行转码,确保 AI 知道其存在。 - 多编码兼容:自动依次尝试
UTF-8、GBK、Latin-1编码读取文件,告别中文环境下的乱码和报错问题。 - 零门槛图形界面:基于
tkinter打造简洁直观的 GUI,支持多线程运行,处理大文件夹时界面不卡顿。 - 一键打包分发:附带打包脚本,可一键生成免安装的
.exe可执行文件,方便分发给无 Python 环境的用户。
工具生成的文本文档格式如下,极其适合 AI 阅读:
[index.html]
...本工具提供三种使用方式,可根据你的技术背景选择:
如果你没有 Python 环境或不想折腾,可以直接使用打包好的 .exe 应用。
- 获取
Folder2AI.exe可执行文件。 - 双击运行。
- 点击“浏览...”选择你需要结构化的目标文件夹。
- 设置输出文件的保存路径(默认保存在所选文件夹的同级目录下)。
- 点击“🚀 一键生成”,稍作等待,提示成功后即可打开生成的
.txt文件。
- 确保本地已安装 Python 3.x 环境。
- 将项目核心文件
folder2ai\_core.py和folder2ai\_gui.py下载至同一目录下。 - 打开终端(CMD/PowerShell/Terminal),进入该目录。
- 运行以下命令启动图形界面:
bash
python folder2ai_gui.py
如果你想自己从源码编译出 .exe 可执行文件,可以使用项目自带的打包脚本。
- 确保已安装 Python 环境。
- 将
folder2ai\_core.py、folder2ai\_gui.py和打包一下吧.bat放在同一目录下。 - 双击运行
打包一下吧.bat。
脚本会自动执行以下操作:
1, 通过 pip 安装 pyinstaller 依赖。
2, 调用 PyInstaller 将 GUI 脚本及其依赖打包为单一可执行文件(隐藏控制台黑框)。
bat pip install pyinstaller -q pyinstaller --noconsole --onefile --name Folder2AI folder2ai_gui.py
4. 打包完成后,在当前目录下会生成一个 dist 文件夹,里面包含了编译好的 Folder2AI.exe。
- 目录树生成:利用
os.listdir获取条目,通过判断是文件还是文件夹进行排序(文件夹优先),并递归拼接├──和└──前缀字符。 - 文件内容提取:通过深度优先遍历,使用
depth参数记录当前递归层级,映射为“第零层、第一层”等中文标签。采用try...except机制依次尝试多种编码读取文件,保障了极强的鲁棒性。 - GUI 多线程:利用 Python 内置的
threading.Thread将繁重的文件遍历读写任务放入子线程,通过self.root.after(0, ...)安全地在主线程更新 Tkinter UI 状态,防止界面假死。