I put a local model in charge of naming and filing every download, and my Downloads folder has been empty for a month

I put a local model in charge of naming and filing every download, and my Downloads folder has been empty for a month

Published Aug 27, 2026, 2:00 PM EDT Maker, meme-r, and unabashed geek, Joe has been writing about technology since starting his career in 2018 at KnowTechie. He's covered everything from Apple to apps and crowdfunding and loves getting to the bottom of complicated topics. In that time, he's also written for SlashGear and numerous corporate clients before finding his home at XDA in the spring of 2023. He was the kid who took apart every toy to see how it worked, even if it didn't exactly go back together afterward. That's given him a solid background for explaining how complex systems work together, and he promises he's gotten better at the putting things back together stage since then. No matter how much I want to keep my Downloads folder tidy, it gets the best of me. Multiple versions of the same installers, random ISO files, product specifications, and everything else I need for work end up there, like that drawer we all have in the kitchen where random things live. Normally, it sits there until it takes up significant storage space, then I delete it all. But I decided that wasn’t going to be the case anymore, and tasked a local LLM with keeping things in order. Connecting a smaller model with Lemonade to a PowerShell script that handles basic categorization took an afternoon. Now every downloaded file gets filed away for future use, and my folder is usable again. I could have used a different model server for hosting the LLM, but I’ve moved everything to Lemonade. Maybe I could use a smaller model, but other than that it does everything I needed it to. The trick is not letting the LLM do everything Boring rules handle most of the heavy lifting The new categorization system has two tiers, and that’s mostly because I could easily figure out what buckets to put things in. The script has a set of rules based on file extension, so ISO files and installers get put into subfolders straight away. Everything moved this way gets the move date added to the filename, so I can find things easier. I could probably have done everything via script, but that wouldn’t have fixed the screenshots or documents with the same nondescript file name. Those get passed to the Lemonade Server running on the same PC via an OpenAI-compatible API on localhost and parsed by Qwen3.5-9B-GGUF. I’m still tuning the context window and whether I could use a smaller or larger model, but the results from the 9B version have been good so far. The first run gets me a list of filenames, how confident the model is about the identification, and what the name should be changed to. A second run does the actual renaming and moving, leaving me only the few files it couldn’t be sure of to go through at my leisure. Sure, I could have put everything through the model and left it feeling like magic. But the split is the point, and I want to use the same discipline that I use with cloud LLMs, even when I’m using a local one and not worrying about token usage. Lemonade Lemonade is a model server for local LLMs that has advanced routing capabilities and works on every OS. The model reads your files, so I like to keep it local The AI companies have enough of our data already I use cloud LLMs for lots of things, but for tasks involving my files, I like to keep things on-device. The script doesn’t only send file names for classification; it also reads the first few dozen lines of any document, embedded metadata, and any other helpful classifiers it can find. And for my documents, I don’t want that data going anywhere. So it doesn’t. I don’t even let it leave the PC, because Lemonade runs on the same box and nothing touches my network. File contents go from one folder to a running process via localhost, gets classified by Qwen3.5-9B running under Lemonade. Then the action part comes back via the same route, and no third party sees the contents of my documents. That’s good, because it could be receipts or bank statements, or other personal data that I’d rather not divulge. If only Microsoft would make Copilot do things like this instead of being a glorified chatbot, Windows 11 might actually be better to use. Then again, I’d rather have a local LLM read those files than give Microsoft any more training data. I don't want the model deciding to delete my folder Nothing moves if the model isn't sure, and it never deletes anything It’s a fine line between an automation that works as intended, and one that works but occasionally loses your files. This is true enough for a rule-based script, or when an LLM does the classification. My script auto-files the few file types I know are replaceable, mostly installation files I can download again. The part that deals with the local LLM has a series of safety rules, the biggest being that it needs 75% confidence; otherwise, the file stays where it is. It also logs those files to the end of a logfile, with a quick explainer of why. Similar rules apply if the model can’t be reached, returns malformed JSON, or tries to create new folders. That last one was a late addition while testing, because one run tried to file documents in a location that didn’t exist. A quick allowlist later and the script can’t go, erm, off-script. And there’s one other hard rule: nothing is ever deleted. It can suggest deletion, but I’m the only one who can drop the hammer. A month later, my Downloads folder is tidy for the first time since forever The two-tiered system isn’t perfect, but I’d worry if it produced an empty folder every time it ran. It’s now set as a scheduled task to run once a week, and it tends to leave a handful of files every time. That’s easy for me to keep on top of, while things like installers and ISOs end up in another folder if I need them later. Plus, I get a JSON routing log with the LLM's confidence scores and verdicts. That feeds back into the system and trains it to better identify what I download.

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.