Local File Organizer is an on-device AI tool that organizes local files using Llama3.2 3B and LLaVA-v1.6 via Nexa SDK, producing a new directory structure and metadata descriptions. It runs locally with no internet data exfiltration, and supports CPU/GPU Nexa SDK installation and Python-based setup.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
Local File Organizer is an AI-powered file management tool that runs entirely on the local device, organizing files into a categorized directory structure using AI models and the Nexa SDK. It emphasizes privacy by processing data locally without needing AI APIs.
How it works
- Scans a specified input directory for files.
- Textual content is analyzed with Llama3.2 3B to generate descriptions and filenames.
- Visual content is interpreted with LLaVA-v1.6 for context-aware categorization.
- Generates descriptions, folder names, and filenames based on content.
- Organizes files into a new directory structure based on generated metadata.
- All AI processing is local via Nexa SDK; no internet connection required.
Getting started
Prerequisites include Windows, macOS, or Linux with Python 3.12, Conda, and Git.
Installation steps:
- Install Python (3.12 or later).
- Clone the repository:
git clone https://github.com/QiuYannnn/Local-File-Organizer.git
- Set up a Conda environment named
local_file_organizerwith Python 3.12:
conda create --name local_file_organizer python=3.12
Activate the environment:
conda activate local_file_organizer
- Install Nexa SDK: CPU Installation
pip install nexaai --prefer-binary --index-url https://nexaai.github.io/nexa-sdk/whl/cpu --extra-index-url https://pypi.org/simple --no-cache-dir
GPU Installation (Metal - macOS)
CMAKE_ARGS="-DGGML_METAL=ON -DSD_METAL=ON" pip install nexaai --prefer-binary --index-url https://nexaai.github.io/nexa-sdk/whl/metal --extra-index-url https://pypi.org/simple --no-cache-dir
- Install dependencies:
cd path/to/Local-File-Organizer
pip install -r requirements.txt
Note: If issues arise, install individually:
pip install nexa Pillow pytesseract PyMuPDF python-docx
- Run the script:
python main.py
Recent releases
- Version 0.0.2 (2024-10-01) includes:
- Dry Run Mode to check sorting results before committing changes
- Silent Mode to save logs to a text file
- Added file support:
.md, .excel,.ppt, and.csv - Three sorting options: by content, by date, and by type
- Default text model updated to Llama3.2 3B
- Improved CLI interaction and real-time progress bar
Traction
- Stars: 3313
Behind the repo
- MIT and Apache 2.0 dual licensing indicated in README
Caveats
- License: dual-licensed MIT and Apache 2.0
- Age: created 2024-09-21; last push 2024-10-21
- Prerequisites include Conda and Git; requires Nexa SDK for model usage
- Requires Python 3.12 and compatible OS (Windows/macOS/Linux)
- Dependence on external Nexa SDK for models; local processing relies on Nexa SDK availability






