- 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
3.1 KiB
3.1 KiB
Commit 3: Setup Wizard
Summary
Implement a functional multi-step setup wizard for first-run user onboarding, guiding users through environment checks, AI provider configuration, channel connection, and skill selection.
Changes
React Renderer
src/pages/Setup/index.tsx
Complete rewrite with functional implementation:
- Step 0: Welcome - Introduction to ClawX
- Step 1: Runtime Check - Verify Node.js, OpenClaw, and Gateway status
- Step 2: Provider Configuration - Select AI provider and enter API key
- Step 3: Channel Connection - Choose messaging channel (WhatsApp, Telegram, etc.)
- Step 4: Skill Selection - Toggle predefined skill bundles
- Step 5: Complete - Summary of configuration
New components:
WelcomeContent- Welcome message and features overviewRuntimeContent- Environment checks with real Gateway statusProviderContent- Provider selection with API key input and validationChannelContent- Channel type selection with QR code placeholderSkillsContent- Skill bundle togglesCompleteContent- Configuration summary
Features:
- Animated transitions using Framer Motion
- Progress indicator with step navigation
- Dynamic
canProceedstate based on step requirements - API key visibility toggle
- Simulated API key validation
src/stores/settings.ts
- Added
setupComplete: booleanto state - Added
markSetupComplete()action - Setup status persisted via Zustand persist middleware
src/App.tsx
- Added
useLocationfor route tracking - Added redirect logic: if
setupCompleteis false, navigate to/setup - Fixed
handleNavigatecallback signature for IPC events
Technical Details
Setup Flow
Welcome -> Runtime -> Provider -> Channel -> Skills -> Complete
| | | | | |
v v v v v v
[Skip] [Check] [Validate] [Select] [Toggle] [Finish]
| | | | | |
+---------+----------+----------+----------+----------+
|
markSetupComplete()
|
Navigate to /
Provider Types
- Anthropic (Claude) - API key starts with
sk-ant- - OpenAI (GPT) - API key starts with
sk- - Google (Gemini) - Length validation
- Ollama (Local) - No API key required
- Custom - Configurable base URL
Channel Types
- WhatsApp - QR code connection
- Telegram - Bot token
- Discord - Bot token
- Slack - OAuth/Bot token
- WeChat - QR code connection
Skill Bundles
- Productivity - Calendar, reminders, notes
- Developer - Code assistance, git operations
- Information - Web search, news, weather
- Entertainment - Music, games, trivia
UI/UX Features
- Gradient background with glassmorphism cards
- Step progress dots with completion indicators
- Animated page transitions
- Back/Skip/Next navigation
- Toast notifications on completion
Version
v0.1.0-alpha (incremental)