Batch awareness
Build useful folders across the complete collection.
Find what you need, understand what you have, and keep every file organized.
Sift helps you find a file when you remember its meaning but not its name. It searches filenames, document contents, and indexed images, then shows the evidence behind every result.
Sift can also make sense of a cluttered folder, propose a useful structure, and follow plain-language requests to move or rename files. It brings search, organization, and local AI models together in one simple app.
Command-line mode
Sift's primary interface is a command-line app you can talk to. It handles search, organization, and review from a single terminal session.
Four scripted walkthroughs: pick one.
Ready. 269 files indexed
› where is my March invoice?
The paid Northstar invoice is in scan_0042.pdf. Total: $106.92.
[1] scan_0042.pdf
/Users/you/Downloads/scan_0042.pdf
Run these commands once. If you already have Ollama or uv, skip that install line.
# Install the tools Sift needs
curl -fsSL https://ollama.com/install.sh | sh
open -a Ollama
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.local/bin/env
# Install Sift
git clone https://github.com/richardcsuwandi/sift.git
cd sift
ollama pull qwen3:4b
ollama pull qwen3-embedding:0.6b
uv tool install .
# Start Sift in a folder
sift ~/Downloads
Sift scans the folder, then waits for your question. Ask it to find or summarize a file. Tell it how you want files organized. Sift shows the files behind every answer. Before moving or renaming anything, it shows a plan and waits for your approval. Type /help to see every command.
/scan [--images]Rescan files; optionally read image contents./organizePropose a complete folder structure./planShow a postponed plan./applyReopen a plan you postponed./undoRestore the last applied batch./folder PATHSwitch folders and refresh their index./model [NAME]Show model roles or select the chat model./revealSelect the top search result in Finder./statusShow the folder, index, and model configuration./helpShow the command guide./clearClear the terminal./exitLeave Sift.Asking for a change does not carry it out. Sift first shows the change as a before-and-after plan, and you can approve it, decline it, switch individual rows off, edit where a file is going, or save the plan and come back to it with /apply. When you organize a folder, the proposed tree is drawn as each file is sorted, so you can watch where things are going to land. If you apply a batch and then change your mind, /undo puts every file back where it was.
Three local models do three different jobs: one answers questions and organizes folders, one turns your files into the embeddings that make meaning-based search work, and one reads what is inside images. Run /model to see which model is currently filling each role. Sift uses these by default:
ollama pull qwen3:4b # answers questions, organizes folders
ollama pull qwen3-embedding:0.6b # meaning-based search
ollama pull qwen2.5vl:3b # reads text and content inside imagesSift lists every compatible model you already have in Ollama, so you can switch to a different one with /model NAME or from the browser app. Reading images takes a few seconds per file, which is far slower than reading text, so it only happens when you ask for it with /scan --images.
Every Sift action also runs as a single command: a normal exit code, a plain-language answer, and a plan another program can read. An agent can draft a plan and save it as JSON, a person can review it, and Sift can apply it later, or an agent can call these commands directly as part of its own workflow.
sift status ~/Downloads
sift ask "Where is my March invoice?" --folder ~/Downloads
sift plan "move all PDFs into Papers" --folder ~/Downloads --save papers.json
sift apply papers.json
sift organize ~/Downloads --save organize.json
sift reveal ~/Downloads/invoice.pdf
sift undo
Native macOS app
Point Sift at a folder, ask in plain English, and review every change before it happens, all from a native macOS app.
Search for a topic, an invoice, a paper, or a half-remembered phrase. Sift retrieves relevant files even when your wording does not match the filename, then shows the matching document text so you can confirm the result.
Enable image reading during a scan and a local vision model can index screenshots and photos. This makes it possible to find a slide, receipt, chart, or captured conversation from what appears inside it.
Sift looks at the complete batch and proposes categories, subfolders, and clearer filenames together. You can also ask it to move, rename, group, or trash files in plain English, then see the result in a clear before-and-after view.
Build useful folders across the complete collection.
Move, rename, group, or trash files in plain English.
Reverse the latest batch, including files moved to the Trash.
Install Sift.command once to download the default local models and prepare the app.Sift.app icon revealed in Finder.Sift currently integrates with Finder, the macOS Trash, and a native macOS launcher. Windows and Linux are not officially supported in this initial release.
Sift combines understanding, retrieval, and organization in one private local workflow.
| Area | Sift | Existing file organizers |
|---|---|---|
| Core experience | Understand, find, and organize files in one place | Primarily sort, rename, or move files |
| Search | Natural-language retrieval with visible evidence | Commonly relies on filenames, metadata, filters, or rules |
| Organization | Proposes a coherent structure from the full batch | Commonly uses predefined categories or conditions |
| Workflow | Plain-language requests with a clear before-and-after preview | Commonly uses menus, profiles, rules, or fixed workflows |
| Privacy | Uses local Ollama models and keeps file contents on your Mac | AI and cloud usage vary by product |
Choose compatible chat, embedding, and vision models installed in Ollama.
Filenames, document text, images, prompts, and embeddings remain local.
Model output stays a suggestion until you choose to apply it.
The initial release focuses on macOS. Here is where it is headed.
Extending beyond the initial macOS release.
Related files and automatically discovered groups.
Let other agents use Sift's local index as context.
Feedback and contributions are welcome. Open an issue or send a pull request on GitHub.