feat: initial release v0.1.0

- Custom Keyboard Extension with push-to-talk UI
- iOS 26 SpeechAnalyzer + DictationTranscriber (iOS 18 SF fallback)
- OpenAI-compatible LLM client (4 built-in providers + custom)
- 3-page onboarding flow + provider config UI
- App Group shared storage for cross-process config
- 8s LLM timeout with raw-transcript fallback
- App Store privacy manifests for both targets
- SwiftLint + XcodeGen + GitHub Actions CI
- Unit tests (4/4 passing)
This commit is contained in:
2026-06-17 23:08:58 +08:00
commit 07067ca6c5
45 changed files with 3072 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
// OpenLessApp.swift
// OSGKeyboard · Main App
//
// App entry point. Switches between Onboarding and Home based on
// whether the user has configured their API key yet.
import SwiftUI
import OSGKeyboardShared
@main
struct OSGKeyboardApp: App {
@StateObject private var config = ProviderConfig.shared
var body: some Scene {
WindowGroup {
if config.isConfigured {
HomeView()
} else {
OnboardingView()
}
}
}
}