mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-01 17:59:09 +08:00
- Changed `perMillionTokens` to `per_million_tokens` in PricePerTokenSchema for snake_case consistency. - Removed unused types from index.ts and simplified ProviderModelOverrideSchema by removing deprecated fields. - Enhanced ModelConfigSchema to enforce unique capabilities and modalities, and made context_window and max_output_tokens optional. - Updated ProviderConfigSchema to require at least one supported endpoint. - Removed commented-out code and unused imports in route.ts for cleaner code. - Added a cleanup script to remove deprecated fields from overrides.json. - Implemented a new importer for AIHubMix models, transforming API data into the internal format. - Created a utility for applying and validating model overrides, ensuring better error handling and warnings. - Updated various scripts for better organization and clarity, including removing search models and generating AIHubMix models.
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
#!/usr/bin/env tsx
|
|
|
|
import fs from 'fs'
|
|
import path from 'path'
|
|
|
|
// Read the models.json file
|
|
const modelsPath = path.join(__dirname, '../data/models.json')
|
|
const catalogData = JSON.parse(fs.readFileSync(modelsPath, 'utf8'))
|
|
|
|
console.log('Total models before filtering:', catalogData.models?.length || 0)
|
|
|
|
// Check if models array exists
|
|
if (!catalogData.models || !Array.isArray(catalogData.models)) {
|
|
console.error('❌ No models array found in the file')
|
|
process.exit(1)
|
|
}
|
|
|
|
// Filter out models ending with 'search'
|
|
const filteredModels = catalogData.models.filter((model: any) => {
|
|
if (model.id && model.id.endsWith('search')) {
|
|
console.log('Removing model:', model.id)
|
|
return false
|
|
}
|
|
return true
|
|
})
|
|
|
|
console.log('Total models after filtering:', filteredModels.length)
|
|
|
|
// Update the data with filtered models
|
|
const updatedData = {
|
|
...catalogData,
|
|
models: filteredModels
|
|
}
|
|
|
|
// Write the filtered data back to the file
|
|
fs.writeFileSync(modelsPath, JSON.stringify(updatedData, null, 2), 'utf8')
|
|
|
|
console.log('✅ Successfully removed models ending with "search"') |