Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled
- SimpleSidebar: 移除空壳"行业资讯" Tab 和 Newspaper icon import - ModelsAPI.tsx: AVAILABLE_PROVIDERS 引用 LLM_PROVIDER_URLS 常量 - models.ts: PROVIDER_DEFAULTS 引用 api-urls.ts,消除重复 URL 定义 - 所有 Provider URL 现在统一在 api-urls.ts 维护
115 lines
2.6 KiB
TypeScript
115 lines
2.6 KiB
TypeScript
/**
|
|
* Model Default Constants - Single Source of Truth
|
|
*
|
|
* All model-related defaults should reference this file.
|
|
* Backend (Rust) should use the same values in kernel_commands.rs
|
|
*/
|
|
|
|
import { LLM_PROVIDER_URLS } from './api-urls';
|
|
|
|
// === Default Model Configuration ===
|
|
|
|
/**
|
|
* Default model ID when user hasn't configured one
|
|
* Using gpt-4o-mini as it's cost-effective and capable
|
|
*/
|
|
export const DEFAULT_MODEL_ID = 'gpt-4o-mini' as const;
|
|
|
|
/**
|
|
* Default provider when user hasn't configured one
|
|
*/
|
|
export const DEFAULT_PROVIDER = 'openai' as const;
|
|
|
|
/**
|
|
* Default max tokens for responses
|
|
*/
|
|
export const DEFAULT_MAX_TOKENS = 4096 as const;
|
|
|
|
/**
|
|
* Default temperature for responses
|
|
*/
|
|
export const DEFAULT_TEMPERATURE = 0.7 as const;
|
|
|
|
/**
|
|
* Default base URL for OpenAI API
|
|
*/
|
|
export const DEFAULT_OPENAI_BASE_URL = LLM_PROVIDER_URLS.OPENAI as string;
|
|
|
|
/**
|
|
* Default base URL for Anthropic API
|
|
*/
|
|
export const DEFAULT_ANTHROPIC_BASE_URL = LLM_PROVIDER_URLS.ANTHROPIC as string;
|
|
|
|
// === Provider-Specific Defaults ===
|
|
|
|
export const PROVIDER_DEFAULTS = {
|
|
openai: {
|
|
baseUrl: LLM_PROVIDER_URLS.OPENAI,
|
|
defaultModel: 'gpt-4o-mini',
|
|
},
|
|
anthropic: {
|
|
baseUrl: LLM_PROVIDER_URLS.ANTHROPIC,
|
|
defaultModel: 'claude-sonnet-4-20250514',
|
|
},
|
|
zhipu: {
|
|
baseUrl: LLM_PROVIDER_URLS.ZHIPU,
|
|
defaultModel: 'glm-4-flash-250414',
|
|
},
|
|
zhipu_coding: {
|
|
baseUrl: LLM_PROVIDER_URLS.ZHIPU_CODING,
|
|
defaultModel: 'glm-4-flash-250414',
|
|
},
|
|
kimi: {
|
|
baseUrl: LLM_PROVIDER_URLS.KIMI,
|
|
defaultModel: 'moonshot-v1-8k',
|
|
},
|
|
kimi_coding: {
|
|
baseUrl: LLM_PROVIDER_URLS.KIMI_CODING,
|
|
defaultModel: 'kimi-for-coding',
|
|
},
|
|
qwen: {
|
|
baseUrl: LLM_PROVIDER_URLS.QWEN,
|
|
defaultModel: 'qwen-turbo',
|
|
},
|
|
qwen_coding: {
|
|
baseUrl: LLM_PROVIDER_URLS.QWEN_CODING,
|
|
defaultModel: 'qwen3-coder-next',
|
|
},
|
|
deepseek: {
|
|
baseUrl: LLM_PROVIDER_URLS.DEEPSEEK,
|
|
defaultModel: 'deepseek-chat',
|
|
},
|
|
gemini: {
|
|
baseUrl: LLM_PROVIDER_URLS.GEMINI,
|
|
defaultModel: 'gemini-2.0-flash',
|
|
},
|
|
local: {
|
|
baseUrl: LLM_PROVIDER_URLS.OLLAMA,
|
|
defaultModel: 'llama3',
|
|
},
|
|
} as const;
|
|
|
|
export type ProviderType = keyof typeof PROVIDER_DEFAULTS;
|
|
|
|
// === Helper Functions ===
|
|
|
|
/**
|
|
* Get provider default configuration
|
|
*/
|
|
export function getProviderDefaults(provider: string): {
|
|
baseUrl: string;
|
|
defaultModel: string;
|
|
} {
|
|
return PROVIDER_DEFAULTS[provider as ProviderType] || {
|
|
baseUrl: DEFAULT_OPENAI_BASE_URL,
|
|
defaultModel: DEFAULT_MODEL_ID,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* Check if a provider is a coding plan provider
|
|
*/
|
|
export function isCodingProvider(provider: string): boolean {
|
|
return provider.endsWith('-coding') || provider === 'zhipu-coding';
|
|
}
|