FanumTag is a local-first desktop rename workspace built with Tauri (Rust) + SolidJS (TypeScript). It scans a folder into a visual queue, uses local AI to suggest descriptive filenames, and applies safe bulk renames without uploading your files.
- Rust owns a singleton local runtime manager.
- The manager starts one bundled
llama-server.exeprocess fromsrc-tauri/lib. - Vision weights are loaded from
src-tauri/weights:Qwen2-VL-2B-Instruct-IQ2_M.ggufmmproj-Qwen2-VL-2B-Instruct-f16.gguf
- Frontend communicates through Tauri commands/events.
runtime_get_statusruntime_get_configruntime_update_configruntime_startruntime_stopruntime_cancel_batchruntime_generate_batchapply_renames
- Workspace queue with folder quick access, subfolder browsing, thumbnails, search, sorting, filtering, and pagination
- Batch suggestions for images, videos, and text files, with deterministic fallback handling
- Live generation progress with per-file status, ready/pending counts, and a Stop control
- Selection tools for selecting all, selecting a page, selecting ready items, inverting a page, and keeping ready items
- Safe native renames with collision handling and Windows-name validation
- Runtime settings for host, port, threads, GPU layers, context size, request timeout, and auto-start
- Runtime health checks for bundled inference, Whisper, and FFmpeg dependencies
Start by selecting a folder. The workspace provides quick access to common folders and keeps the selection and pagination panels ready for the queue.
Review thumbnails and pending files before generating suggestions. The queue supports search, sorting, file-type filtering, subfolders, and page navigation.
Generation progress is shown in the workspace footer and in the per-file status column. You can stop an active batch at any time.
Configure the local runtime and check the health of its bundled dependencies from the Settings view.
pnpm install
pnpm tauri devpnpm build
pnpm serve- Keep runtime and model paths local for privacy.
- No cloud dependency is required for default workflow.



