cherry-studio/packages/catalog/scripts/remove-search-models.ts
suyao 2593a427e0
refactor: update schemas and models for consistency and clarity
- 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.
2025-12-08 22:47:16 +08:00

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"')