# 文件管理器 **Repository Path**: psw456789/File-Manager ## Basic Information - **Project Name**: 文件管理器 - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-20 - **Last Updated**: 2026-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 平士文的文件管理器 > 一个功能强大的 Windows 文件管理器,内置 AI 智能助手,Python + PySide6 (Qt 6) 打造,科技炫酷风暗色设计。 [![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/) [![PySide6](https://img.shields.io/badge/GUI-PySide6-green.svg)](https://doc.qt.io/qtforpython-6/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-Windows-0078D6.svg)]() --- ## ✨ 功能特性 ### 文件管理 - 无边框窗口 + 自定义标题栏(三色圆点按钮、拖拽移动、双击最大化)+ 外围阴影 - 目录树(收藏夹 + 磁盘树,懒加载、盘符容量显示、发光选中指示器) - 文件列表(双行显示、大小微条形图、类型彩色标签、**边加载边呈现**) - 此电脑视图(磁盘卡片 + 容量环 + 最近访问) - 多标签页(底部发光指示条动画、拖拽重排、新建/关闭/右键菜单) - 一体化导航条(前进/后退/上级/刷新/主页 + 面包屑 + 搜索栏) - 右键菜单(打开/复制路径/压缩/删除/重命名/标签/收藏等) - 主题切换(暗色/亮色)、字号自适应、列显隐配置 ### 内置工具(30+) - 文件萃取、空文件夹清理、目录扁平化、0KB 清理、重复文件检测、查找大文件、分类整理 - 批量正则重命名、序列化重命名、批量改后缀 - 目录占用排名、磁盘空间概览、文件清单导出、文本对比、目录树文本 - 文件标签管理/筛选、目录快照对比、文件/文件夹属性、API 使用储藏 - 音视频处理(合成/转换/提取音频/裁剪/拼接/归一化/压缩/截图) ### AI 助手 - 流式对话 + Markdown 渲染(含**表格**、代码语法高亮) - 多会话管理(持久化、自动命名、重命名、导出 Markdown) - 21 个工具调用(搜索/读写/删除/移动/复制/重命名/压缩等),带工具调用日志 - 娱乐模式(免费模型 + 低风险工具子集) - API 余额查询、token 统计、API 使用记录储藏 --- ## 🛠 技术栈 | 类别 | 技术 | |------|------| | GUI 框架 | PySide6 (Qt 6) | | 异步 | QThread + pyqtSignal(信号槽) | | 样式 | QSS 样式表 + 设计 Token 系统 | | 动画 | QPropertyAnimation | | Markdown | markdown + pygments(语法高亮) | | 数据库 | SQLite(标签 / 快照 / 最近访问) | | 媒体 | ffmpeg(音视频处理) | --- ## 🚀 运行方式 ### 依赖安装 ```bash pip install PySide6 Pillow openai markdown pygments ``` ### 启动 ```bash python main.py # 或 python main_qt.py ``` ### 配置 首次运行会自动生成 `config.json`,可通过「设置」面板修改: - 字体 / 字号 / 主题(暗色 / 亮色) - 显示系统隐藏文件、文件夹大小、最近访问 - 文件列表显示列 - AI 相关(API Key / Base URL / 模型 / 提示词等) --- ## 📁 项目结构 ``` 平士文的件管理器/ ├── main_qt.py # Qt 版入口(打包入口) ├── main.py # 入口薄壳 ├── config.py # 配置读写 ├── preprocess_icons.py # 图标离线预处理 ├── core/ # 核心逻辑(无 GUI 依赖) │ ├── ai_client.py # AI 客户端(流式 + 工具调用) │ ├── ai_tasks.py # AI 任务函数 │ ├── ai_tools.py # 21 个 AI 工具 │ ├── ui_tasks.py # 扫描/搜索/体积计算任务 │ ├── file_extract.py # 文件萃取引擎 │ ├── file_operate.py # 文件操作 │ ├── file_tools.py # 工具函数 │ └── scanner.py # 目录扫描/搜索 ├── database/db.py # SQLite 封装 ├── utils/media.py # ffmpeg 路径定位 ├── ui_qt/ # Qt 界面层 │ ├── design_tokens.py # 设计系统常量 │ ├── theme.py # QSS 样式表 │ ├── thread_bridge.py # 异步调度器 │ ├── main_window.py # 主窗口 │ ├── dir_tree_panel.py # 目录树 │ ├── file_list_panel.py # 文件列表 │ ├── ... # 其它组件 │ └── dialogs/ # 34 个对话框 └── 图片专栏/ # 图标资源 ``` > 详细说明见 `项目结构与说明.md`。 --- ## 📦 打包 使用 PyInstaller(`--onedir` 模式,Qt 插件加载更稳定): ```bash pyinstaller 平士文的件管理器.spec ``` - 入口为 `main_qt.py` - 需收集 PySide6 插件(`collect_all('PySide6')`) - 打包后确认 `platforms/qwindows.dll` 存在 - ffmpeg.exe 建议一并打包(音视频功能依赖) --- ## 🔄 与旧版(Tkinter)的区别 | 维度 | 旧版 Tkinter | 新版 Qt | |------|-------------|---------| | GUI 框架 | Tkinter + ttk | PySide6 (Qt 6) | | 异步 | queue + after 轮询 | QThread + 信号槽 | | 样式 | ttk.Style | QSS + 设计 Token | | 动画 | 无 | QPropertyAnimation | | 图标 | PIL.PhotoImage | QPixmap / QIcon | | 窗口 | 标准窗口 | 无边框 + 自定义标题栏 + 阴影 | | Markdown | 手写解析(不支持表格) | markdown 库(含表格、代码高亮) | | 打包 | PyInstaller | PyInstaller + PySide6 插件收集 |