Update the rebranding and fix issues
This commit is contained in:
281
README-SCRIPT-INTEGRATION.md
Normal file
281
README-SCRIPT-INTEGRATION.md
Normal file
@@ -0,0 +1,281 @@
|
||||
# MoreMinimore Script Integration Guide
|
||||
|
||||
This guide explains how to use the updated scripts to integrate your Moreminimore provider customizations when updating from the upstream Dyad repository.
|
||||
|
||||
## Overview
|
||||
|
||||
The script system has been updated to include all the latest Moreminimore provider changes, making it easy to re-apply your customizations after updating from upstream.
|
||||
|
||||
## Scripts Overview
|
||||
|
||||
### 1. `scripts/update-and-debrand.sh` - Main Integration Script
|
||||
|
||||
**Purpose**: Applies all Moreminimore customizations and removes Dyad branding.
|
||||
|
||||
**New Features Added**:
|
||||
- ✅ Adds Moreminimore as a cloud provider in `language_model_constants.ts`
|
||||
- ✅ Adds Moreminimore case to `get_model_client.ts` backend
|
||||
- ✅ Updates provider settings UI to hide model selection for Moreminimore
|
||||
- ✅ Updates button text to "Setup Moreminimore AI"
|
||||
- ✅ All existing debranding and custom features
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
# Apply all customizations
|
||||
./scripts/update-and-debrand.sh
|
||||
|
||||
# Or run specific functions
|
||||
source scripts/update-and-debrand.sh
|
||||
add_moreminimore_provider
|
||||
update_backend_model_client
|
||||
update_provider_settings_ui
|
||||
```
|
||||
|
||||
### 2. `scripts/integrate-custom-features.sh` - Custom Feature Integration
|
||||
|
||||
**Purpose**: Integrates custom features with upstream updates, includes Moreminimore provider support.
|
||||
|
||||
**New Features Added**:
|
||||
- ✅ Moreminimore provider files in the file list
|
||||
- ✅ `integrate_moreminimore_provider()` function
|
||||
- ✅ Validation for Moreminimore configuration
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
# Integrate all custom features
|
||||
./scripts/integrate-custom-features.sh
|
||||
|
||||
# Validate current integration
|
||||
./scripts/integrate-custom-features.sh validate
|
||||
|
||||
# Restore from backup
|
||||
./scripts/integrate-custom-features.sh restore backup-20231201-120000
|
||||
```
|
||||
|
||||
### 3. `scripts/build-moreminimore-app.sh` - Build Script with Validation
|
||||
|
||||
**Purpose**: Builds the MoreMinimore application with proper validation.
|
||||
|
||||
**New Features Added**:
|
||||
- ✅ `validate_moreminimore_provider()` function
|
||||
- ✅ Automatic Moreminimore provider validation during build
|
||||
- ✅ Auto-fix missing Moreminimore configurations
|
||||
|
||||
**Usage**:
|
||||
```bash
|
||||
# Development build
|
||||
./scripts/build-moreminimore-app.sh
|
||||
|
||||
# Production build (requires code signing)
|
||||
./scripts/build-moreminimore-app.sh --production
|
||||
|
||||
# Clean build artifacts only
|
||||
./scripts/build-moreminimore-app.sh --clean-only
|
||||
|
||||
# Verbose output
|
||||
./scripts/build-moreminimore-app.sh --verbose
|
||||
```
|
||||
|
||||
## What the Scripts Do
|
||||
|
||||
### Moreminimore Provider Integration
|
||||
|
||||
1. **Backend Provider Configuration**:
|
||||
- Adds "moreminimore" to `CLOUD_PROVIDERS` in `language_model_constants.ts`
|
||||
- Adds GLM-4.6 model configuration
|
||||
- Sets up proper website URL and gateway prefix
|
||||
|
||||
2. **Backend Model Client**:
|
||||
- Adds "moreminimore" case to `get_model_client.ts`
|
||||
- Configures OpenAI-compatible client with fixed base URL
|
||||
- Proper API key validation
|
||||
|
||||
3. **Frontend UI Updates**:
|
||||
- Hides model selection UI for Moreminimore (fixed model)
|
||||
- Updates button text to "Setup Moreminimore AI"
|
||||
- Simplified provider configuration experience
|
||||
|
||||
### Existing Features Maintained
|
||||
|
||||
- ✅ Remove-limit feature integration
|
||||
- ✅ Dyad branding removal
|
||||
- ✅ Logo updates and icon generation
|
||||
- ✅ Smart context liberation
|
||||
- ✅ Pro feature removal
|
||||
- ✅ YouTube section removal
|
||||
- ✅ All existing customizations
|
||||
|
||||
## Update Workflow
|
||||
|
||||
When updating from upstream Dyad:
|
||||
|
||||
### Option 1: Full Integration (Recommended)
|
||||
```bash
|
||||
# 1. Update from upstream
|
||||
git fetch upstream
|
||||
git merge upstream/main
|
||||
|
||||
# 2. Apply all customizations
|
||||
./scripts/update-and-debrand.sh
|
||||
|
||||
# 3. Build and test
|
||||
./scripts/build-moreminimore-app.sh
|
||||
```
|
||||
|
||||
### Option 2: Custom Feature Integration
|
||||
```bash
|
||||
# 1. Update from upstream
|
||||
git fetch upstream
|
||||
git merge upstream/main
|
||||
|
||||
# 2. Integrate custom features only
|
||||
./scripts/integrate-custom-features.sh
|
||||
|
||||
# 3. Build and test
|
||||
./scripts/build-moreminimore-app.sh
|
||||
```
|
||||
|
||||
### Option 3: Manual Control
|
||||
```bash
|
||||
# 1. Update from upstream
|
||||
git fetch upstream
|
||||
git merge upstream/main
|
||||
|
||||
# 2. Run specific functions
|
||||
source scripts/update-and-debrand.sh
|
||||
add_moreminimore_provider
|
||||
update_backend_model_client
|
||||
update_provider_settings_ui
|
||||
|
||||
# 3. Build and test
|
||||
./scripts/build-moreminimore-app.sh
|
||||
```
|
||||
|
||||
## Validation and Testing
|
||||
|
||||
### Automatic Validation
|
||||
The build script automatically validates:
|
||||
- ✅ Moreminimore provider exists in `language_model_constants.ts`
|
||||
- ✅ Moreminimore case exists in `get_model_client.ts`
|
||||
- ✅ Provider settings UI is updated
|
||||
- ✅ TypeScript compilation succeeds
|
||||
|
||||
### Manual Validation
|
||||
```bash
|
||||
# Validate custom features integration
|
||||
./scripts/integrate-custom-features.sh validate
|
||||
|
||||
# Check TypeScript compilation
|
||||
npm run ts
|
||||
|
||||
# Test the application
|
||||
npm start
|
||||
```
|
||||
|
||||
## File Changes Made
|
||||
|
||||
### Backend Files
|
||||
1. **`src/ipc/shared/language_model_constants.ts`**:
|
||||
- Added `moreminimore:` to `CLOUD_PROVIDERS`
|
||||
- Added `moreminimore:` to `MODEL_OPTIONS`
|
||||
|
||||
2. **`src/ipc/utils/get_model_client.ts`**:
|
||||
- Added `case "moreminimore":` in switch statement
|
||||
- Configured OpenAI-compatible client
|
||||
|
||||
### Frontend Files
|
||||
3. **`src/components/settings/ProviderSettingsPage.tsx`**:
|
||||
- Updated ModelsSection condition to hide for Moreminimore
|
||||
- Simplified provider handling
|
||||
|
||||
4. **`src/components/settings/ProviderSettingsHeader.tsx`**:
|
||||
- Updated button text to "Setup Moreminimore AI"
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **"Unsupported model provider: moreminimore"**:
|
||||
```bash
|
||||
# Re-run the backend model client update
|
||||
source scripts/update-and-debrand.sh
|
||||
update_backend_model_client
|
||||
```
|
||||
|
||||
2. **Missing Moreminimore in provider list**:
|
||||
```bash
|
||||
# Re-add the provider
|
||||
source scripts/update-and-debrand.sh
|
||||
add_moreminimore_provider
|
||||
```
|
||||
|
||||
3. **Model selection UI showing for Moreminimore**:
|
||||
```bash
|
||||
# Update the UI
|
||||
source scripts/update-and-debrand.sh
|
||||
update_provider_settings_ui
|
||||
```
|
||||
|
||||
4. **Build failures**:
|
||||
```bash
|
||||
# Clean build with validation
|
||||
./scripts/build-moreminimore-app.sh --clean-only
|
||||
./scripts/build-moreminimore-app.sh --verbose
|
||||
```
|
||||
|
||||
### Backup and Recovery
|
||||
|
||||
All scripts create automatic backups:
|
||||
```bash
|
||||
# Backups are stored in:
|
||||
dyad-backup-YYYYMMDD-HHMMSS/
|
||||
|
||||
# Restore from backup (integrate-custom-features.sh)
|
||||
./scripts/integrate-custom-features.sh restore backup-20231201-120000
|
||||
```
|
||||
|
||||
## Testing the Integration
|
||||
|
||||
After running the scripts:
|
||||
|
||||
1. **Start the application**:
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
2. **Verify Moreminimore provider**:
|
||||
- Go to Settings → AI Providers
|
||||
- Select "MoreMinimore AI"
|
||||
- Should show simplified configuration (no model selection)
|
||||
- Button should say "Setup Moreminimore AI"
|
||||
|
||||
3. **Test API connection**:
|
||||
- Configure your Moreminimore API key
|
||||
- Click "Setup Moreminimore AI"
|
||||
- Try sending a chat message
|
||||
- Should work without "Unsupported model provider" error
|
||||
|
||||
## Script Maintenance
|
||||
|
||||
The scripts are designed to be:
|
||||
- ✅ **Idempotent**: Safe to run multiple times
|
||||
- ✅ **Validating**: Check for existing changes
|
||||
- ✅ **Backup-safe**: Create backups before modifying
|
||||
- ✅ **Error-handling**: Clear error messages and recovery options
|
||||
|
||||
## Future Updates
|
||||
|
||||
When new features are added to Moreminimore:
|
||||
1. Update the relevant functions in `update-and-debrand.sh`
|
||||
2. Add validation in `build-moreminimore-app.sh`
|
||||
3. Update this documentation
|
||||
|
||||
## Support
|
||||
|
||||
For issues with the scripts:
|
||||
1. Check the troubleshooting section above
|
||||
2. Review the script output for specific error messages
|
||||
3. Verify file permissions and directory structure
|
||||
4. Test with verbose output: `--verbose` flag
|
||||
|
||||
The scripts are designed to handle most edge cases automatically and provide clear feedback when manual intervention is needed.
|
||||
Reference in New Issue
Block a user