Commit Graph

4 Commits

  • feat(gateway): integrate OpenClaw as git submodule
    - Add OpenClaw as git submodule at ./openclaw/
    - Update GatewayManager to start gateway from submodule path
    - Support both production (dist) and development (pnpm dev) modes
    - Add IPC handler for OpenClaw status check
    - Update Setup wizard to check real OpenClaw submodule status
    - Configure electron-builder to include submodule in packaged app
    - Add npm scripts for submodule management:
      - postinstall: auto-init submodule
      - openclaw:init: initialize and install dependencies
      - openclaw:install: install dependencies only
      - openclaw:build: build OpenClaw
      - openclaw:update: update to latest version
  • feat(channels): implement channel connection flows with multi-platform support
    - Add comprehensive Channels page with connection statistics and status display
    - Implement AddChannelDialog with type-specific connection flows:
      - QR code-based connection for WhatsApp/WeChat
      - Token-based connection for Telegram/Discord/Slack
    - Enhance channels store with addChannel, deleteChannel, and requestQrCode actions
    - Update electron-store usage to dynamic imports for ESM compatibility
    - Add channel connection instructions and documentation links
  • 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
  • feat(core): initialize project skeleton with Electron + React + TypeScript
    Set up the complete project foundation for ClawX, a graphical AI assistant:
    
    - Electron main process with IPC handlers, menu, tray, and gateway management
    - React renderer with routing, layout components, and page scaffolding
    - Zustand state management for gateway, settings, channels, skills, chat, and cron
    - shadcn/ui components with Tailwind CSS and CSS variable theming
    - Build tooling with Vite, electron-builder, and TypeScript configuration
    - Testing setup with Vitest and Playwright
    - Development configurations (ESLint, Prettier, gitignore, env example)