@kikkimo/claude-launcher 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/README.md +100 -41
- package/claude-launcher +1017 -576
- package/docs/README-zh.md +104 -45
- package/lib/api-manager.js +449 -0
- package/lib/auth/password-input.js +144 -0
- package/lib/auth/password-strength.js +154 -0
- package/lib/auth/password-validator.js +255 -0
- package/lib/crypto.js +85 -0
- package/lib/i18n/formatter.js +62 -0
- package/lib/i18n/index.js +218 -0
- package/lib/i18n/language-manager.js +160 -0
- package/lib/i18n/locales/de.js +523 -0
- package/lib/i18n/locales/en.js +524 -0
- package/lib/i18n/locales/es.js +523 -0
- package/lib/i18n/locales/fr.js +523 -0
- package/lib/i18n/locales/it.js +523 -0
- package/lib/i18n/locales/ja.js +523 -0
- package/lib/i18n/locales/ko.js +523 -0
- package/lib/i18n/locales/pt.js +523 -0
- package/lib/i18n/locales/ru.js +523 -0
- package/lib/i18n/locales/zh-TW.js +523 -0
- package/lib/i18n/locales/zh.js +523 -0
- package/lib/launcher.js +253 -0
- package/lib/presets/providers.js +104 -0
- package/lib/ui/colors.js +32 -0
- package/lib/ui/interactive-table.js +260 -0
- package/lib/ui/menu.js +314 -0
- package/lib/ui/prompts.js +540 -0
- package/lib/utils/string-width.js +180 -0
- package/lib/utils/version-checker.js +240 -0
- package/lib/validators.js +130 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,61 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.0] - 2025-09-21
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Multi-language Support**: Complete internationalization (i18n) system with support for English, Chinese, German, French, Japanese, Korean, Russian, and Spanish
|
|
12
|
+
- **Third-party API Management**: Full support for multiple third-party API providers with secure configuration management
|
|
13
|
+
- **Interactive API Selection Tables**: Beautiful table-based interface for API switching and removal operations
|
|
14
|
+
- **Version Update Checking**: Automatic and manual version update detection with configurable check intervals
|
|
15
|
+
- **Password-Protected Import/Export**: Secure configuration backup and restore with password encryption
|
|
16
|
+
- **Modular Architecture**: Complete refactor to modular design with separated concerns:
|
|
17
|
+
- `ApiManager` class for API configuration management
|
|
18
|
+
- Dedicated authentication modules with password strength validation
|
|
19
|
+
- UI components for menus, prompts, and interactive tables
|
|
20
|
+
- Crypto utilities for secure data encryption
|
|
21
|
+
- Language management system with locale support
|
|
22
|
+
- **Enhanced Menu System**: Global menu objects to prevent screen flickering during navigation
|
|
23
|
+
- **API Usage Statistics**: Track and display API usage patterns and statistics
|
|
24
|
+
- **Advanced Input Validation**: Comprehensive validation for URLs, auth tokens, and model configurations
|
|
25
|
+
- **CJK Character Support**: Improved handling of Chinese, Japanese, and Korean characters in UI
|
|
26
|
+
- **First-time Setup Wizard**: Guided setup process for new users with password configuration options
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- **Complete Architecture Overhaul**: Migrated from monolithic script to modular architecture with 28+ separate modules
|
|
30
|
+
- **Enhanced Security Model**: Upgraded from basic encryption to industry-standard AES-256-CBC with machine-specific keys
|
|
31
|
+
- **Improved User Experience**: Redesigned all user interactions with consistent Claude-style theming
|
|
32
|
+
- **Better Error Handling**: Comprehensive error management with user-friendly messages in multiple languages
|
|
33
|
+
- **Stdin Management**: Robust stdin cleanup and management to prevent navigation issues
|
|
34
|
+
- **Menu Navigation**: Enhanced arrow key navigation with better state management
|
|
35
|
+
- **Configuration Storage**: Migrated from `.env` files to encrypted JSON configuration format
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
- **Memory Leaks**: Resolved EventEmitter memory leaks in input handling
|
|
39
|
+
- **Screen Flickering**: Eliminated menu recreation issues that caused display flickering
|
|
40
|
+
- **Input State Management**: Fixed stdin cleanup issues that prevented proper navigation
|
|
41
|
+
- **API Token Security**: Improved token masking and secure storage mechanisms
|
|
42
|
+
- **Cross-platform Compatibility**: Enhanced support for different terminal environments
|
|
43
|
+
- **Process Termination**: Better handling of Ctrl+C and graceful shutdown sequences
|
|
44
|
+
- **Duplicate Detection**: Robust checking for duplicate API configurations
|
|
45
|
+
- **Unicode Handling**: Fixed string width calculations for international characters
|
|
46
|
+
|
|
47
|
+
### Refactored
|
|
48
|
+
- **Code Organization**: Split monolithic launcher into focused, testable modules
|
|
49
|
+
- **API Management**: Centralized API configuration handling with the `ApiManager` class
|
|
50
|
+
- **Authentication System**: Dedicated password handling with strength validation
|
|
51
|
+
- **UI Components**: Separated interface logic into reusable components
|
|
52
|
+
- **Error Handling**: Centralized error management with consistent user feedback
|
|
53
|
+
- **Import/Export Logic**: Streamlined configuration backup and restore processes
|
|
54
|
+
- **Language System**: Implemented comprehensive i18n framework for multi-language support
|
|
55
|
+
|
|
56
|
+
### Security
|
|
57
|
+
- **Enhanced Encryption**: Upgraded to AES-256-CBC encryption for all sensitive data
|
|
58
|
+
- **Password Strength Validation**: Enforced strong password requirements for configuration protection
|
|
59
|
+
- **Secure Token Storage**: Improved API token encryption and masking in displays
|
|
60
|
+
- **Machine-specific Keys**: Maintained machine-binding for configuration security
|
|
61
|
+
- **Input Sanitization**: Enhanced validation for all user inputs to prevent security issues
|
|
62
|
+
|
|
8
63
|
## [1.0.0] - 2025-07-20
|
|
9
64
|
|
|
10
65
|
### Added
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Claude Launcher
|
|
2
2
|
|
|
3
|
-
An elegant interactive launcher for Claude Code with a beautiful Claude-style interface. Launch Claude Code with various configurations through an intuitive command-line menu.
|
|
3
|
+
An elegant interactive launcher for Claude Code with a beautiful Claude-style interface and comprehensive third-party API management. Launch Claude Code with various configurations through an intuitive multilingual command-line menu.
|
|
4
4
|
|
|
5
5
|
## 📖 Documentation
|
|
6
6
|
|
|
@@ -9,13 +9,33 @@ An elegant interactive launcher for Claude Code with a beautiful Claude-style in
|
|
|
9
9
|
|
|
10
10
|
## ✨ Features
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
### 🎨 **Beautiful Interface**
|
|
13
|
+
- Claude-style interface with authentic orange/amber color scheme
|
|
14
|
+
- Arrow key navigation with smooth menu transitions
|
|
15
|
+
- Interactive tables for API selection and management
|
|
16
|
+
- Multi-language support (8 languages including English, Chinese, German, French, Japanese, Korean, Russian, Spanish)
|
|
17
|
+
|
|
18
|
+
### 🔐 **Advanced Security**
|
|
19
|
+
- AES-256-CBC encryption for all sensitive data
|
|
20
|
+
- Machine-specific encryption keys for enhanced security
|
|
21
|
+
- Password-protected configuration import/export
|
|
22
|
+
- Secure API token storage with masked display
|
|
23
|
+
- Strong password requirements and validation
|
|
24
|
+
|
|
25
|
+
### 🚀 **Third-party API Management**
|
|
26
|
+
- Full support for multiple third-party API providers
|
|
27
|
+
- Interactive API configuration with validation
|
|
28
|
+
- API usage statistics and tracking
|
|
29
|
+
- Secure configuration backup and restore
|
|
30
|
+
- Easy API switching and removal
|
|
31
|
+
|
|
32
|
+
### 🌍 **Enterprise-grade Features**
|
|
33
|
+
- Global installation - use `claude-launcher` from anywhere
|
|
34
|
+
- Modular architecture with 28+ specialized modules
|
|
35
|
+
- Comprehensive error handling and recovery
|
|
36
|
+
- Version update checking with automatic notifications
|
|
37
|
+
- Cross-platform support (Windows, macOS, Linux)
|
|
38
|
+
- First-time setup wizard for new users
|
|
19
39
|
|
|
20
40
|
## 🚀 Quick Start
|
|
21
41
|
|
|
@@ -29,9 +49,12 @@ An elegant interactive launcher for Claude Code with a beautiful Claude-style in
|
|
|
29
49
|
claude-launcher
|
|
30
50
|
```
|
|
31
51
|
|
|
32
|
-
3. **
|
|
52
|
+
3. **First-time setup:** The launcher will guide you through:
|
|
53
|
+
- Language selection (8 languages available)
|
|
54
|
+
- Security setup (password configuration for import/export)
|
|
55
|
+
- Third-party API configuration (if desired)
|
|
33
56
|
|
|
34
|
-
That's it! The
|
|
57
|
+
That's it! The intuitive interface will guide you through all available options.
|
|
35
58
|
|
|
36
59
|
## 📦 Installation
|
|
37
60
|
|
|
@@ -54,19 +77,23 @@ node claude-launcher
|
|
|
54
77
|
|
|
55
78
|
## 🎮 Usage
|
|
56
79
|
|
|
57
|
-
### Available
|
|
80
|
+
### Available Options
|
|
58
81
|
|
|
59
82
|
1. **Launch Claude Code** - Standard Claude Code launch
|
|
60
83
|
2. **Launch Claude Code (Skip Permissions)** - Launch with `--dangerously-skip-permissions`
|
|
61
|
-
3. **Launch Claude Code with
|
|
62
|
-
4. **Launch Claude Code with
|
|
63
|
-
5. **
|
|
84
|
+
3. **Launch Claude Code with Third-party API** - Use configured third-party API
|
|
85
|
+
4. **Launch Claude Code with Third-party API (Skip Permissions)** - Combine third-party API with permission skipping
|
|
86
|
+
5. **Third-party API Management** - Configure, switch, remove APIs, view statistics
|
|
87
|
+
6. **Language Settings** - Switch between 8 supported languages
|
|
88
|
+
7. **Version Update Check** - Check for launcher updates
|
|
89
|
+
8. **Exit** - Close the launcher
|
|
64
90
|
|
|
65
91
|
### Interactive Navigation
|
|
66
92
|
|
|
67
|
-
- **Arrow Keys**: Use ↑↓ to navigate, Enter to select
|
|
68
|
-
- **
|
|
69
|
-
- **
|
|
93
|
+
- **Arrow Keys**: Use ↑↓ to navigate, Enter to select
|
|
94
|
+
- **Escape Key**: Press Esc to go back or exit
|
|
95
|
+
- **Multi-language**: All interface text adapts to your selected language
|
|
96
|
+
- **Smart Tables**: Interactive tables for API management with clear visual feedback
|
|
70
97
|
|
|
71
98
|
### Example Session
|
|
72
99
|
|
|
@@ -81,44 +108,76 @@ $ claude-launcher
|
|
|
81
108
|
|
|
82
109
|
→ Launch Claude Code
|
|
83
110
|
Launch Claude Code (Skip Permissions)
|
|
84
|
-
Launch Claude Code with
|
|
85
|
-
Launch Claude Code with
|
|
111
|
+
Launch Claude Code with Third-party API
|
|
112
|
+
Launch Claude Code with Third-party API (Skip Permissions)
|
|
113
|
+
Third-party API Management
|
|
114
|
+
Language Settings
|
|
115
|
+
Version Update Check
|
|
86
116
|
Exit
|
|
87
117
|
```
|
|
88
118
|
|
|
119
|
+
### Third-party API Management
|
|
120
|
+
|
|
121
|
+
Access comprehensive API management through the dedicated menu:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
📋 Third-party API Management
|
|
125
|
+
|
|
126
|
+
→ Add New API
|
|
127
|
+
Remove API
|
|
128
|
+
Switch Active API
|
|
129
|
+
View Statistics
|
|
130
|
+
Export Configuration
|
|
131
|
+
Import Configuration
|
|
132
|
+
Change Password
|
|
133
|
+
Back to Main Menu
|
|
134
|
+
```
|
|
135
|
+
|
|
89
136
|
## ⚙️ Configuration
|
|
90
137
|
|
|
91
|
-
###
|
|
138
|
+
### Modern Configuration System
|
|
92
139
|
|
|
93
|
-
|
|
140
|
+
Claude Launcher 2.0 uses an advanced configuration system:
|
|
94
141
|
|
|
95
|
-
1.
|
|
96
|
-
2.
|
|
97
|
-
3.
|
|
142
|
+
1. **Encrypted JSON Storage**: Configuration stored at `~/.claude-launcher-apis.json`
|
|
143
|
+
2. **Interactive Setup**: First-time wizard guides you through all options
|
|
144
|
+
3. **Multi-language Support**: Interface adapts to your preferred language
|
|
145
|
+
4. **Security First**: All sensitive data encrypted with AES-256-CBC
|
|
98
146
|
|
|
99
|
-
###
|
|
147
|
+
### First-time Setup Process
|
|
100
148
|
|
|
101
|
-
|
|
149
|
+
1. **Language Selection**: Choose from 8 supported languages
|
|
150
|
+
2. **Security Setup**:
|
|
151
|
+
- Set up password protection for import/export (recommended)
|
|
152
|
+
- Or skip for basic usage (limited features)
|
|
153
|
+
3. **API Configuration**: Add third-party APIs as needed
|
|
102
154
|
|
|
103
|
-
|
|
104
|
-
2. `.claude-launcher.env` in your home directory
|
|
105
|
-
3. `.claude-launcher.env` in the installation directory
|
|
155
|
+
### Third-party API Configuration
|
|
106
156
|
|
|
107
|
-
|
|
157
|
+
Configure any third-party API provider through the interactive interface:
|
|
108
158
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
159
|
+
- **Supported Providers**: OpenAI, Anthropic, Custom APIs, and more
|
|
160
|
+
- **Secure Storage**: All API tokens encrypted before storage
|
|
161
|
+
- **Validation**: Real-time validation of URLs, tokens, and models
|
|
162
|
+
- **Usage Tracking**: Monitor API usage statistics
|
|
163
|
+
|
|
164
|
+
### Configuration Import/Export
|
|
165
|
+
|
|
166
|
+
With password protection enabled:
|
|
113
167
|
|
|
114
|
-
**
|
|
168
|
+
- **Export**: Secure backup of all configurations
|
|
169
|
+
- **Import**: Restore configurations on new machines
|
|
170
|
+
- **Password Protected**: All exports encrypted with your password
|
|
171
|
+
- **Automatic Validation**: Import validation ensures data integrity
|
|
115
172
|
|
|
116
|
-
### Security Features
|
|
173
|
+
### Enhanced Security Features
|
|
117
174
|
|
|
118
|
-
- **AES-256-CBC Encryption**:
|
|
119
|
-
- **Machine-specific Keys**: Encryption keys
|
|
120
|
-
- **
|
|
121
|
-
- **Secure
|
|
175
|
+
- **AES-256-CBC Encryption**: All sensitive data encrypted with industry-standard algorithms
|
|
176
|
+
- **Machine-specific Keys**: Encryption keys derived from unique machine characteristics
|
|
177
|
+
- **Password Protection**: Optional password layer for configuration import/export
|
|
178
|
+
- **Secure Token Display**: API tokens masked in all interface displays
|
|
179
|
+
- **Strong Password Requirements**: Enforced password complexity for maximum security
|
|
180
|
+
- **Local Storage Only**: All data remains on your machine, cannot be decrypted elsewhere
|
|
122
181
|
|
|
123
182
|
## 📋 Requirements
|
|
124
183
|
|
|
@@ -174,4 +233,4 @@ If you encounter any issues or have questions:
|
|
|
174
233
|
|
|
175
234
|
---
|
|
176
235
|
|
|
177
|
-
**Note**: This launcher is designed to work with Claude Code and
|
|
236
|
+
**Note**: This launcher is designed to work with Claude Code and various third-party APIs. Make sure you have Claude Code installed before using this tool. For third-party API usage, ensure you have valid API credentials from your preferred provider.
|