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
This commit is contained in:
Haze
2026-02-05 23:24:31 +08:00
Unverified
parent 18dc3bf53f
commit ebb6f515a7
7 changed files with 1089 additions and 1 deletions

View File

@@ -8,11 +8,12 @@
### Completed:
* [commit_1] Project skeleton - Electron + React + TypeScript foundation (v0.1.0-alpha)
* [commit_2] Gateway refinements - Auto-reconnection, health checks, better state management
* [commit_3] Setup wizard - Multi-step onboarding flow with provider, channel, skill selection
### Plan:
1. ~~Initialize project structure~~
2. ~~Add Gateway process management refinements~~
3. Implement Setup wizard with actual functionality
3. ~~Implement Setup wizard with actual functionality~~
4. Add Provider configuration (API Key management)
5. Implement Channel connection flows
6. Add auto-update functionality