mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-26 03:31:24 +08:00
feat(types): 添加对服务层参数的支持并完善Provider类型
为Provider类型添加isSupportServiceTier和serviceTier字段以支持服务层参数 添加isOpenAIServiceTier类型守卫函数验证服务层类型 扩展SystemProviderId枚举类型并添加ProviderSupportedServiceTier类型
This commit is contained in:
parent
9e0aa1f3fa
commit
9b28ad7191
@ -173,21 +173,94 @@ export type Provider = {
|
||||
isAuthed?: boolean
|
||||
rateLimit?: number
|
||||
|
||||
// undefined 视为支持
|
||||
// API options
|
||||
// undefined 视为支持,默认支持
|
||||
/** 是否不支持 message 的 content 为数组类型 */
|
||||
isNotSupportArrayContent?: boolean
|
||||
/** 是否不支持 stream_options 参数 */
|
||||
isNotSupportStreamOptions?: boolean
|
||||
/** 是否不支持 message 的 role 为 developer */
|
||||
isNotSupportDeveloperRole?: boolean
|
||||
|
||||
// undefined 视为不支持,默认不支持
|
||||
/** 是否支持 service_tier 参数 */
|
||||
isSupportServiceTier?: boolean
|
||||
serviceTier?: OpenAIServiceTier
|
||||
|
||||
isVertex?: boolean
|
||||
notes?: string
|
||||
extra_headers?: Record<string, string>
|
||||
}
|
||||
|
||||
// 后面会重构成更严格的类型
|
||||
export type SystemProviderId =
|
||||
| 'silicon'
|
||||
| 'aihubmix'
|
||||
| 'ocoolai'
|
||||
| 'deepseek'
|
||||
| 'ppio'
|
||||
| 'alayanew'
|
||||
| 'qiniu'
|
||||
| 'dmxapi'
|
||||
| 'burncloud'
|
||||
| 'tokenflux'
|
||||
| '302ai'
|
||||
| 'cephalon'
|
||||
| 'lanyun'
|
||||
| 'ph8'
|
||||
| 'openrouter'
|
||||
| 'ollama'
|
||||
| 'new-api'
|
||||
| 'lmstudio'
|
||||
| 'anthropic'
|
||||
| 'openai'
|
||||
| 'azure-openai'
|
||||
| 'gemini'
|
||||
| 'vertexai'
|
||||
| 'github'
|
||||
| 'copilot'
|
||||
| 'zhipu'
|
||||
| 'yi'
|
||||
| 'moonshot'
|
||||
| 'baichuan'
|
||||
| 'dashscope'
|
||||
| 'stepfun'
|
||||
| 'doubao'
|
||||
| 'infini'
|
||||
| 'minimax'
|
||||
| 'groq'
|
||||
| 'together'
|
||||
| 'fireworks'
|
||||
| 'nvidia'
|
||||
| 'grok'
|
||||
| 'hyperbolic'
|
||||
| 'mistral'
|
||||
| 'jina'
|
||||
| 'perplexity'
|
||||
| 'modelscope'
|
||||
| 'xirang'
|
||||
| 'hunyuan'
|
||||
| 'tencent-cloud-ti'
|
||||
| 'baidu-cloud'
|
||||
| 'gpustack'
|
||||
| 'voyageai'
|
||||
| 'aws-bedrock'
|
||||
| 'poe'
|
||||
|
||||
export type SystemProvider = Provider & {
|
||||
id: SystemProviderId
|
||||
isSystem: true
|
||||
}
|
||||
|
||||
export type ProviderSupportedServiceTier = Provider & {
|
||||
isSupportServiceTier: true
|
||||
serviceTier: OpenAIServiceTier
|
||||
}
|
||||
|
||||
export function isProviderSupportedServiceTier(provider: Provider): provider is ProviderSupportedServiceTier {
|
||||
const p = provider as ProviderSupportedServiceTier
|
||||
return p.isSupportServiceTier && isOpenAIServiceTier(p.serviceTier || '')
|
||||
}
|
||||
|
||||
export type ProviderType =
|
||||
| 'openai'
|
||||
| 'openai-response'
|
||||
@ -825,6 +898,10 @@ export interface StoreSyncAction {
|
||||
export type OpenAISummaryText = 'auto' | 'concise' | 'detailed' | 'off'
|
||||
export type OpenAIServiceTier = 'auto' | 'default' | 'flex'
|
||||
|
||||
export function isOpenAIServiceTier(tier: string): tier is OpenAIServiceTier {
|
||||
return ['auto', 'default', 'flex'].includes(tier)
|
||||
}
|
||||
|
||||
export type S3Config = {
|
||||
endpoint: string
|
||||
region: string
|
||||
|
||||
Loading…
Reference in New Issue
Block a user