A privacy-focused desktop application for intelligent file organization using local LLMs.
- Drag and drop file/folder organization
- Local LLM-powered file summarization
- Individual file summaries
- Bulk document corpus analysis
- Smart file tagging system
- Add/remove tags
- Tag-based search and filtering
- Export files by tags
- Intelligent file management
- Custom file renaming with pattern support
- Flexible file sorting (type, size, date)
- Original filename preservation
- Project-based organization
- Multiple project support
- Per-project file management
- Project-specific tags
- Privacy-focused
- Completely offline processing
- Local LLM integration
- No cloud dependencies
- Python 3.9+
- PyQt6 for GUI
- SQLite for data storage
- System dependencies:
- libmagic (for file type detection)
- PyMuPDF (for PDF support)
- python-docx (for Word documents)
- pandas (for Excel files)
- Pillow (for image handling)
- Clone the repository
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On macOS
- Install system dependencies:
brew install libmagic # On macOS - Install Python dependencies:
pip install -r requirements.txt
- Start the application:
python src/main.py
- Create a new project or select an existing one
- Download or import an LLM model (supported models: Mistral-7B, Llama-2)
- Drag and drop files to begin organizing
- Documents: PDF, Word (docx), Excel (xlsx)
- Images: PNG, JPEG, GIF, etc.
- Text: TXT, MD, source code files
- Audio: MP3, WAV, etc.
- Video: MP4, AVI, etc.
- Format code:
black . - Sort imports:
isort . - Type checking:
mypy . - Run tests:
pytest
FileSorter/
├── src/
│ ├── main.py # Main application entry
│ ├── database.py # SQLite database management
│ ├── llm_manager.py # LLM integration
│ └── model_utils.py # Model management utilities
├── models/ # Local LLM models
├── requirements.txt # Python dependencies
└── README.md # This file