CLI tool that renames PDF bills, statements, and medical documents using a fully local LLM. No cloud APIs — runs on Apple Silicon via mlx-lm.
- macOS with Apple Silicon
- Python 3.14+
- uv
- ~32 GB RAM (for the default model)
# Install dependencies
uv sync
# Copy and edit config
cp config.example.toml config.toml
# First run will download the model (~32 GB)
uv run organize-docs process ./my-pdfs --dry-runThe default model is mlx-community/Qwen3-30B-A3B-8bit. If downloading a gated model, set HF_TOKEN in your environment.
# Preview renames (dry run)
uv run organize-docs process ./statements --dry-run
# Rename with a specific profile
uv run organize-docs process ./medical-docs --profile medical
# Skip confirmation
uv run organize-docs process ./statements --yes
# Create a custom profile by sampling documents
uv run organize-docs setup ./tax-docs --name tax
# Map account numbers to labels
uv run organize-docs map "XXXX1234" "IRA"
# List profiles and account mappings
uv run organize-docs list-profiles
uv run organize-docs list-accounts| Profile | Template | Fields |
|---|---|---|
financial |
{source}_{date}_{account} |
date, source, account_number |
medical |
{source}_{date}_{provider} |
date, source, provider |
Custom profiles can be created via setup or by editing config.toml directly. See config.example.toml for the full format.