本地自适应文档智能整理工具 — 基于 Ollama 本地大模型,自动理解文档内容并分类归档。
支持 PDF / Word / Excel / PPT / TeX,纯本地推理,数据不出本机。
- 🤖 纯本地推理 — 调用本机 Ollama,文档内容不离开你的电脑
- 🖼️ 多模态识别 — 图文混排 PDF/PPT 自动切换视觉模型
- 📚 精细分类 — 开放式分类路径,技术文献精确到子领域
- ⚡ 智能加速 — 大文件抽样、缓存复用、文本充足时跳过视觉模型
- 🔒 安全第一 — 默认只预览不执行,源文件只读不修改
- 🖥️ 双模式 — GUI 图形界面 + CLI 命令行
| 依赖 | 最低要求 | 安装 |
|---|---|---|
| Python | 3.9+ | python.org(安装时勾选 Add to PATH) |
| Git | 任意版本 | git-scm.com |
| Ollama | 最新版 | ollama.com |
| GPU | 可选 | NVIDIA 4GB+ 显存 |
部署脚本会自动检查以上环境并给出提示。推荐模型
qwen3-vl:8b(多模态,首次使用时 Ollama 会自动下载)。
# 1. 克隆项目
git clone https://github.com/LylacVow/Local-File-Archive.git
cd Local-File-Archive
# 2. 运行部署脚本
deploy.bat部署脚本会自动完成:
- 检查 Python 环境
- 创建虚拟环境并安装依赖
- 生成配置文件
config/settings.yaml - 提示安装 Ollama 并拉取模型
部署完成后双击
启动.bat即可启动 GUI。
首次部署后会生成 config/settings.yaml,核心配置:
ollama:
vision_model: "qwen3-vl:8b" # 多模态主模型
text_model: "qwen3:latest" # 纯文本模型(更快)
paths:
source_dirs:
- "D:/Documents" # ← 改成你要整理的目录
output_dir: "D:/Documents/Organized" # ← 整理后的目标目录完整配置项见 config/settings.yaml.example。
双击 启动.bat,或:
python main.py# 检查环境
python cli.py check
# 扫描文件统计
python cli.py scan --dirs D:/Documents
# 预览分类结果(不执行)
python cli.py run --dirs D:/Documents
# 执行整理
python cli.py run --dirs D:/Documents --execute
# 管理缓存和索引
python cli.py cache --clear # 清空缓存
python cli.py index --show # 查看分类索引
python cli.py index --search 关键词 # 搜索索引采用开放式分类路径,AI 根据文档内容自动生成分类(3-5层),10 个顶层大类:
自然科学与工程/
├── 计算机科学/机器学习与AI/...
├── 数学/概率统计/...
├── 物理与工程/...
经济与管理学/
法学与政务/
文学与艺术/
教育学/
工作与行政/
生活与居家/
娱乐与休闲/
产品与设备/
其他/
可在 taxonomy/categories.yaml 中自定义引导规则。
Local-File-Archive/
├── main.py # GUI 启动入口
├── cli.py # 命令行入口
├── deploy.bat # 一键部署脚本
├── 启动.bat # GUI 启动脚本
├── requirements.txt # Python 依赖
├── config/
│ ├── settings.yaml.example # 配置模板
│ └── settings.yaml # 实际配置(gitignore)
├── core/
│ ├── scanner.py # 文件扫描
│ ├── extractor.py # 内容提取(PDF/Word/Excel/PPT/TeX)
│ ├── cache.py # SQLite 元数据库
│ ├── filename_cleaner.py # 文件名净化
│ ├── index_manager.py # 分类索引管理
│ ├── organizer.py # 文件整理执行
│ └── pipeline.py # 主流水线(并发预提取)
├── models/
│ ├── ollama_client.py # Ollama API 封装
│ └── classifier.py # AI 分类推理
├── taxonomy/
│ └── categories.yaml # 分类体系定义
├── gui/
│ ├── theme.py # 全局主题
│ ├── app.py # 主窗口
│ └── panels/
│ ├── config_panel.py
│ ├── progress_panel.py
│ └── result_panel.py
└── logs/ # 日志和缓存(gitignore)
- 源文件只读,所有操作仅在输出目录进行
- 默认
dry_run=True,仅复制不移动,不删除源文件 - 纯本地推理,无需联网,不收集任何数据
- 无需 API Key
MIT