Major update: bundled whisper-cli, model downloader, progress indicator

Features:
- whisper-cli and dependencies bundled in app (no brew required for users)
- Built-in model downloader with 5 model options (Tiny to Large)
- Download progress indicator (e.g., "45% Downloading Small")
- Model selection dropdown in Settings
- First-run wizard for initial model download

Security fixes:
- Input validation for language and model path
- Private temp directory for audio files
- Auto-cleanup of audio files after transcription
- Auto-detect whisper-cli path (ARM/Intel)

Bug fixes:
- Fixed Settings window crash (NSWindowController)
- Fixed model selection with tag-based indexing

Build:
- bundle-whisper.sh script for packaging whisper-cli
- Updated Makefile with Frameworks bundling

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hariel1985
2026-02-02 14:09:36 +01:00
szülő f94265e4c5
commit 51438ea1bb
5 fájl változott, egészen pontosan 414 új sor hozzáadva és 56 régi sor törölve

Fájl megtekintése

@@ -2,7 +2,7 @@
APP_NAME = WhisperDictate
APP_BUNDLE = $(APP_NAME).app
VERSION = 1.0.0
VERSION = 1.1.0
# Directories
SRC_DIR = src
@@ -13,7 +13,7 @@ BUNDLE_DIR = $(APP_BUNDLE)/Contents
SWIFT = swiftc
SWIFT_FLAGS = -O -framework Cocoa -framework AVFoundation -framework Carbon -framework CoreGraphics -framework ServiceManagement
.PHONY: all clean build install run dmg
.PHONY: all clean build bundle install run dmg
all: build
@@ -24,14 +24,18 @@ $(BUILD_DIR)/$(APP_NAME): $(SRC_DIR)/main.swift
@mkdir -p $(BUILD_DIR)
@mkdir -p $(BUNDLE_DIR)/MacOS
@mkdir -p $(BUNDLE_DIR)/Resources
@mkdir -p $(BUNDLE_DIR)/Frameworks
$(SWIFT) $(SWIFT_FLAGS) -o $(BUNDLE_DIR)/MacOS/$(APP_NAME) $(SRC_DIR)/main.swift
@cp $(APP_BUNDLE)/Contents/Info.plist $(BUNDLE_DIR)/ 2>/dev/null || true
@./bundle-whisper.sh
@touch $(BUILD_DIR)/$(APP_NAME)
@echo "✓ Built $(APP_BUNDLE)"
clean:
rm -rf $(BUILD_DIR)
rm -rf $(BUNDLE_DIR)/MacOS/$(APP_NAME)
rm -rf $(BUNDLE_DIR)/MacOS/whisper-cli
rm -rf $(BUNDLE_DIR)/Frameworks/*.dylib
@echo "✓ Cleaned"
install: build