mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-11 03:13:12 +00:00
514 lines
14 KiB
TypeScript
514 lines
14 KiB
TypeScript
/**
|
|
* Model Catalogs for CLIProxy providers
|
|
* Shared data for Quick Setup Wizard and Provider Editor
|
|
*/
|
|
|
|
import type { ProviderCatalog } from '@/components/cliproxy/provider-model-selector';
|
|
|
|
/** Model catalog data - mirrors src/cliproxy/model-catalog.ts */
|
|
export const MODEL_CATALOGS: Record<string, ProviderCatalog> = {
|
|
agy: {
|
|
provider: 'agy',
|
|
displayName: 'Antigravity',
|
|
defaultModel: 'claude-opus-4-6-thinking',
|
|
models: [
|
|
{
|
|
id: 'claude-opus-4-6-thinking',
|
|
name: 'Claude Opus 4.6 Thinking',
|
|
description: 'Latest flagship, extended thinking',
|
|
// TODO: Re-enable when Antigravity backend supports 1M context (currently 256k)
|
|
// extendedContext: true,
|
|
extendedContext: false,
|
|
presetMapping: {
|
|
default: 'claude-opus-4-6-thinking',
|
|
opus: 'claude-opus-4-6-thinking',
|
|
sonnet: 'claude-sonnet-4-6',
|
|
haiku: 'claude-sonnet-4-6',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-sonnet-4-6',
|
|
name: 'Claude Sonnet 4.6',
|
|
description: 'Latest Sonnet with thinking budget support',
|
|
presetMapping: {
|
|
default: 'claude-sonnet-4-6',
|
|
opus: 'claude-opus-4-6-thinking',
|
|
sonnet: 'claude-sonnet-4-6',
|
|
haiku: 'claude-sonnet-4-6',
|
|
},
|
|
},
|
|
{
|
|
id: 'gemini-3-pro-preview',
|
|
name: 'Gemini 3 Pro',
|
|
description: 'Google latest model via Antigravity',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'gemini-3-pro-preview',
|
|
opus: 'gemini-3-pro-preview',
|
|
sonnet: 'gemini-3-pro-preview',
|
|
haiku: 'gemini-3-flash-preview',
|
|
},
|
|
},
|
|
{
|
|
id: 'gemini-3-flash-preview',
|
|
name: 'Gemini 3 Flash',
|
|
description: 'Fast Gemini model via Antigravity',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'gemini-3-flash-preview',
|
|
opus: 'gemini-3-pro-preview',
|
|
sonnet: 'gemini-3-pro-preview',
|
|
haiku: 'gemini-3-flash-preview',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
gemini: {
|
|
provider: 'gemini',
|
|
displayName: 'Gemini',
|
|
defaultModel: 'gemini-2.5-pro',
|
|
models: [
|
|
{
|
|
id: 'gemini-3-pro-preview',
|
|
name: 'Gemini 3 Pro',
|
|
tier: 'paid',
|
|
description: 'Latest model, requires paid Google account',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'gemini-3-pro-preview',
|
|
opus: 'gemini-3-pro-preview',
|
|
sonnet: 'gemini-3-pro-preview',
|
|
haiku: 'gemini-3-flash-preview',
|
|
},
|
|
},
|
|
{
|
|
id: 'gemini-3-flash-preview',
|
|
name: 'Gemini 3 Flash',
|
|
tier: 'paid',
|
|
description: 'Fast Gemini 3 model, requires paid Google account',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'gemini-3-flash-preview',
|
|
opus: 'gemini-3-pro-preview',
|
|
sonnet: 'gemini-3-pro-preview',
|
|
haiku: 'gemini-3-flash-preview',
|
|
},
|
|
},
|
|
{
|
|
id: 'gemini-2.5-pro',
|
|
name: 'Gemini 2.5 Pro',
|
|
description: 'Stable, works with free Google account',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'gemini-2.5-pro',
|
|
opus: 'gemini-2.5-pro',
|
|
sonnet: 'gemini-2.5-pro',
|
|
haiku: 'gemini-2.5-flash',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
codex: {
|
|
provider: 'codex',
|
|
displayName: 'Codex',
|
|
defaultModel: 'gpt-5.3-codex',
|
|
models: [
|
|
{
|
|
id: 'gpt-5.3-codex',
|
|
name: 'GPT-5.3 Codex',
|
|
description: 'Supports up to xhigh effort',
|
|
presetMapping: {
|
|
default: 'gpt-5.3-codex',
|
|
opus: 'gpt-5.3-codex',
|
|
sonnet: 'gpt-5.3-codex',
|
|
haiku: 'gpt-5-mini',
|
|
},
|
|
},
|
|
{
|
|
id: 'gpt-5.2-codex',
|
|
name: 'GPT-5.2 Codex',
|
|
description: 'Previous stable Codex model',
|
|
presetMapping: {
|
|
default: 'gpt-5.2-codex',
|
|
opus: 'gpt-5.2-codex',
|
|
sonnet: 'gpt-5.2-codex',
|
|
haiku: 'gpt-5-mini',
|
|
},
|
|
},
|
|
{
|
|
id: 'gpt-5-mini',
|
|
name: 'GPT-5 Mini',
|
|
description: 'Fast, capped at high effort (no xhigh)',
|
|
presetMapping: {
|
|
default: 'gpt-5-mini',
|
|
opus: 'gpt-5.3-codex',
|
|
sonnet: 'gpt-5-mini',
|
|
haiku: 'gpt-5-mini',
|
|
},
|
|
},
|
|
{
|
|
id: 'gpt-5.1-codex-max',
|
|
name: 'Codex Max (5.1)',
|
|
description: 'Legacy most capable Codex model',
|
|
presetMapping: {
|
|
default: 'gpt-5.1-codex-max',
|
|
opus: 'gpt-5.1-codex-max',
|
|
sonnet: 'gpt-5.1-codex-max',
|
|
haiku: 'gpt-5.1-codex-mini',
|
|
},
|
|
},
|
|
{
|
|
id: 'gpt-5.2',
|
|
name: 'GPT 5.2',
|
|
description: 'Latest GPT model',
|
|
presetMapping: {
|
|
default: 'gpt-5.2',
|
|
opus: 'gpt-5.2',
|
|
sonnet: 'gpt-5.2',
|
|
haiku: 'gpt-5.2',
|
|
},
|
|
},
|
|
{
|
|
id: 'gpt-5.1-codex-mini',
|
|
name: 'Codex Mini',
|
|
description: 'Fast and efficient Codex model',
|
|
},
|
|
],
|
|
},
|
|
qwen: {
|
|
provider: 'qwen',
|
|
displayName: 'Qwen',
|
|
defaultModel: 'qwen3-coder-plus',
|
|
models: [
|
|
{
|
|
id: 'qwen3-coder-plus',
|
|
name: 'Qwen3 Coder Plus',
|
|
description: 'Code-focused model (1M context)',
|
|
presetMapping: {
|
|
default: 'qwen3-coder-plus',
|
|
opus: 'qwen3-max',
|
|
sonnet: 'qwen3-coder-plus',
|
|
haiku: 'qwen3-coder-flash',
|
|
},
|
|
},
|
|
{
|
|
id: 'qwen3-max',
|
|
name: 'Qwen3 Max',
|
|
description: 'Flagship model (256K context)',
|
|
presetMapping: {
|
|
default: 'qwen3-max',
|
|
opus: 'qwen3-max',
|
|
sonnet: 'qwen3-coder-plus',
|
|
haiku: 'qwen3-coder-flash',
|
|
},
|
|
},
|
|
{
|
|
id: 'qwen3-max-preview',
|
|
name: 'Qwen3 Max Preview',
|
|
description: 'Preview with thinking support (256K)',
|
|
presetMapping: {
|
|
default: 'qwen3-max-preview',
|
|
opus: 'qwen3-max-preview',
|
|
sonnet: 'qwen3-max',
|
|
haiku: 'qwen3-coder-flash',
|
|
},
|
|
},
|
|
{
|
|
id: 'qwen3-235b',
|
|
name: 'Qwen3 235B',
|
|
description: 'Large 235B A22B model',
|
|
presetMapping: {
|
|
default: 'qwen3-235b',
|
|
opus: 'qwen3-max',
|
|
sonnet: 'qwen3-235b',
|
|
haiku: 'qwen3-coder-flash',
|
|
},
|
|
},
|
|
{
|
|
id: 'qwen3-vl-plus',
|
|
name: 'Qwen3 VL Plus',
|
|
description: 'Vision-language multimodal',
|
|
},
|
|
{
|
|
id: 'qwen3-coder-flash',
|
|
name: 'Qwen3 Coder Flash',
|
|
description: 'Fast code generation',
|
|
},
|
|
{
|
|
id: 'qwen3-32b',
|
|
name: 'Qwen3 32B',
|
|
description: 'Qwen3 32B model',
|
|
},
|
|
],
|
|
},
|
|
iflow: {
|
|
provider: 'iflow',
|
|
displayName: 'iFlow',
|
|
defaultModel: 'qwen3-coder-plus',
|
|
models: [
|
|
{
|
|
id: 'qwen3-coder-plus',
|
|
name: 'Qwen3 Coder Plus',
|
|
description: 'Recommended default for iFlow accounts',
|
|
presetMapping: {
|
|
default: 'qwen3-coder-plus',
|
|
opus: 'qwen3-coder-plus',
|
|
sonnet: 'qwen3-coder-plus',
|
|
haiku: 'qwen3-coder-plus',
|
|
},
|
|
},
|
|
{
|
|
id: 'qwen3-max',
|
|
name: 'Qwen3 Max',
|
|
description: 'Flagship Qwen model via iFlow',
|
|
},
|
|
{
|
|
id: 'kimi-k2',
|
|
name: 'Kimi K2',
|
|
description: 'Kimi model currently available via iFlow',
|
|
},
|
|
{
|
|
id: 'deepseek-v3.2',
|
|
name: 'DeepSeek V3.2',
|
|
description: 'Current DeepSeek V3.2 model via iFlow',
|
|
},
|
|
{
|
|
id: 'deepseek-r1',
|
|
name: 'DeepSeek R1',
|
|
description: 'Reasoning-focused DeepSeek model',
|
|
},
|
|
{
|
|
id: 'glm-4.6',
|
|
name: 'GLM 4.6',
|
|
description: 'Zhipu GLM 4.6 via iFlow',
|
|
},
|
|
{
|
|
id: 'qwen3-vl-plus',
|
|
name: 'Qwen3 VL Plus',
|
|
description: 'Vision-language model',
|
|
},
|
|
],
|
|
},
|
|
kimi: {
|
|
provider: 'kimi',
|
|
displayName: 'Kimi (Moonshot)',
|
|
defaultModel: 'kimi-k2.5',
|
|
models: [
|
|
{
|
|
id: 'kimi-k2.5',
|
|
name: 'Kimi K2.5',
|
|
description: 'Latest multimodal model (262K context)',
|
|
presetMapping: {
|
|
default: 'kimi-k2.5',
|
|
opus: 'kimi-k2.5',
|
|
sonnet: 'kimi-k2-thinking',
|
|
haiku: 'kimi-k2',
|
|
},
|
|
},
|
|
{
|
|
id: 'kimi-k2-thinking',
|
|
name: 'Kimi K2 Thinking',
|
|
description: 'Extended reasoning model',
|
|
presetMapping: {
|
|
default: 'kimi-k2-thinking',
|
|
opus: 'kimi-k2.5',
|
|
sonnet: 'kimi-k2-thinking',
|
|
haiku: 'kimi-k2',
|
|
},
|
|
},
|
|
{
|
|
id: 'kimi-k2',
|
|
name: 'Kimi K2',
|
|
description: 'Flagship coding model',
|
|
},
|
|
],
|
|
},
|
|
kiro: {
|
|
provider: 'kiro',
|
|
displayName: 'Kiro (AWS)',
|
|
defaultModel: 'kiro-claude-sonnet-4-5',
|
|
models: [
|
|
{
|
|
id: 'kiro-claude-opus-4-5',
|
|
name: 'Kiro Claude Opus 4.5',
|
|
description: 'Claude Opus 4.5 via Kiro (2.2x credit)',
|
|
presetMapping: {
|
|
default: 'kiro-claude-opus-4-5',
|
|
opus: 'kiro-claude-opus-4-5',
|
|
sonnet: 'kiro-claude-sonnet-4-5',
|
|
haiku: 'kiro-claude-haiku-4-5',
|
|
},
|
|
},
|
|
{
|
|
id: 'kiro-claude-sonnet-4-5',
|
|
name: 'Kiro Claude Sonnet 4.5',
|
|
description: 'Claude Sonnet 4.5 via Kiro (1.3x credit)',
|
|
presetMapping: {
|
|
default: 'kiro-claude-sonnet-4-5',
|
|
opus: 'kiro-claude-opus-4-5',
|
|
sonnet: 'kiro-claude-sonnet-4-5',
|
|
haiku: 'kiro-claude-haiku-4-5',
|
|
},
|
|
},
|
|
{
|
|
id: 'kiro-claude-sonnet-4',
|
|
name: 'Kiro Claude Sonnet 4',
|
|
description: 'Claude Sonnet 4 via Kiro (1.3x credit)',
|
|
presetMapping: {
|
|
default: 'kiro-claude-sonnet-4',
|
|
opus: 'kiro-claude-opus-4-5',
|
|
sonnet: 'kiro-claude-sonnet-4',
|
|
haiku: 'kiro-claude-haiku-4-5',
|
|
},
|
|
},
|
|
{
|
|
id: 'kiro-claude-haiku-4-5',
|
|
name: 'Kiro Claude Haiku 4.5',
|
|
description: 'Claude Haiku 4.5 via Kiro (0.4x credit)',
|
|
},
|
|
],
|
|
},
|
|
ghcp: {
|
|
provider: 'ghcp',
|
|
displayName: 'GitHub Copilot (OAuth)',
|
|
defaultModel: 'claude-sonnet-4.5',
|
|
models: [
|
|
{
|
|
id: 'claude-opus-4.5',
|
|
name: 'Claude Opus 4.5',
|
|
description: 'Anthropic Claude Opus 4.5 via GitHub Copilot',
|
|
presetMapping: {
|
|
default: 'claude-opus-4.5',
|
|
opus: 'claude-opus-4.5',
|
|
sonnet: 'claude-sonnet-4.5',
|
|
haiku: 'claude-haiku-4.5',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-sonnet-4.5',
|
|
name: 'Claude Sonnet 4.5',
|
|
description: 'Anthropic Claude Sonnet 4.5 via GitHub Copilot',
|
|
presetMapping: {
|
|
default: 'claude-sonnet-4.5',
|
|
opus: 'claude-opus-4.5',
|
|
sonnet: 'claude-sonnet-4.5',
|
|
haiku: 'claude-haiku-4.5',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-sonnet-4',
|
|
name: 'Claude Sonnet 4',
|
|
description: 'Anthropic Claude Sonnet 4 via GitHub Copilot',
|
|
},
|
|
{
|
|
id: 'claude-haiku-4.5',
|
|
name: 'Claude Haiku 4.5',
|
|
description: 'Anthropic Claude Haiku 4.5 via GitHub Copilot',
|
|
},
|
|
{
|
|
id: 'gpt-5.2',
|
|
name: 'GPT-5.2',
|
|
description: 'OpenAI GPT-5.2 via GitHub Copilot',
|
|
presetMapping: {
|
|
default: 'gpt-5.2',
|
|
opus: 'gpt-5.2',
|
|
sonnet: 'gpt-5.1',
|
|
haiku: 'gpt-5-mini',
|
|
},
|
|
},
|
|
{
|
|
id: 'gpt-5.1',
|
|
name: 'GPT-5.1',
|
|
description: 'OpenAI GPT-5.1 via GitHub Copilot',
|
|
},
|
|
{
|
|
id: 'gpt-5',
|
|
name: 'GPT-5',
|
|
description: 'OpenAI GPT-5 via GitHub Copilot',
|
|
},
|
|
{
|
|
id: 'gpt-5-mini',
|
|
name: 'GPT-5 Mini',
|
|
description: 'OpenAI GPT-5 Mini via GitHub Copilot',
|
|
},
|
|
{
|
|
id: 'gemini-3-pro',
|
|
name: 'Gemini 3 Pro',
|
|
description: 'Google Gemini 3 Pro via GitHub Copilot',
|
|
},
|
|
],
|
|
},
|
|
claude: {
|
|
provider: 'claude',
|
|
displayName: 'Claude (Anthropic)',
|
|
defaultModel: 'claude-sonnet-4-6',
|
|
models: [
|
|
{
|
|
id: 'claude-opus-4-6',
|
|
name: 'Claude Opus 4.6',
|
|
description: 'Latest flagship model',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'claude-opus-4-6',
|
|
opus: 'claude-opus-4-6',
|
|
sonnet: 'claude-sonnet-4-6',
|
|
haiku: 'claude-haiku-4-5-20251001',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-sonnet-4-6',
|
|
name: 'Claude Sonnet 4.6',
|
|
description: 'Balanced performance and speed',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'claude-sonnet-4-6',
|
|
opus: 'claude-opus-4-6',
|
|
sonnet: 'claude-sonnet-4-6',
|
|
haiku: 'claude-haiku-4-5-20251001',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-opus-4-5-20251101',
|
|
name: 'Claude Opus 4.5',
|
|
description: 'Most capable Claude model',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'claude-opus-4-5-20251101',
|
|
opus: 'claude-opus-4-5-20251101',
|
|
sonnet: 'claude-sonnet-4-5-20250929',
|
|
haiku: 'claude-haiku-4-5-20251001',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-sonnet-4-5-20250929',
|
|
name: 'Claude Sonnet 4.5',
|
|
description: 'Balanced performance and speed',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'claude-sonnet-4-5-20250929',
|
|
opus: 'claude-opus-4-5-20251101',
|
|
sonnet: 'claude-sonnet-4-5-20250929',
|
|
haiku: 'claude-haiku-4-5-20251001',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-sonnet-4-20250514',
|
|
name: 'Claude Sonnet 4',
|
|
description: 'Previous generation Sonnet',
|
|
extendedContext: true,
|
|
presetMapping: {
|
|
default: 'claude-sonnet-4-20250514',
|
|
opus: 'claude-opus-4-5-20251101',
|
|
sonnet: 'claude-sonnet-4-20250514',
|
|
haiku: 'claude-haiku-4-5-20251001',
|
|
},
|
|
},
|
|
{
|
|
id: 'claude-haiku-4-5-20251001',
|
|
name: 'Claude Haiku 4.5',
|
|
description: 'Fast and efficient',
|
|
},
|
|
],
|
|
},
|
|
};
|