Unifyl - AI-powered dual-pane file manager for macOS.

byβ€’
Unifyl is a next-generation dual-pane file manager for macOS. Total Commander's depth, ForkLift's poliUnifyl brings Total Commander's power to macOS β€” with modern design and local AI intelligence. πŸ—‚ Dual-pane file management with tabs, workspaces, and function keys πŸ‘ Press F3 to instantly preview any file β€” PDF, code, images, video, hex β€” in its own window πŸ”§ 30+ built-in tools: hex editor, git panel, media converter, EXIF editor, folder heatmap

Add a comment

Replies

Best

1.0.1 ships today with fixes for Korean archive support!

Hi Hunters πŸ‘‹

I'm the maker of **Unifyl**, a dual-pane file manager for macOS that ties together three worlds:

1. **Total Commander's keyboard muscle memory** β€” F2 rename, F5/F6 copy/move, Tab panel switch, Ctrl+U swap, Ctrl+B branch view, Shift+F5 duplicate, Insert-select, and 100+ more. Every TC binding you reflexively hit is already bound.
2. **ForkLift-grade native polish** β€” SwiftUI + AppKit, Apple HIG, Sonoma+ only. Dark/light, 12 built-in themes, macOS tags, Quick Look, system drag-and-drop.
3. **AI that actually respects your privacy** β€” local CoreML embeddings for semantic search ("find the screenshot I took yesterday about auth"), auto-classification, AI rename for images, smart tagging. Zero cloud AI required.

**v1.0.3 highlights**:

- **Massive data-integrity pass**: fixed a checksum-verify bug that could accept the literal string "error" as a matching hash, a sync-engine bug that could mistake permission-denied folders for empty folders and generate mass-delete plans, and a Vision duplicate-detector bug that could flag unrelated images as duplicates. Full list in CHANGELOG.
- **Korean / CJK filenames fixed on every cloud**: APFS stores Korean filenames decomposed (NFD), S3/Dropbox/OneDrive/WebDAV/SMB/SFTP/FTP/Google Drive store them composed (NFC). Unifyl now normalizes at every remote boundary so `ν•œκΈ€.txt` round-trips cleanly instead of showing up as a different filename on each side.
- **Legacy CJK text preview**: EUC-KR / CP949 / Shift-JIS / GB18030 / Big5 files preview correctly instead of mojibake.
- **Volume picker** in the toolbar β€” plug in a USB drive and it shows up instantly; click to jump.
- **TC-style command bar discoverability** β€” big teal Terminal button on the F-key bar so new users find the bottom shell without memorising Cmd+Opt+T.
- **Swift 6 strict concurrency** throughout: audit logger, FSEvents watcher, NSFileCoordinator concurrency, DispatchSource races β€” all hardened.

**Pricing** (launch special):
- **FREE** β€” dual-pane, basic search, FTP/SFTP, ZIP, 2 cloud providers.
- **PRO $39.99 one-time** β€” every remote protocol, all clouds, multi-rename, AI search/classify/rename, compare & sync, automation, plugin SDK.
- **Product Hunt launch discount**: code `PRODUCTHUNT` = **25% off Pro** (100 uses, valid until 2026-05-13).

Download: ...
GitHub: ...
Discord/support: ...

Honest feedback very welcome β€” especially from long-time Total Commander or Midnight Commander users. AMA on TC-style keybindings, on-device AI, Korean filesystem quirks, or why I'm betting on one-time pricing in a subscription-everything era.

Maker here. I built this because I kept hitting the same three walls in Finder:

no second panel, no way to prove two folders actually match, and archives you

have to unpack before you can look inside.

Two things I'd rather say up front than have found out:

The Mac App Store build is sandboxed, so it does not have the developer tools β€”

Git panel, inline terminal, Docker, SSH tunnels, the port and process viewers.

Those need to spawn processes, which the sandbox forbids. If you want them, take

the direct download. Everything else is identical.

The AI is genuinely local. Semantic search runs through CoreML on the Neural

Engine and the vector index sits on your disk. There is no account, no server

and no telemetry, which also means I cannot see what you searched for β€” if you

report an AI bug I will need you to describe it, because I have nothing to look

at on my end.

Happy to answer anything, including the boring parts. My favorite bug this

month: opening your home folder triggered a Photos permission dialog, because

macOS guards a plain directory called ~/Library/Photos and my folder-size walk

stepped into it. TCC logs never name the path β€” I found it by attaching a

debugger while the dialog was up and reading the path out of the blocked

open() call's register.