当前位置: 首页 > news >正文

我的第一个开源项目:FileFinder —— 一个全由 AI 写的「文件管理工具」

谨以此文纪念我的第一个 GitHub 开源项目FileFinder v2.0
是的,代码全是 AI 写的。但这并不妨碍它成为一个真正在解决问题的工具。


一切是怎么开始的

大概是前天晚上,我坐在电脑前,面对一盘散落在各种文件夹里的文件,陷入了沉思。

我需要批量搜索一批带有特定关键词的文件,按类型筛选,然后复制/剪切到另一个文件夹。说起来很简单,但 Windows 资源管理器的搜索……懂的都懂。第三方工具要么太重(Total Commander),要么要钱(Everything 其实挺好但只搜索不操作),要么功能太单一。

于是我想:要不自己写一个?

一开始我只是想写个小脚本,但写着写着,想法越来越多:

  • 能不能支持多个关键词同时搜索?
  • 能不能自动检测文件类型,然后勾选筛选?
  • 能不能加个文件预览?
  • 复制的时候如果有重名怎么办?

然后,我就找到了 AI 助手。我跟它说我要一个文件管理工具,功能 ABCDE……几轮对话下来,FileFinder v1.0诞生了。

第二天就出了 v2.0

第一版在 5 月 2 号发布的,功能挺基础的:选文件夹、搜关键词、筛选类型、复制/剪切。
但发完之后我自己用了一天,发现几个痛点:

  1. 不支持子文件夹——这在真实场景下基本没法用
  2. 没有文件预览——选了文件还得另外打开看内容
  3. 重名直接覆盖——不小心就丢了文件

于是第二天(就是今天),v2.0就出来了。

📦 批量选择文件

选一个文件夹,输入多个关键词(用逗号分隔),勾选「包含子文件夹」,再在横向滚动的类型列表里勾上想要的格式——点击搜索,符合条件的文件就都显示在列表里了。

支持 59 种文件类型的自动检测和筛选,不需要手动翻文件夹,不需要 Ctrl+A,一个个去找。

📂 批量复制 / 移动

选中文件后,点「复制」或「剪切」,指定目标文件夹,就能批量把一堆文件一次性整理到新位置。

⚡ 冲突处理

复制或移动时遇到同名文件?弹出一个对话框让你选择:覆盖 / 重命名 / 跳过。
支持「全部覆盖 / 全部重命名 / 全部跳过」的批量操作,不用一个个点。
重命名会自动生成file(1).txtfile(2).txt这种格式,不会乱掉。

👁️ 文件预览(辅助功能)

选中文件后,右侧可以直接预览内容——59 种纯文本格式直接显示(代码、日志、配置文件),.docx/.xlsx/.pptx用 ZIP+XML 解析提取文字,纯 Python 实现,零外部依赖。

📋 剪贴板操作

  • 复制文件路径到剪贴板(一行一个路径,纯文本)
  • 复制文件本体到剪贴板(相当于在资源管理器里 Ctrl+C,之后可以 Ctrl+V 粘贴到任意地方)

老实交代:代码全是 AI 写的

这个必须得承认——FileFinder 的每一行代码都是 AI 生成的。

我做的事情是:

  1. 提需求——告诉 AI 我想要什么功能、UI 怎么布局
  2. 审代码——每段代码我都会看,理解它的逻辑,确保没有明显的 bug 或安全问题
  3. 测试——反复使用,发现问题就反馈给 AI,让它修复
  4. 整合——把不同轮对话里生成的代码拼到一起

有人说 “AI 写的代码不算你的”。但我觉得,需求是我提的,逻辑是我把关的,测试是我做的,这个项目代表的思维方式是我的。

AI 只是帮我省去了写样板代码、查文档、调语法的功夫。它让一个「我有一个想法 → 把它实现出来」的过程,从几天缩短到了几小时。

这本身就是一件很酷的事情。

技术栈

FileFinder 的技术栈非常简单:

  • Python 3+tkinter(标准库,无需安装额外依赖)
  • 纯标准库实现(osshutiltkinterzipfilexml.etree.ElementTree
  • 跨平台支持(Windows / macOS / Linux)
  • 单文件,不到 600 行代码

是的,没有 PyQt,没有 Electron,没有那些花里胡哨的东西。就一个.py文件,双击就能跑。

对于一个开源项目来说,我觉得这种「零依赖 + 单文件」的交付方式非常友好——用户不需要配环境、装包、搞虚拟环境,有 Python 就能用。

开源地址

项目已开源到 GitHub,MIT 许可证,随便用,随便改,随便提 PR:

🔗github.com/moliushangxue/FileFinder

一些感想

说实在的,作为一个软件工程的学生,我平时写的最多的代码就是学校的实训作业,但是那个含金量懂的都懂,但真正「做一个属于自己的工具并开源出去」,这还是第一次。

在 GitHub 上创建仓库、写 README、写 CHANGELOG、选 LICENSE……这些看似简单的事情,真正做起来的时候还是有一种仪式感的。

当我把那个仓库设为公开的那一刻,心里是有点小激动的。虽然可能根本没人会 star,没人会 fork,但这个项目就在那里,是我的。

我会继续维护它。下一个版本计划加正则表达式搜索和撤销功能。但谁知道呢,也许未来还有更多有意思的方向。


如果你也觉得文件管理有点烦,不妨试试 FileFinder。也许它能帮你省几分钟时间。

那几分钟,可是你生命里回不来的几分钟。

http://www.jsqmd.com/news/747775/

相关文章:

  • My-TODOs:基于PyQt-SiliconUI的现代化桌面待办工具
  • 【RT-DETR涨点改进】ICME 2026 |独家创新首发、注意力改进篇| 引入SFC显著特征校准模块,通过双分支门控与全局统计信息引导实现特征精细校准,含7种创新改进,助力遥感目标检测任务有效涨点
  • AI编码实战手册:产品经理如何用任务驱动框架高效构建产品
  • (十三)多Agent协同
  • 【物理应用】基于极限学习机的 DC-DC 转换器建模附matlab代码
  • 如何构建企业级实时唇语识别系统:Chaplin架构深度解析与性能优化指南
  • macOS上如何让GPT-SoVITS语音合成速度提升300%:MPS加速完全指南
  • STM32+C语言实战:增量式PI控制电机速度环,附VOFA+上位机源码与避坑指南
  • 2026年良机冷却塔维修公司推荐:上海良机冷却塔、冷却塔改造、圆形冷却塔、常州冷却塔维修、常州良机冷却塔、无锡良机冷却塔选择指南 - 优质品牌商家
  • 从‘开口三角’到系统接地:手把手教你分析PT在单相接地故障时的电压变化
  • C盘告急别慌!保姆级教程:用WSL2自带命令把Ubuntu搬到D盘(附默认用户修复)
  • 算法训练营Day21|227.基本计算器
  • LLM 技能的本质:带代码的标准化包,还是仅Markdown文档?
  • PyTorch自定义层超简单
  • 将Hermes Agent对接至Taotoken的自定义提供方配置指南
  • 个性化AI推理技术:如何实现用户偏好精准对齐
  • 强烈推荐,一款可以一键部署本地 AI 搜索助手的开源神器
  • 别再手动算日期了!用C语言实现BCD码与十进制互转(附完整代码)
  • 2026纯棉内裤推荐榜:女士内裤、小胸聚拢内衣、抗菌内裤、无痕内衣、无痕内裤、无钢圈内衣、果冻内衣、男士内裤、美背内衣选择指南 - 优质品牌商家
  • 从零到部署:用Radzen Blazor Studio + .NET 7 + PostgreSQL快速搭建一个带用户管理的小型业务系统
  • 【毕设实战】校园二手交易平台毕业设计:Spring Boot、Vue、源码、数据库、文档和 Docker 部署
  • Aave V3清算机器人:闪电贷套利与DeFi自动化策略实战
  • 为AI智能体构建语义记忆系统:从向量检索到知识图谱的工程实践
  • 2026年交流充电设备厂家推荐榜:四川充电设备厂家、四川充电设备安装、四川充电设备采购、四川兆瓦级充电设备、四川壁挂式充电桩选择指南 - 优质品牌商家
  • 初创公司如何利用Taotoken的按Token计费模式优化AI实验成本
  • 告别调参玄学:在PyTorch中为图像数据正确添加噪声进行数据增强(含泊松-高斯混合模型)
  • QKeyMapper:重新定义你的Windows操作体验,免费开源按键映射终极方案
  • 别再纠结了!从实战项目出发,聊聊我们为什么最终选择了Camunda 7.15
  • 别再手动调格式了!用LaTeX的natbib包搞定参考文献(附APA/数字格式切换指南)
  • 2026宝鸡本地装修公司技术解析:宝鸡装修设计免费上门量房/宝鸡装修避坑攻略/宝鸡轻奢风格装修设计/宝鸡靠谱的装修公司/选择指南 - 优质品牌商家