Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Local File Archive 🗂️

本地自适应文档智能整理工具 — 基于 Ollama 本地大模型,自动理解文档内容并分类归档。

支持 PDF / Word / Excel / PPT / TeX,纯本地推理,数据不出本机。

Python 3.9+ License


✨ 特性

  • 🤖 纯本地推理 — 调用本机 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 会自动下载)。


🚀 一键部署(Windows)

# 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


🖥️ 使用方式

GUI 模式(推荐)

双击 启动.bat,或:

python main.py

CLI 模式

# 检查环境
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

📄 License

MIT

About

A local AI-powered document classification and archiving tool based on Ollama.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages