OMO Switch v1.0.0
OMO Switch - AI 模型切换管理工具
🚀 本次更新
🚀 新功能
- 重构预设管理和修复多个UI问题
- feat(preset): enhance preset manager with sync time and dependency check
- data flow fixes and upstream sync feature
- feat(ci): add multi-platform build with auto release notes
- feat(i18n): add defaultPreset translation
- feat(components): add PresetSelector and integrate with auto-sync
- feat(i18n): add preset selector translations
- feat(preset): add update_preset to sync current config to preset
- feat(store): add presetStore for active preset state
- feat(preset): show active status in PresetCard with toast
- feat(settings): use MonitorSmartphone icon and optimize loading performance
- feat(i18n): add settings.update.description translation
- complete auto-updater and UX improvements
- feat(updater): add auto-updater configuration with signing key
- feat(icons): update app icon with new design
- feat(ui): add opener plugin for path click + dynamic tray name
- add agent descriptions with hover preview, fix modal overflow
- feat(ui): model library browser
- config import/export
- preset configuration management
- feat(ui): config status dashboard
- feat(ui): agent model switching view (core feature)
- feat(ui): frontend shell with layout and stores
- feat(backend): OMO config read/write/backup engine
- feat(backend): model data service with local cache
🔧 修复与优化
- fix(ci): use fixed password for signing key, update public key
- fix(ci): move signing env vars to step level only, use env var for signer
- fix(ci): use -k flag to pass private key directly, avoid env conflict
- fix(ci): regenerate signing key pair with empty password
- fix(ci): unset TAURI_SIGNING_PRIVATE_KEY in script instead of env
- fix(ci): override TAURI_SIGNING_PRIVATE_KEY to empty in signing steps
- fix(ci): use SIGNING_KEY env var to avoid conflict with tauri signer
- fix(ci): use 16cac8a yml structure with --no-sign for build
- fix(ci): rewrite release.yml following 文生图 project pattern
- fix(ci): avoid env var conflict by using PRIVATE_KEY_BASE64 for signing
- fix(ci): use correct --private-key-path argument for signer
- fix(ci): use --no-sign and manual signer step
- fix(ci): update updater public key
- fix(ci): add createUpdaterArtifacts and pass signing keys to tauri-action
- fix(ci): use tauri signer with env var instead of CLI args
- fix(ci): use correct tauri signer sign arguments
- fix(ci): add continue-on-error and multi-dir search for signature generation
- fix(ci): add manual updater signature generation for tauri-action
- 统一缓存目录路径,修复点击缓存目录无法打开的问题
- fix(ci): remove bun.lock and set npm as package manager for tauri-action compatibility
- perf: optimize app startup and page switching performance
- perf: add 3s timeout to upstream fetch to prevent startup hang
- remove process.env usage in SettingsPage for browser compatibility
- fix(ci): pin time crate to 0.3.37 for Rust compatibility
- fix(ci): add tauri-cli installation step
- fix(ci): replace tauri-action with direct cargo tauri build to avoid bun compatibility issue
- fix(ci): revert to npm due to tauri-action bun compatibility issue
- fix(ci): use bun instead of npm in GitHub Actions workflow
- refactor: rename package to omo-switch and update docs
- perf(settings): use skeleton for version check loading
- fix(models): align search input and provider selector
- perf(settings): add cache for config path, app version and name
- fix(icons): scale up icon content to fill more canvas
- fix(icons): regenerate all icons from icon.icns
- fix(config): omit variant field when set to none
- perf(models): persist model browser cache to localStorage
- perf(settings): add stale-while-revalidate cache for version check
- fix(ui): unify app name from Tauri config
- fix(version): include specific version in OMO update command
- preserve JSON key order for agent list display
- perf: add local cache for models.dev API (30min TTL)
- refactor: change agent list to vertical layout matching JSON key order
- align frontend invoke names with Rust commands and add update_agent_model
- add dialog capabilities and convert dashboard to light theme
- fix(config): remove invalid dialog plugin config causing crash
📝 文档更新
- update demo screenshot in all README files
- mark all acceptance criteria as complete
📦 其他改动
- security: update signing key with strong password
- chore: remove 开发进度.md
- release: v1.0.0
- chore: reorganize repository structure - move all files to root and update config path to OMO-Switch
- chore: remove empty omo-model-switcher directory
- chore: move all files to repository root
- chore: remove unused files
- ci: update release workflow with signing support
- ci: add GitHub Actions release workflow
- chore(git): add sisyphus and tauri gen to gitignore
- chore(git): add sisyphus and tauri gen to gitignore, remove from tracking
- chore: rename app to OMO Switch
- chore: update app icon
- chore: cleanup draft file
- chore: polish, tests, production build
构建时间: 2026-02-17 20:55:00
由 GitHub Actions 自动构建发布 - 2026-02-17 20:55:00