@vintcessun: 午间看到一个解决下载目录乱象的工具,有点离谱——用Rust+Tauri写了个系统托盘文件整理器,内存占用才5MB,还刚补上Linux支持。核心是文件监控加规则引擎,按扩展名或正则自动分类,SQLite记操作历史可一键撤销。隐私方面零上报,…
摘要
介绍了一个开源的桌面文件整理工具Mouzi,基于Rust和Tauri构建,内存占用仅5MB,支持文件监控和规则引擎自动分类,强调隐私零上报。
查看缓存全文
缓存时间: 2026/06/08 09:25
午间看到一个解决下载目录乱象的工具,有点离谱——用Rust+Tauri写了个系统托盘文件整理器,内存占用才5MB,还刚补上Linux支持。核心是文件监控加规则引擎,按扩展名或正则自动分类,SQLite记操作历史可一键撤销。隐私方面零上报,完全离线,连检查更新都不走云。这才是正经做生产力的。
hsr88/mouzi
Source: https://github.com/hsr88/mouzi
Mouzi 🧹🐁
Your downloads, tamed.
Mouzi is a silent, elegant file organizer that lives in your system tray and keeps your Downloads folder (and any other folder) automatically tidy. It runs quietly in the background, monitors selected folders, and moves, renames, or sorts files based on customizable rules.
📸 Screenshots
✨ Features
🔇 Silent by Default
- Runs 24/7 in the background with minimal resource usage (~5 MB RAM)
- Automatically organizes new files as they arrive
- Shows a subtle Windows toast notification with the count of organized files
- Silent autostart with Windows
📁 Smart Rules Engine
- Images (
.jpg,.png,.gif,.webp…) →Downloads/Images/ - Documents (
.pdf,.docx,.xlsx…) →Downloads/Documents/ - Archives (
.zip,.rar,.7z…) →Downloads/Archives/ - Installers (
.exe,.msi…) →Downloads/Installers/ - Music / Video → dedicated folders
- Catch-all rule for everything else
🛠️ Fully Customizable
- Create your own rules with extensions, regex patterns, and destination folders
- Use dynamic placeholders in paths:
{year},{month},{day},{extension},{filename} - Reorder rules by priority - first match wins
🚫 Ignore Rules (.mouziignore)
- Per-folder ignore patterns — like
.gitignorefor your files - Set up via Settings UI or write a
.mouziignorefile manually - Supports wildcards (
*.tmp), exact names (.DS_Store), and folders (node_modules/)
📜 History & Undo
- Every action is logged locally in SQLite
- Undo any single move with one click
- Clear history anytime
🌍 Multi-language
Auto-detects your system language. Supported:
- 🇬🇧 English
- 🇵🇱 Polish
- 🇮🇹 Italian
- 🇩🇪 German
- 🇫🇷 French
- 🇷🇺 Russian
- 🇯🇵 Japanese
(Falls back to English if system language is not supported)
🕶️ Dark Mode
- Follows system theme, or force Light / Dark mode from settings
🔒 Privacy First
- 100% offline - zero cloud, zero file name uploads
- No telemetry by default
- System files ignored -
desktop.ini,Thumbs.db,.DS_Store, and other OS hidden files are never touched - Portable version available - run without installing, leaves no trace in the registry
- All data stored locally in your user profile folder
📥 Download
Windows
| Installer | Size | Best For |
|---|---|---|
Mouzi_0.1.1_x64-setup.exe | ~3.3 MB | Regular users (auto-installer) |
Mouzi_0.1.1_x64_en-US.msi | ~4.7 MB | Enterprise / Active Directory |
Mouzi_0.1.1_x64-portable.exe | ~14 MB | Power users (no install) |
⚠️ Windows 10/11. Requires the Microsoft Edge WebView2 Runtime (pre-installed on most systems).
Linux
| Package | Size | Best For |
|---|---|---|
Mouzi_0.1.0_amd64.AppImage | ~86 MB | Universal — works on most distros |
Mouzi_0.1.0_amd64.deb | ~6.9 MB | Debian, Ubuntu, Mint, Pop!_OS |
Mouzi-0.1.0-1.x86_64.rpm | ~6.9 MB | Fedora, openSUSE, RHEL |
🐧 Linux requirements:
libwebkit2gtk-4.1andlibayatana-appindicator3. Most modern distros have these pre-installed.
SHA-256 Checksums
Mouzi_0.1.1_x64-setup.exe: (see release page)
Mouzi_0.1.0_amd64.AppImage: (see release page)
Mouzi_0.1.0_amd64.deb: (see release page)
Mouzi-0.1.0-1.x86_64.rpm: (see release page)
🚀 Quick Start
- Download Mouzi for your OS using the links above.
- Windows: Install and Mouzi starts automatically with a tray icon (📂).
Linux: Run the AppImage directly, or install the
.deb/.rpmpackage. - Left-click the tray icon to open the popup - see recent actions, stats, and clean manually.
- Right-click the tray icon for the menu:
Clean Now,Settings,Quit. - Drop a file into your
Downloadsfolder and watch it disappear into the right subfolder within 2 seconds.
⚙️ How Rules Work
Rules are evaluated top-to-bottom. The first rule that matches a file wins.
| Condition | Example Match |
|---|---|
| Extensions | jpg, png, gif |
| Regex pattern | .*faktura.* matches faktura_2025.pdf |
Destination path placeholders:
Downloads/Documents/{year}/{month}/
→ Downloads/Documents/2026/05/
📐 Architecture
+---------------------------------------------+
| Frontend (React 19 + TypeScript + Tailwind) |
| +- Popup window (300x420, frameless) |
| +- Settings window (900x650) |
+---------------------------------------------+
| Tauri 2.x Bridge |
+---------------------------------------------+
| Backend (Rust) |
| +- File Watcher (notify crate) |
| +- Rules Engine |
| +- SQLite Database (rusqlite) |
| +- System Tray & Notifications |
+---------------------------------------------+
🛠️ Development
Prerequisites
- Rust (latest stable)
- Node.js 22+
- Windows: Windows SDK / MSVC (Visual Studio Build Tools)
- Linux:
libwebkit2gtk-4.1-dev,libayatana-appindicator3-dev,fuse(see Tauri Linux prerequisites)
Setup
# Clone the repo
git clone https://github.com/yourusername/mouzi.git
cd mouzi
# Install frontend dependencies
npm install
# Run in development mode (hot-reload for both frontend & Rust)
npm run tauri dev
Build from Source
# Production build (MSI + NSIS installer)
npm run tauri build
Output will be in src-tauri/target/release/bundle/.
📋 Roadmap
- MVP with default rules
- Multi-language support
- Dark mode
- History & undo
- Start with Windows (registry Run key)
- Custom folders with local rules
- System files ignored (desktop.ini, Thumbs.db, etc.)
- Check for updates button
-
.mouziignore- per-folder ignore patterns (like.gitignore) - Portable version (single .exe, no installer)
-
Browser temp files ignored (
.crdownload,.part,.tmp) - Grace period option - delay moving files by X minutes (so browser download links stay valid)
- File lock check - skip files currently in use by another process
- Single-instance guard - prevent duplicate processes & tray icons
- First-run popup visibility - show window on initial launch
- Clickable toast - open destination folder from popup notification
- Skip 0KB placeholder files during download
- Per-folder manual/paused mode - collect files but don’t move until user clicks Clean Now
- Scheduled clean mode - run once/2/3/4 times per day instead of real-time
- Batch group selected files - select multiple files, one click to group into a folder
- Export/import rules as JSON (backup + sharing)
- Suggest mode (modal confirmation per file)
- Local AI tagging (ONNX runtime for content classification)
- Rule learning from user manual moves
- Linux port (AppImage, .deb, .rpm)
- macOS port
☕ Support
If Mouzi saves you time and keeps your Downloads folder sane, consider supporting its development:
Or visit the project homepage: mouzi.cc
📄 License
Mouzi is released under the MIT License.
🙏 Acknowledgements
Built with Tauri, React, Tailwind CSS, and Rust.
Made with ❤️ for people who download too much stuff.
相似文章
@geekbb: 基于 Tauri(Rust + Svelte)的桌面应用,将编程 AI 代理、API 客户端、SQL/NoSQL 编辑器、SSH 终端、远程文件浏览器和项目管理看板整合在一个界面中,开发者不用在多个应用之间切换。 https://gith…
Clauge 是一个基于 Tauri(Rust + Svelte)的桌面应用,将编程 AI 代理、API 客户端、SQL/NoSQL 编辑器、SSH 终端、远程文件浏览器和项目管理看板集成在同一界面内,让开发者无需在多个应用间切换。
@vintcessun: 发现新思路:编码 agent 原来可以轻到这个程度。16MB 内存、0% 空闲 CPU、26MB 二进制——这数据在 agent 圈里有点离谱。 它用 Rust 硬怼,17k LoC 就把所有标准工具、权限系统、会话管理、MCP 都塞进去…
Zerostack 是一个用 Rust 编写的极简编码 agent,仅消耗 16MB 内存和 26MB 二进制,通过 feature gate 实现轻量化,支持多种提供商和工具。
@VincentLogic: 发现个字节开源的桌面 AI 神器! UI-TARS Desktop,31k stars 不是吹的,这玩意儿真能看懂你的屏幕,然后帮你自动操作电脑。 你告诉它"帮我把 VS Code 的自动保存打开,延迟改成 500 毫秒",它就自己: -…
字节跳动开源的桌面 AI 自动化工具 UI-TARS Desktop 支持本地运行与屏幕视觉理解,可通过自然语言指令自主操控电脑完成日常任务。
@VincentLogic: 发现个炸裂的开源项目!Redis 之父 antirez 亲自下场搞了个大新闻! ds4 —— DeepSeek V4 Flash 本地推理引擎,专为 Mac Metal 优化,连续霸榜 GitHub 好几天! 最狠的地方来了: 128GB…
Redis 之父 antirez 发布了名为 ds4 的开源项目,是专为 Mac Metal 优化的 DeepSeek V4 Flash 本地推理引擎,支持磁盘 KV 缓存、超长上下文,性能优异。
@berryxia: 兄弟们! 不要重复造轮子,直接拿这个31.4K Star的开源来干吧! 字节跳动把 UI-TARS-desktop 开源了,看了一眼,这个项目已经上线快一年了! 目前 Star 数已经来到 31.4k,而且增长速度还挺稳。 24 小时增长…
ByteDance open-sourced UI-TARS-desktop, a native desktop GUI agent with 31.4k GitHub stars that uses vision models to control local or remote applications via natural language. The tool runs locally for privacy, supports Windows and macOS, and includes a CLI with streaming output for developers.