Commit Graph

13 Commits

Author SHA1 Message Date
paisley
7b16b6af14 feat: support OAuth & API key for Qwen/MiniMax providers (#177) 2026-02-26 15:11:37 +08:00
Haze
d55305839f feat(updater): implement auto-install countdown and cancellation for updates (#151) 2026-02-24 16:41:53 +08:00
paisley
e8915831dc feat: localize custom provider name and ollama placeholder (#75) 2026-02-13 17:42:52 +08:00
Haze
300a219f95 chore(UI): ux model settings (#64) 2026-02-12 13:28:20 +08:00
Felix
8ab1b3af36 misc: provider icons, tooltip in chat toolbar, conditionally display the "Open Skills Folder" button and update "Documentation" to "Website" in settings (#60) 2026-02-12 11:11:28 +08:00
paisley
6e09a69f4f feat(app): i18n (#48) 2026-02-11 15:34:53 +08:00
Haze
1267e0cc56 fix(updater): update function support alpha (#45) 2026-02-11 13:49:03 +08:00
DigHuang
0ced0b042c refactor(provider): provider API validation & CN defaults (#47) 2026-02-11 13:48:15 +08:00
DigHuang
1b508d5bde feat(provider): mainly support moonshot / siliconflow on setup (#43) 2026-02-11 11:33:33 +08:00
Haze
e9ad15bf6f fix(ui): move chat controls to header, add new session, fix settings layout
Chat page:
- Move session selector, refresh, thinking toggle to the Header bar
  (same level as "Chat" title) instead of inside the chat content area
- Add "New Session" button (+ icon) to create fresh chat sessions
- Remove duplicate toolbar from chat body

Settings page:
- Remove max-w-2xl constraint so cards fill available width
- Redesign provider cards: compact layout with key + actions in one row
- Shorten API key display (sk-...df67 format instead of full masked key)
- Move edit/delete/star buttons inside the key row background area
- Remove duplicate "AI Providers" heading (already in card header)
2026-02-06 05:11:39 +08:00
Haze
4431d2ba1d feat(providers): implement real API key validation with OpenRouter support
- Replace mock API key validation with actual API calls to verify keys
- Add validateApiKeyWithProvider() with provider-specific implementations
- Support Anthropic, OpenAI, Google, and OpenRouter validation
- Add OpenRouter as a new provider option in setup wizard and settings
- Fix setup page to call real validation instead of mock length check
- Allow validation during setup before provider is saved
- Return user-friendly error messages instead of raw API errors
2026-02-06 01:25:33 +08:00
Haze
e02cf05baf feat(update): implement auto-update functionality with electron-updater
- Add AppUpdater module with update lifecycle management
- Create UpdateSettings UI component with progress display
- Add Progress UI component based on Radix UI
- Create update Zustand store for state management
- Register update IPC handlers in main process
- Auto-check for updates on production startup
- Add commit documentation for commits 2-6
2026-02-05 23:36:12 +08:00
Haze
ebb6f515a7 feat(providers): implement secure API key storage and provider management
Add complete provider configuration system with the following features:

- Secure API key storage using Electron's safeStorage encryption
- Provider CRUD operations with IPC handlers
- Lazy-loaded electron-store for ESM compatibility
- Provider settings UI component with add/edit/delete functionality
- API key masking for display (shows first/last 4 chars)
- Basic API key format validation per provider type
- Default provider selection
- Provider enable/disable toggle

New files:
- electron/utils/secure-storage.ts: Encrypted key storage and provider config
- src/stores/providers.ts: Zustand store for provider state
- src/components/settings/ProvidersSettings.tsx: Provider management UI
2026-02-05 23:24:31 +08:00