💄 style: Add Gemini 3 Flash & Doubao Seed 1.8 models (#10832)

*  feat: 添加 Gemini 3 Flash 模型及其参数配置

*  feat: 添加 Doubao Seed 1.8 和 DeepSeek V3.2 模型,更新模型参数配置;修改处理负载以支持 reasoning_effort

*  feat: 启用 DeepSeek V3.2 模型

*  feat: 移除 doubaoChatModels 中的 enableReasoning 参数

*  feat: 添加混元图生文模型,更新智谱模型配置,优化模型解析逻辑

*  feat: 添加 MiniMax M2.1 和 MiniMax M2.1 Lightning 模型,更新模型参数配置;调整 OllamaCloud 模型的上下文窗口大小

*  feat: 添加 MiniMax M2.1 和 GLM-4.7 模型,更新模型描述和参数配置

*  feat: 添加 GLM-4.7 模型,更新模型描述和定价策略;优化 Zhipu 模型的工具处理逻辑

*  feat: add thinkingLevel2 parameter and update related components

* Update volcengine.ts

*  feat: 添加 gpt5_2ReasoningEffort 和 gpt5_2ProReasoningEffort 参数,并更新相关组件

---------

Co-authored-by: Arvin Xu <arvinx@foxmail.com>
This commit is contained in:
sxjeru 2026-01-01 22:42:25 +08:00 committed by GitHub
parent 2e260a8146
commit cb3593585b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
27 changed files with 876 additions and 177 deletions

View file

@ -25,7 +25,7 @@ const aihubmixModels: AIChatModelCard[] = [
},
releasedAt: '2025-12-11',
settings: {
extendParams: ['gpt5_1ReasoningEffort', 'textVerbosity'],
extendParams: ['gpt5_2ReasoningEffort', 'textVerbosity'],
searchImpl: 'params',
},
type: 'chat',
@ -51,6 +51,7 @@ const aihubmixModels: AIChatModelCard[] = [
},
releasedAt: '2025-12-11',
settings: {
extendParams: ['gpt5_2ProReasoningEffort', 'textVerbosity'],
searchImpl: 'params',
},
type: 'chat',
@ -189,7 +190,8 @@ const aihubmixModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 400_000,
description: 'GPT-5 pro uses more compute to think deeper and consistently deliver better answers.',
description:
'GPT-5 pro uses more compute to think deeper and consistently deliver better answers.',
displayName: 'GPT-5 pro',
id: 'gpt-5-pro',
maxOutput: 272_000,
@ -478,7 +480,8 @@ const aihubmixModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_047_576,
description: 'GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.',
description:
'GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.',
displayName: 'GPT-4.1',
id: 'gpt-4.1',
maxOutput: 32_768,
@ -502,8 +505,7 @@ const aihubmixModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_047_576,
description:
'GPT-4.1 mini balances intelligence, speed, and cost for many use cases.',
description: 'GPT-4.1 mini balances intelligence, speed, and cost for many use cases.',
displayName: 'GPT-4.1 mini',
id: 'gpt-4.1-mini',
maxOutput: 32_768,
@ -1137,6 +1139,41 @@ const aihubmixModels: AIChatModelCard[] = [
],
},
releasedAt: '2025-11-18',
settings: {
extendParams: ['thinkingLevel2', 'urlContext'],
searchImpl: 'params',
searchProvider: 'google',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
search: true,
video: true,
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: 'Gemini 3 Flash 是为速度而打造的最智能的模型,将前沿智能与卓越的搜索接地相结合。',
displayName: 'Gemini 3 Flash Preview',
enabled: true,
id: 'gemini-3-flash-preview',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 1 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
},
releasedAt: '2025-12-17',
settings: {
extendParams: ['thinkingLevel', 'urlContext'],
searchImpl: 'params',
@ -1210,7 +1247,7 @@ const aihubmixModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: "Gemini 2.5 Flash is Googles best-value model with full capabilities.",
description: 'Gemini 2.5 Flash is Googles best-value model with full capabilities.',
displayName: 'Gemini 2.5 Flash',
id: 'gemini-2.5-flash',
maxOutput: 65_536,
@ -1238,7 +1275,6 @@ const aihubmixModels: AIChatModelCard[] = [
description:
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, allowing image generation and editing through conversation.',
displayName: 'Nano Banana',
enabled: true,
id: 'gemini-2.5-flash-image',
maxOutput: 8192,
pricing: {
@ -1262,7 +1298,7 @@ const aihubmixModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Flash-Lite is Googles smallest, best-value model, designed for large-scale use.",
'Gemini 2.5 Flash-Lite is Googles smallest, best-value model, designed for large-scale use.',
displayName: 'Gemini 2.5 Flash-Lite',
id: 'gemini-2.5-flash-lite',
maxOutput: 65_536,

View file

@ -123,7 +123,7 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 3 Pro is Googles most powerful agent and vibe-coding model, delivering richer visuals and deeper interaction on top of state-of-the-art reasoning.",
'Gemini 3 Pro is Googles most powerful agent and vibe-coding model, delivering richer visuals and deeper interaction on top of state-of-the-art reasoning.',
displayName: 'Gemini 3 Pro Preview',
enabled: true,
id: 'gemini-3-pro-preview',
@ -166,6 +166,41 @@ const googleChatModels: AIChatModelCard[] = [
],
},
releasedAt: '2025-11-18',
settings: {
extendParams: ['thinkingLevel2', 'urlContext'],
searchImpl: 'params',
searchProvider: 'google',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
search: true,
video: true,
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: 'Gemini 3 Flash 是为速度而打造的最智能的模型,将前沿智能与卓越的搜索接地相结合。',
displayName: 'Gemini 3 Flash Preview',
enabled: true,
id: 'gemini-3-flash-preview',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 1 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
},
releasedAt: '2025-12-17',
settings: {
extendParams: ['thinkingLevel', 'urlContext'],
searchImpl: 'params',
@ -182,7 +217,7 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 131_072 + 32_768,
description:
"Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.",
'Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.',
displayName: 'Nano Banana Pro',
enabled: true,
id: 'gemini-3-pro-image-preview',
@ -213,9 +248,8 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro',
enabled: true,
id: 'gemini-2.5-pro',
maxOutput: 65_536,
pricing: {
@ -273,7 +307,7 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro Preview 06-05',
id: 'gemini-2.5-pro-preview-06-05',
maxOutput: 65_536,
@ -326,7 +360,7 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro Preview 05-06',
id: 'gemini-2.5-pro-preview-05-06',
maxOutput: 65_536,
@ -377,9 +411,8 @@ const googleChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: "Gemini 2.5 Flash is Googles best-value model with full capabilities.",
description: 'Gemini 2.5 Flash is Googles best-value model with full capabilities.',
displayName: 'Gemini 2.5 Flash',
enabled: true,
id: 'gemini-2.5-flash',
maxOutput: 65_536,
pricing: {
@ -432,9 +465,8 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 32_768 + 8192,
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
displayName: 'Nano Banana',
enabled: true,
id: 'gemini-2.5-flash-image',
maxOutput: 8192,
pricing: {
@ -459,7 +491,7 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 32_768 + 8192,
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
displayName: 'Nano Banana (Preview)',
id: 'gemini-2.5-flash-image-preview',
maxOutput: 8192,
@ -488,7 +520,7 @@ const googleChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Flash-Lite is Googles smallest, best-value model, designed for large-scale use.",
'Gemini 2.5 Flash-Lite is Googles smallest, best-value model, designed for large-scale use.',
displayName: 'Gemini 2.5 Flash-Lite',
id: 'gemini-2.5-flash-lite',
maxOutput: 65_536,
@ -706,7 +738,8 @@ const googleChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_008_192,
description: 'Gemini 1.5 Flash 002 is an efficient multimodal model built for broad deployment.',
description:
'Gemini 1.5 Flash 002 is an efficient multimodal model built for broad deployment.',
displayName: 'Gemini 1.5 Flash 002',
id: 'gemini-1.5-flash-002', // Deprecated on 2025-09-24
maxOutput: 8192,
@ -903,7 +936,7 @@ const googleImageModels: AIImageModelCard[] = [
type: 'image',
enabled: true,
description:
"Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.",
'Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.',
releasedAt: '2025-11-18',
parameters: nanoBananaProParameters,
pricing: {
@ -918,10 +951,9 @@ const googleImageModels: AIImageModelCard[] = [
{
displayName: 'Nano Banana',
id: 'gemini-2.5-flash-image:image',
enabled: true,
type: 'image',
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
releasedAt: '2025-08-26',
parameters: nanoBananaParameters,
pricing: {
@ -938,7 +970,7 @@ const googleImageModels: AIImageModelCard[] = [
id: 'gemini-2.5-flash-image-preview:image',
type: 'image',
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
releasedAt: '2025-08-26',
parameters: CHAT_MODEL_IMAGE_GENERATION_PARAMS,
pricing: {

View file

@ -446,6 +446,26 @@ const hunyuanChatModels: AIChatModelCard[] = [
},
type: 'chat',
},
{
abilities: {
vision: true,
},
contextWindowTokens: 24_000,
description:
'基于文本 TurboS 基座生产的图生文快思考模型,相比上一版本在图像基础识别、图像分析推理等维度都有明显的效果提升。',
displayName: '混元图生文',
id: 'hunyuan-vision-1.5-instruct',
maxOutput: 16_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 9, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-12-17',
type: 'chat',
},
{
abilities: {
vision: true,

View file

@ -51,9 +51,29 @@ const infiniaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 200_000,
description:
'MiniMax-M2 is a MoE language model optimized for coding and agent workflows, with about 230B total parameters and around 10B active parameters. It strengthens developer scenarios such as multi-file editing, code-run-fix loops, and test verification/repair, while delivering stable, efficient performance in real environments like terminals, IDEs, and CI.',
displayName: 'MiniMax M2',
'MiniMax-M2.1 是 MiniMax 系列的最新版本,专为多语言编程和真实世界复杂任务优化。作为一款 AI 原生模型MiniMax-M2.1 在模型性能、智能体框架支持以及多场景适配方面实现了显著提升,旨在帮助企业和个人更快地找到 AI 原生的工作与生活方式。',
displayName: 'MiniMax M2.1',
enabled: true,
id: 'minimax-m2.1',
maxOutput: 200_000,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 2.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8.4, strategy: 'fixed', unit: 'millionTokens' },
],
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 200_000,
description:
'MiniMax-M2 是一款专为编码与智能体工作流优化的专家混合MoE语言模型具有约 230B 总参数与约 10B 活跃参数。它在保持强通用智能的同时,针对多文件编辑、代码-运行-修复闭环、测试校验修复等开发者场景进行深度增强在终端、IDE 与 CI 等真实环境中表现稳定、高效。',
displayName: 'MiniMax M2',
id: 'minimax-m2',
maxOutput: 200_000,
pricing: {
@ -71,16 +91,38 @@ const infiniaiChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 131_072,
description: 'GLM-4.6 is Zhipu AIs latest LLM, with stronger reasoning and generation.',
displayName: 'GLM-4.6',
description: 'GLM-4.7 是智谱AI推出的最新大语言模型具备更强的推理和生成能力。',
displayName: 'GLM-4.7',
enabled: true,
id: 'glm-4.7',
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 14, strategy: 'fixed', unit: 'millionTokens' },
],
},
settings: {
extendParams: ['enableReasoning'],
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 131_072,
description: 'GLM-4.6 是智谱AI推出的最新大语言模型具备更强的推理和生成能力。',
displayName: 'GLM-4.6',
id: 'glm-4.6',
maxOutput: 4096,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput', rate: 4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 14, strategy: 'fixed', unit: 'millionTokens' },
],
},
settings: {
@ -96,7 +138,6 @@ const infiniaiChatModels: AIChatModelCard[] = [
contextWindowTokens: 131_072,
description: 'DeepSeek-V3.2-Exp is an experimental DeepSeek LLM with stronger reasoning and generation.',
displayName: 'DeepSeek V3.2 Exp',
enabled: true,
id: 'deepseek-v3.2-exp',
maxOutput: 65_536,
pricing: {

View file

@ -12,7 +12,8 @@ const lobehubChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 400_000,
description: "GPT-5.2 — OpenAI's flagship model optimized for coding and agent tasks across industries.",
description:
"GPT-5.2 — OpenAI's flagship model optimized for coding and agent tasks across industries.",
displayName: 'GPT-5.2',
enabled: true,
id: 'gpt-5.2',
@ -26,7 +27,7 @@ const lobehubChatModels: AIChatModelCard[] = [
},
releasedAt: '2025-12-11',
settings: {
extendParams: ['gpt5_1ReasoningEffort', 'textVerbosity'],
extendParams: ['gpt5_2ReasoningEffort', 'textVerbosity'],
searchImpl: 'params',
},
type: 'chat',
@ -164,7 +165,8 @@ const lobehubChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_047_576,
description: 'GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.',
description:
'GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.',
displayName: 'GPT-4.1',
enabled: true,
id: 'gpt-4.1',
@ -628,7 +630,7 @@ const lobehubChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 3 Pro is Googles most powerful agent and vibe-coding model, delivering richer visuals and deeper interaction on top of state-of-the-art reasoning.",
'Gemini 3 Pro is Googles most powerful agent and vibe-coding model, delivering richer visuals and deeper interaction on top of state-of-the-art reasoning.',
displayName: 'Gemini 3 Pro Preview',
enabled: true,
id: 'gemini-3-pro-preview',
@ -672,7 +674,7 @@ const lobehubChatModels: AIChatModelCard[] = [
},
releasedAt: '2025-11-18',
settings: {
extendParams: ['thinkingLevel', 'urlContext'],
extendParams: ['thinkingLevel2', 'urlContext'],
searchImpl: 'params',
searchProvider: 'google',
},
@ -728,7 +730,7 @@ const lobehubChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro',
enabled: true,
id: 'gemini-2.5-pro',
@ -780,7 +782,7 @@ const lobehubChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: "Gemini 2.5 Flash is Googles best-value model with full capabilities.",
description: 'Gemini 2.5 Flash is Googles best-value model with full capabilities.',
displayName: 'Gemini 2.5 Flash',
enabled: true,
id: 'gemini-2.5-flash',
@ -819,7 +821,7 @@ const lobehubChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 131_072 + 32_768,
description:
"Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.",
'Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.',
displayName: 'Nano Banana Pro',
enabled: true,
id: 'gemini-3-pro-image-preview',
@ -845,7 +847,7 @@ const lobehubChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 32_768 + 32_768,
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
displayName: 'Nano Banana',
enabled: true,
id: 'gemini-2.5-flash-image-preview',
@ -1039,7 +1041,7 @@ export const nanoBananaProParameters: ModelParamsSchema = {
const lobehubImageModels: AIImageModelCard[] = [
{
description:
"Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.",
'Gemini 3 Pro Image (Nano Banana Pro) is Googles image generation model and also supports multimodal chat.',
displayName: 'Nano Banana Pro',
enabled: true,
id: 'gemini-3-pro-image-preview:image',
@ -1057,7 +1059,7 @@ const lobehubImageModels: AIImageModelCard[] = [
},
{
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
displayName: 'Nano Banana',
enabled: true,
id: 'gemini-2.5-flash-image-preview:image',

View file

@ -7,9 +7,53 @@ const minimaxChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 204_800,
description: 'Built for efficient coding and agent workflows.',
displayName: 'MiniMax M2',
description: '强大多语言编程实力,全面升级编程体验',
displayName: 'MiniMax M2.1',
enabled: true,
id: 'MiniMax-M2.1',
maxOutput: 131_072,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.21, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheWrite', rate: 2.625, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 8.4, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-12-23',
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 204_800,
description: '强大多语言编程实力,全面升级编程体验。更快,更高效。',
displayName: 'MiniMax M2.1 Lightning',
id: 'MiniMax-M2.1-Lightning',
maxOutput: 131_072,
pricing: {
currency: 'CNY',
units: [
{ name: 'textInput_cacheRead', rate: 0.21, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheWrite', rate: 2.625, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2.1, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 16.8, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-12-23',
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 204_800,
description: '专为高效编码与Agent工作流而生',
displayName: 'MiniMax M2',
id: 'MiniMax-M2',
maxOutput: 131_072,
pricing: {

View file

@ -42,11 +42,34 @@ const ollamaCloudModels: AIChatModelCard[] = [
abilities: {
functionCall: true,
reasoning: true,
vision: true,
},
contextWindowTokens: 200_000,
description: 'MiniMax M2 is an efficient LLM built for coding and agent workflows.',
displayName: 'MiniMax M2',
contextWindowTokens: 1_048_576,
description: 'Gemini 3 Flash 是为速度而打造的最智能的模型,将前沿智能与卓越的搜索接地相结合。',
displayName: 'Gemini 3 Flash Preview',
id: 'gemini-3-flash-preview',
releasedAt: '2025-12-17',
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 204_800,
displayName: 'MiniMax M2.1',
enabled: true,
id: 'minimax-m2.1',
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 204_800,
description: 'MiniMax M2 是专为编码和代理工作流程构建的高效大型语言模型。',
displayName: 'MiniMax M2',
id: 'minimax-m2',
type: 'chat',
},
@ -57,9 +80,21 @@ const ollamaCloudModels: AIChatModelCard[] = [
},
contextWindowTokens: 200_000,
description:
'Zhipus latest flagship GLM-4.6 (355B) surpasses prior versions in advanced coding, long-text handling, reasoning, and agent capabilities, aligning with Claude Sonnet 4 in programming performance and ranking among the top coding models in China.',
displayName: 'GLM-4.6',
'GLM-4.7 是智谱最新旗舰模型,面向 Agentic Coding 场景强化了编码能力、长程任务规划与工具协同并在多个公开基准的当期榜单中取得开源模型中的领先表现。通用能力提升回复更简洁自然写作更具沉浸感。在执行复杂智能体任务在工具调用时指令遵循更强Artifacts 与 Agentic Coding 的前端美感和长程任务完成效率进一步提升。',
displayName: 'GLM-4.7',
enabled: true,
id: 'glm-4.7',
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 200_000,
description:
'智谱旗舰模型 GLM-4.6 (355B) 在高级编码、长文本处理、推理与智能体能力上全面超越前代,尤其在编程能力上对齐 Claude Sonnet 4成为国内顶尖的 Coding 模型。',
displayName: 'GLM-4.6',
id: 'glm-4.6',
type: 'chat',
},

View file

@ -42,7 +42,7 @@ export const openaiChatModels: AIChatModelCard[] = [
},
releasedAt: '2025-12-11',
settings: {
extendParams: ['gpt5_1ReasoningEffort', 'textVerbosity'],
extendParams: ['gpt5_2ReasoningEffort', 'textVerbosity'],
searchImpl: 'params',
},
type: 'chat',
@ -68,6 +68,7 @@ export const openaiChatModels: AIChatModelCard[] = [
},
releasedAt: '2025-12-11',
settings: {
extendParams: ['gpt5_2ProReasoningEffort'],
searchImpl: 'params',
},
type: 'chat',
@ -203,7 +204,8 @@ export const openaiChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 400_000,
description: 'GPT-5 pro uses more compute to think deeper and consistently deliver better answers.',
description:
'GPT-5 pro uses more compute to think deeper and consistently deliver better answers.',
displayName: 'GPT-5 pro',
id: 'gpt-5-pro',
maxOutput: 272_000,
@ -563,7 +565,8 @@ export const openaiChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_047_576,
description: 'GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.',
description:
'GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.',
displayName: 'GPT-4.1',
id: 'gpt-4.1',
maxOutput: 32_768,

View file

@ -9,7 +9,7 @@ const qwenChatModels: AIChatModelCard[] = [
vision: true,
},
config: {
deploymentName: 'qwen3-vl-plus',
deploymentName: 'qwen3-vl-plus-2025-12-19',
},
contextWindowTokens: 262_144,
description:

View file

@ -2,6 +2,66 @@ import { AIChatModelCard, AIImageModelCard } from '../types/aiModel';
// https://siliconflow.cn/zh-cn/models
const siliconcloudChatModels: AIChatModelCard[] = [
{
abilities: {
functionCall: true,
reasoning: true,
},
contextWindowTokens: 200_000,
description:
'GLM-4.7 是智谱新一代旗舰模型,总参数量 355B激活参数量 32B在通用对话、推理和智能体能力方面全面升级。GLM-4.7 增强了 Interleaved Thinking交错思考并引入了 Preserved Thinking保留思考和 Turn-level Thinking轮级思考。',
displayName: 'GLM-4.7 (Pro)',
id: 'Pro/zai-org/glm-4.7',
pricing: {
currency: 'CNY',
units: [
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 0.4,
'[0, 0.032]_[0.0002, infinity]': 0.6,
'[0.032, infinity]_[0, infinity]': 0.8,
},
pricingParams: ['textInput', 'textOutput'],
},
name: 'textInput_cacheRead',
strategy: 'lookup',
unit: 'millionTokens',
},
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 2,
'[0, 0.032]_[0.0002, infinity]': 3,
'[0.032, infinity]_[0, infinity]': 4,
},
pricingParams: ['textInput', 'textOutput'],
},
name: 'textInput',
strategy: 'lookup',
unit: 'millionTokens',
},
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 8,
'[0, 0.032]_[0.0002, infinity]': 14,
'[0.032, infinity]_[0, infinity]': 16,
},
pricingParams: ['textInput', 'textOutput'],
},
name: 'textOutput',
strategy: 'lookup',
unit: 'millionTokens',
},
],
},
releasedAt: '2025-12-22',
settings: {
extendParams: ['enableReasoning', 'reasoningBudgetToken'],
},
type: 'chat',
},
{
abilities: {
functionCall: true,

View file

@ -3,35 +3,6 @@ import { imagenGenParameters, nanoBananaParameters } from './google';
// ref: https://cloud.google.com/vertex-ai/generative-ai/docs/learn/models
const vertexaiChatModels: AIChatModelCard[] = [
{
abilities: {
imageOutput: true,
reasoning: true,
search: true,
vision: true,
},
contextWindowTokens: 131_072 + 32_768,
description:
"Gemini 3 Pro Image (Nano Banana Pro) is Google's image generation model and also supports multimodal chat.",
displayName: 'Nano Banana Pro',
enabled: true,
id: 'gemini-3-pro-image-preview',
maxOutput: 32_768,
pricing: {
approximatePricePerImage: 0.134,
units: [
{ name: 'imageOutput', rate: 120, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-11-20',
settings: {
searchImpl: 'params',
searchProvider: 'google',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
@ -42,7 +13,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 3 Pro is Googles most powerful agent and vibe-coding model, delivering richer visuals and deeper interaction on top of state-of-the-art reasoning.",
'Gemini 3 Pro is Googles most powerful agent and vibe-coding model, delivering richer visuals and deeper interaction on top of state-of-the-art reasoning.',
displayName: 'Gemini 3 Pro Preview',
enabled: true,
id: 'gemini-3-pro-preview',
@ -85,6 +56,41 @@ const vertexaiChatModels: AIChatModelCard[] = [
],
},
releasedAt: '2025-11-18',
settings: {
extendParams: ['thinkingLevel2', 'urlContext'],
searchImpl: 'params',
searchProvider: 'google',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
search: true,
video: true,
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: 'Gemini 3 Flash 是为速度而打造的最智能的模型,将前沿智能与卓越的搜索接地相结合。',
displayName: 'Gemini 3 Flash Preview',
enabled: true,
id: 'gemini-3-flash-preview',
maxOutput: 65_536,
pricing: {
units: [
{ name: 'textInput_cacheRead', rate: 0.05, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 0.5, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 3, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 1 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
},
releasedAt: '2025-12-17',
settings: {
extendParams: ['thinkingLevel', 'urlContext'],
searchImpl: 'params',
@ -92,6 +98,35 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
type: 'chat',
},
{
abilities: {
imageOutput: true,
reasoning: true,
search: true,
vision: true,
},
contextWindowTokens: 131_072 + 32_768,
description:
'Gemini 3 Pro ImageNano Banana Pro是 Google 的图像生成模型,同时支持多模态对话。',
displayName: 'Nano Banana Pro',
enabled: true,
id: 'gemini-3-pro-image-preview',
maxOutput: 32_768,
pricing: {
approximatePricePerImage: 0.134,
units: [
{ name: 'imageOutput', rate: 120, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput', rate: 2, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textOutput', rate: 12, strategy: 'fixed', unit: 'millionTokens' },
],
},
releasedAt: '2025-11-20',
settings: {
searchImpl: 'params',
searchProvider: 'google',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
@ -101,9 +136,8 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro',
enabled: true,
id: 'gemini-2.5-pro',
maxOutput: 65_536,
pricing: {
@ -129,7 +163,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro Preview 05-06',
id: 'gemini-2.5-pro-preview-05-06',
maxOutput: 65_536,
@ -150,7 +184,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_048_576 + 65_536,
description:
"Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.",
'Gemini 2.5 Pro Preview is Googles most advanced reasoning model, able to reason over code, math, and STEM problems and analyze large datasets, codebases, and documents with long context.',
displayName: 'Gemini 2.5 Pro Preview 03-25',
id: 'gemini-2.5-pro-preview-03-25',
maxOutput: 65_536,
@ -171,9 +205,8 @@ const vertexaiChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: "Gemini 2.5 Flash is Googles best-value model with full capabilities.",
description: 'Gemini 2.5 Flash is Googles best-value model with full capabilities.',
displayName: 'Gemini 2.5 Flash',
enabled: true,
id: 'gemini-2.5-flash',
maxOutput: 65_536,
pricing: {
@ -198,7 +231,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_048_576 + 65_536,
description: "Gemini 2.5 Flash Preview is Googles best-value model with full capabilities.",
description: 'Gemini 2.5 Flash Preview is Googles best-value model with full capabilities.',
displayName: 'Gemini 2.5 Flash Preview 04-17',
id: 'gemini-2.5-flash-preview-04-17',
maxOutput: 65_536,
@ -218,7 +251,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 32_768 + 8192,
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
displayName: 'Nano Banana',
enabled: true,
id: 'gemini-2.5-flash-image',
@ -243,7 +276,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_000_000 + 64_000,
description:
"Gemini 2.5 Flash-Lite is Googles smallest, best-value model, designed for large-scale use.",
'Gemini 2.5 Flash-Lite is Googles smallest, best-value model, designed for large-scale use.',
displayName: 'Gemini 2.5 Flash-Lite',
id: 'gemini-2.5-flash-lite',
maxOutput: 64_000,
@ -270,7 +303,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_000_000 + 64_000,
description:
"Gemini 2.5 Flash-Lite Preview is Googles smallest, best-value model, designed for large-scale use.",
'Gemini 2.5 Flash-Lite Preview is Googles smallest, best-value model, designed for large-scale use.',
displayName: 'Gemini 2.5 Flash-Lite Preview 06-17',
id: 'gemini-2.5-flash-lite-preview-06-17',
maxOutput: 64_000,
@ -315,8 +348,7 @@ const vertexaiChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_048_576 + 8192,
description:
'A Gemini 2.0 Flash variant optimized for cost efficiency and low latency.',
description: 'A Gemini 2.0 Flash variant optimized for cost efficiency and low latency.',
displayName: 'Gemini 2.0 Flash-Lite',
id: 'gemini-2.0-flash-lite',
maxOutput: 8192,
@ -336,7 +368,8 @@ const vertexaiChatModels: AIChatModelCard[] = [
vision: true,
},
contextWindowTokens: 1_000_000 + 8192,
description: 'Gemini 1.5 Flash 002 is an efficient multimodal model built for broad deployment.',
description:
'Gemini 1.5 Flash 002 is an efficient multimodal model built for broad deployment.',
displayName: 'Gemini 1.5 Flash 002',
id: 'gemini-1.5-flash-002',
maxOutput: 8192,
@ -379,7 +412,7 @@ const vertexaiImageModels: AIImageModelCard[] = [
enabled: true,
type: 'image',
description:
"Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.",
'Nano Banana is Googles newest, fastest, and most efficient native multimodal model, enabling conversational image generation and editing.',
releasedAt: '2025-08-26',
parameters: nanoBananaParameters,
pricing: {

View file

@ -3,6 +3,66 @@ import { AIChatModelCard, AIImageModelCard } from '../types/aiModel';
// https://www.volcengine.com/docs/82379/1330310
const doubaoChatModels: AIChatModelCard[] = [
{
abilities: {
functionCall: true,
reasoning: true,
vision: true,
},
config: {
deploymentName: 'doubao-seed-1-8-251215',
},
contextWindowTokens: 256_000,
description:
'Doubao-Seed-1.8 有着更强的多模态理解能力和 Agent 能力,支持文本/图片/视频输入与上下文缓存,可在复杂任务中提供更出色的表现。',
displayName: 'Doubao Seed 1.8',
id: 'doubao-seed-1.8',
maxOutput: 64_000,
pricing: {
currency: 'CNY',
units: [
{
lookup: {
prices: {
'[0, 0.032]': 0.8,
'[0.032, 0.128]': 1.2,
'[0.128, 0.256]': 2.4,
},
pricingParams: ['textInputRange'],
},
name: 'textInput',
strategy: 'lookup',
unit: 'millionTokens',
},
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 2,
'[0, 0.032]_[0.0002, infinity]': 8,
'[0.032, 0.128]_[0, infinity]': 16,
'[0.128, 0.256]_[0, infinity]': 24,
},
pricingParams: ['textInputRange', 'textOutputRange'],
},
name: 'textOutput',
strategy: 'lookup',
unit: 'millionTokens',
},
{ name: 'textInput_cacheRead', rate: 0.16, strategy: 'fixed', unit: 'millionTokens' },
{
lookup: { prices: { '1h': 0.017 }, pricingParams: ['ttl'] },
name: 'textInput_cacheWrite',
strategy: 'lookup',
unit: 'millionTokens',
},
],
},
releasedAt: '2025-12-18',
settings: {
extendParams: ['gpt5ReasoningEffort'],
},
type: 'chat',
},
{
abilities: {
functionCall: true,
@ -56,6 +116,57 @@ const doubaoChatModels: AIChatModelCard[] = [
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
},
config: {
deploymentName: 'deepseek-v3-2-251201',
},
contextWindowTokens: 131_072,
description:
'DeepSeek-V3.2 是深度求索推出的首个将思考融入工具使用的混合推理模型,用高效架构省算力、大规模强化学习提能力、大规模合成任务数据强泛化,三者结合性能媲美 GPT-5-High输出长度大幅降低显著减少了计算开销与用户等待时间。',
displayName: 'DeepSeek V3.2',
enabled: true,
id: 'deepseek-v3.2',
maxOutput: 32_768,
pricing: {
currency: 'CNY',
units: [
{
lookup: {
prices: {
'[0, 0.032]': 2,
'[0.032, 0.128]': 4,
},
pricingParams: ['textInputRange'],
},
name: 'textInput',
strategy: 'lookup',
unit: 'millionTokens',
},
{
lookup: {
prices: {
'[0, 0.032]': 3,
'[0.032, 0.128]': 6,
},
pricingParams: ['textInputRange'],
},
name: 'textOutput',
strategy: 'lookup',
unit: 'millionTokens',
},
{ name: 'textInput_cacheRead', rate: 0.4, strategy: 'fixed', unit: 'millionTokens' },
{ name: 'textInput_cacheWrite', rate: 0.017, strategy: 'fixed', unit: 'millionTokens' },
],
},
settings: {
extendParams: ['enableReasoning'],
},
type: 'chat',
},
{
abilities: {
functionCall: true,
@ -171,7 +282,6 @@ const doubaoChatModels: AIChatModelCard[] = [
description:
'Doubao-Seed-1.6-thinking significantly strengthens reasoning, further improving core abilities in coding, math, and logical reasoning over Doubao-1.5-thinking-pro, while adding vision understanding. It supports a 256k context window and up to 16k output tokens.',
displayName: 'Doubao Seed 1.6 Thinking',
enabled: true,
id: 'doubao-seed-1.6-thinking',
maxOutput: 32_000,
pricing: {
@ -221,7 +331,6 @@ const doubaoChatModels: AIChatModelCard[] = [
description:
'Doubao-Seed-1.6 is a new multimodal deep-reasoning model with auto, thinking, and non-thinking modes. In non-thinking mode, it significantly outperforms Doubao-1.5-pro/250115. It supports a 256k context window and up to 16k output tokens.',
displayName: 'Doubao Seed 1.6',
enabled: true,
id: 'doubao-seed-1.6',
maxOutput: 32_000,
pricing: {

View file

@ -32,7 +32,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
},
releasedAt: '2025-12-11',
settings: {
extendParams: ['gpt5_1ReasoningEffort', 'textVerbosity'],
extendParams: ['gpt5_2ReasoningEffort', 'textVerbosity'],
searchImpl: 'params',
},
type: 'chat',
@ -147,6 +147,11 @@ const zenmuxChatModels: AIChatModelCard[] = [
],
},
releasedAt: '2025-11-20',
settings: {
extendParams: ['thinkingLevel2', 'urlContext'],
searchImpl: 'params',
searchProvider: 'google',
},
type: 'chat',
},
{
@ -170,7 +175,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
],
},
settings: {
extendParams: ['thinkingLevel', 'urlContext'],
extendParams: ['thinkingLevel2', 'urlContext'],
searchImpl: 'params',
searchProvider: 'google',
},
@ -348,7 +353,8 @@ const zenmuxChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 256_000,
description: "Grok 4 is xAI's flagship reasoning model with strong reasoning and multimodal capability.",
description:
"Grok 4 is xAI's flagship reasoning model with strong reasoning and multimodal capability.",
displayName: 'Grok 4',
id: 'x-ai/grok-4',
maxOutput: 256_000,
@ -707,7 +713,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_050_000,
description:
"Gemini 2.5 Pro is Googles flagship reasoning model with long context support for complex tasks.",
'Gemini 2.5 Pro is Googles flagship reasoning model with long context support for complex tasks.',
displayName: 'Gemini 2.5 Pro',
id: 'google/gemini-2.5-pro',
maxOutput: 65_530,
@ -759,7 +765,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 1_050_000,
description:
"Gemini 2.5 Flash (Lite/Pro/Flash) is Googles family spanning low latency to high-performance reasoning.",
'Gemini 2.5 Flash (Lite/Pro/Flash) is Googles family spanning low latency to high-performance reasoning.',
displayName: 'Gemini 2.5 Flash',
id: 'google/gemini-2.5-flash',
maxOutput: 65_530,
@ -931,8 +937,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 1_050_000,
description:
'GPT-4.1 Mini offers lower latency and better value for mid-context workloads.',
description: 'GPT-4.1 Mini offers lower latency and better value for mid-context workloads.',
displayName: 'GPT-4.1 Mini',
id: 'openai/gpt-4.1-mini',
maxOutput: 32_770,
@ -1076,7 +1081,8 @@ const zenmuxChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 200_000,
description: "GLM 4.6 is Z.AI's flagship model with extended context length and coding capability.",
description:
"GLM 4.6 is Z.AI's flagship model with extended context length and coding capability.",
displayName: 'GLM 4.6',
id: 'z-ai/glm-4.6',
maxOutput: 128_000,
@ -1125,7 +1131,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 200_000,
description:
"Opus 4.1 is Anthropics high-end model optimized for programming, complex reasoning, and long-running tasks.",
'Opus 4.1 is Anthropics high-end model optimized for programming, complex reasoning, and long-running tasks.',
displayName: 'Claude Opus 4.1',
id: 'anthropic/claude-opus-4.1',
maxOutput: 32_000,
@ -1150,7 +1156,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 200_000,
description:
"Opus 4 is Anthropics flagship model designed for complex tasks and enterprise applications.",
'Opus 4 is Anthropics flagship model designed for complex tasks and enterprise applications.',
displayName: 'Claude Opus 4',
id: 'anthropic/claude-opus-4',
maxOutput: 32_000,
@ -1218,7 +1224,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 200_000,
description:
"Claude Sonnet 4.5 is Anthropics latest hybrid reasoning model optimized for complex reasoning and coding.",
'Claude Sonnet 4.5 is Anthropics latest hybrid reasoning model optimized for complex reasoning and coding.',
displayName: 'Claude Sonnet 4.5',
id: 'anthropic/claude-sonnet-4.5',
maxOutput: 64_000,
@ -1259,7 +1265,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
reasoning: true,
},
contextWindowTokens: 200_000,
description: "OpenAI o4-mini is a small, efficient reasoning model for low-latency scenarios.",
description: 'OpenAI o4-mini is a small, efficient reasoning model for low-latency scenarios.',
displayName: 'o4 Mini',
id: 'openai/o4-mini',
maxOutput: 100_000,
@ -1542,7 +1548,7 @@ const zenmuxChatModels: AIChatModelCard[] = [
abilities: { reasoning: true },
contextWindowTokens: 128_000,
description:
"GLM 4.5 is Z.AIs flagship model with hybrid reasoning optimized for engineering and long-context tasks.",
'GLM 4.5 is Z.AIs flagship model with hybrid reasoning optimized for engineering and long-context tasks.',
displayName: 'GLM 4.5',
id: 'z-ai/glm-4.5',
maxOutput: 96_000,

View file

@ -12,9 +12,71 @@ const zhipuChatModels: AIChatModelCard[] = [
},
contextWindowTokens: 200_000,
description:
'Zhipus latest flagship GLM-4.6 (355B) surpasses the prior generation in advanced coding, long-context handling, reasoning, and agent capabilities. Its coding performance is on par with Claude Sonnet 4, making it a top-tier coding model in China.',
displayName: 'GLM-4.6',
'GLM-4.7 是智谱最新旗舰模型,面向 Agentic Coding 场景强化了编码能力、长程任务规划与工具协同并在多个公开基准的当期榜单中取得开源模型中的领先表现。通用能力提升回复更简洁自然写作更具沉浸感。在执行复杂智能体任务在工具调用时指令遵循更强Artifacts 与 Agentic Coding 的前端美感和长程任务完成效率进一步提升。',
displayName: 'GLM-4.7',
enabled: true,
id: 'glm-4.7',
maxOutput: 131_072,
pricing: {
currency: 'CNY',
units: [
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 0.4,
'[0, 0.032]_[0.0002, infinity]': 0.6,
'[0.032, 0.2]': 0.8,
},
pricingParams: ['textInput', 'textOutput'],
},
name: 'textInput_cacheRead',
strategy: 'lookup',
unit: 'millionTokens',
},
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 2,
'[0, 0.032]_[0.0002, infinity]': 3,
'[0.032, 0.2]': 4,
},
pricingParams: ['textInput', 'textOutput'],
},
name: 'textInput',
strategy: 'lookup',
unit: 'millionTokens',
},
{
lookup: {
prices: {
'[0, 0.032]_[0, 0.0002]': 8,
'[0, 0.032]_[0.0002, infinity]': 14,
'[0.032, 0.2]': 16,
},
pricingParams: ['textInput', 'textOutput'],
},
name: 'textOutput',
strategy: 'lookup',
unit: 'millionTokens',
},
],
},
settings: {
extendParams: ['enableReasoning'],
searchImpl: 'params',
},
type: 'chat',
},
{
abilities: {
functionCall: true,
reasoning: true,
search: true,
},
contextWindowTokens: 200_000,
description:
'智谱最新旗舰模型 GLM-4.6 (355B) 在高级编码、长文本处理、推理与智能体能力上全面超越前代,尤其在编程能力上对齐 Claude Sonnet 4成为国内顶尖的 Coding 模型。',
displayName: 'GLM-4.6',
id: 'glm-4.6',
maxOutput: 131_072,
pricing: {

View file

@ -239,10 +239,13 @@ export type ExtendParamsType =
| 'reasoningEffort'
| 'gpt5ReasoningEffort'
| 'gpt5_1ReasoningEffort'
| 'gpt5_2ReasoningEffort'
| 'gpt5_2ProReasoningEffort'
| 'textVerbosity'
| 'thinking'
| 'thinkingBudget'
| 'thinkingLevel'
| 'thinkingLevel2'
| 'imageAspectRatio'
| 'imageResolution'
| 'urlContext';

View file

@ -7,12 +7,13 @@ export const LobeVolcengineAI = createOpenAICompatibleRuntime({
baseURL: 'https://ark.cn-beijing.volces.com/api/v3',
chatCompletion: {
handlePayload: (payload) => {
const { model, thinking, ...rest } = payload;
const { model, thinking, reasoning_effort, ...rest } = payload;
return {
...rest,
model,
...(thinking?.type && { thinking: { type: thinking.type } }),
...(reasoning_effort && { reasoning_effort }),
} as any;
},
},

View file

@ -382,33 +382,6 @@ describe('LobeZhipuAI - custom features', () => {
expect.anything(),
);
});
it('should not include thinking for non-4.5 models', async () => {
await instance.chat({
messages: [{ content: 'Hello', role: 'user' }],
model: 'glm-4',
temperature: 0.5,
thinking: { type: 'enabled', budget_tokens: 1000 },
});
const callArgs = (instance['client'].chat.completions.create as any).mock.calls[0][0];
expect(callArgs.thinking).toBeUndefined();
});
it('should handle undefined thinking gracefully for 4.5 models', async () => {
await instance.chat({
messages: [{ content: 'Hello', role: 'user' }],
model: 'glm-4.5',
temperature: 0.5,
});
expect(instance['client'].chat.completions.create).toHaveBeenCalledWith(
expect.objectContaining({
thinking: { type: undefined },
}),
expect.anything(),
);
});
});
describe('Stream parameter', () => {

View file

@ -61,7 +61,7 @@ export const params = {
...resolvedParams,
model,
stream: true,
thinking: model.includes('-4.5') ? { type: thinking?.type } : undefined,
thinking: thinking ? { type: thinking.type } : undefined,
tools: zhipuTools,
} as any;
},

View file

@ -38,9 +38,9 @@ export const MODEL_LIST_CONFIGS = {
excludeKeywords: ['tts'],
functionCallKeywords: ['gemini', '!-image-'],
imageOutputKeywords: ['-image-'],
reasoningKeywords: ['thinking', '-2.5-', '!-image-'],
reasoningKeywords: ['thinking', '-2.5-', '!-image-', '-3-'],
searchKeywords: ['-search', '!-image-'],
videoKeywords: ['-2.5-', '!-image-'],
videoKeywords: ['-2.5-', '!-image-', '-3-'],
visionKeywords: ['gemini', 'learnlm'],
},
inclusionai: {
@ -126,8 +126,8 @@ export const MODEL_LIST_CONFIGS = {
},
zhipu: {
functionCallKeywords: ['glm-4', 'glm-z1'],
reasoningKeywords: ['glm-zero', 'glm-z1', 'glm-4.5'],
visionKeywords: ['glm-4v', 'glm-4.1v', 'glm-4.5v'],
reasoningKeywords: ['glm-zero', 'glm-z1', 'glm-4.'],
visionKeywords: ['re:glm-4(\\.\\d)?v'],
},
} as const;
@ -183,36 +183,41 @@ export const EMBEDDING_MODEL_KEYWORDS = ['embedding', 'embed', 'bge', 'm3e'] as
* @param keywords
* - ^ ID开头匹配
* - !
* - re: 开头 !re: 正则排除
* -
* @returns
*/
const isKeywordListMatch = (modelId: string, keywords: readonly string[]): boolean => {
// 先检查排除规则(感叹号开头)
const matchKeyword = (keyword: string): boolean => {
const rawKeyword = keyword.startsWith('!') ? keyword.slice(1) : keyword;
if (rawKeyword.startsWith('re:')) {
try {
return new RegExp(rawKeyword.slice(3)).test(modelId);
} catch {
return false;
}
}
if (rawKeyword.startsWith('^')) {
return modelId.startsWith(rawKeyword.slice(1));
}
return modelId.includes(rawKeyword);
};
// 先检查排除规则(感叹号开头,包括 !re:
const excludeKeywords = keywords.filter((keyword) => keyword.startsWith('!'));
const includeKeywords = keywords.filter((keyword) => !keyword.startsWith('!'));
// 如果匹配任何排除规则,直接返回 false
for (const excludeKeyword of excludeKeywords) {
const keywordWithoutPrefix = excludeKeyword.slice(1);
const isMatch = keywordWithoutPrefix.startsWith('^')
? modelId.startsWith(keywordWithoutPrefix.slice(1))
: modelId.includes(keywordWithoutPrefix);
if (isMatch) {
if (matchKeyword(excludeKeyword)) {
return false;
}
}
// 检查包含规则
return includeKeywords.some((keyword) => {
if (keyword.startsWith('^')) {
// ^ 开头则只在开头匹配
const keywordWithoutPrefix = keyword.slice(1);
return modelId.startsWith(keywordWithoutPrefix);
}
// 默认行为:包含匹配
return modelId.includes(keyword);
});
return includeKeywords.some((keyword) => matchKeyword(keyword));
};
/**

View file

@ -31,12 +31,14 @@ export interface LobeAgentChatConfig {
reasoningEffort?: 'low' | 'medium' | 'high';
gpt5ReasoningEffort?: 'minimal' | 'low' | 'medium' | 'high';
gpt5_1ReasoningEffort?: 'none' | 'low' | 'medium' | 'high';
gpt5_2ReasoningEffort?: 'none' | 'low' | 'medium' | 'high' | 'xhigh';
gpt5_2ProReasoningEffort?: 'medium' | 'high' | 'xhigh';
/**
* Output text verbosity control
*/
textVerbosity?: 'low' | 'medium' | 'high';
thinking?: 'disabled' | 'auto' | 'enabled';
thinkingLevel?: 'low' | 'high';
thinkingLevel?: 'minimal' | 'low' | 'medium' | 'high';
thinkingBudget?: number;
/**
* Image aspect ratio for image generation models
@ -84,6 +86,8 @@ export const AgentChatConfigSchema = z.object({
enableStreaming: z.boolean().optional(),
gpt5ReasoningEffort: z.enum(['minimal', 'low', 'medium', 'high']).optional(),
gpt5_1ReasoningEffort: z.enum(['none', 'low', 'medium', 'high']).optional(),
gpt5_2ProReasoningEffort: z.enum(['medium', 'high', 'xhigh']).optional(),
gpt5_2ReasoningEffort: z.enum(['none', 'low', 'medium', 'high', 'xhigh']).optional(),
historyCount: z.number().optional(),
imageAspectRatio: z.string().optional(),
imageResolution: z.enum(['1K', '2K', '4K']).optional(),
@ -99,7 +103,7 @@ export const AgentChatConfigSchema = z.object({
textVerbosity: z.enum(['low', 'medium', 'high']).optional(),
thinking: z.enum(['disabled', 'auto', 'enabled']).optional(),
thinkingBudget: z.number().optional(),
thinkingLevel: z.enum(['low', 'high']).optional(),
thinkingLevel: z.enum(['minimal', 'low', 'medium', 'high']).optional(),
urlContext: z.boolean().optional(),
useModelBuiltinSearch: z.boolean().optional(),
});

View file

@ -15,12 +15,15 @@ import { useUpdateAgentConfig } from '../../hooks/useUpdateAgentConfig';
import ContextCachingSwitch from './ContextCachingSwitch';
import GPT5ReasoningEffortSlider from './GPT5ReasoningEffortSlider';
import GPT51ReasoningEffortSlider from './GPT51ReasoningEffortSlider';
import GPT52ProReasoningEffortSlider from './GPT52ProReasoningEffortSlider';
import GPT52ReasoningEffortSlider from './GPT52ReasoningEffortSlider';
import ImageAspectRatioSelect from './ImageAspectRatioSelect';
import ImageResolutionSlider from './ImageResolutionSlider';
import ReasoningEffortSlider from './ReasoningEffortSlider';
import ReasoningTokenSlider from './ReasoningTokenSlider';
import TextVerbositySlider from './TextVerbositySlider';
import ThinkingBudgetSlider from './ThinkingBudgetSlider';
import ThinkingLevel2Slider from './ThinkingLevel2Slider';
import ThinkingLevelSlider from './ThinkingLevelSlider';
import ThinkingSlider from './ThinkingSlider';
@ -140,6 +143,28 @@ const ControlsForm = memo(() => {
paddingBottom: 0,
},
},
{
children: <GPT52ReasoningEffortSlider />,
desc: 'reasoning_effort',
label: t('extendParams.reasoningEffort.title'),
layout: 'horizontal',
minWidth: undefined,
name: 'gpt5_2ReasoningEffort',
style: {
paddingBottom: 0,
},
},
{
children: <GPT52ProReasoningEffortSlider />,
desc: 'reasoning_effort',
label: t('extendParams.reasoningEffort.title'),
layout: 'horizontal',
minWidth: undefined,
name: 'gpt5_2ProReasoningEffort',
style: {
paddingBottom: 0,
},
},
{
children: <TextVerbositySlider />,
desc: 'text_verbosity',
@ -173,7 +198,7 @@ const ControlsForm = memo(() => {
layout: isNarrow ? 'vertical' : 'horizontal',
minWidth: undefined,
name: 'urlContext',
style: isNarrow ? undefined : { width: 445 },
style: isNarrow ? undefined : { minWidth: 360 },
tag: 'urlContext',
},
{
@ -193,8 +218,22 @@ const ControlsForm = memo(() => {
minWidth: undefined,
name: 'thinkingLevel',
style: {
minWidth: 400,
paddingBottom: 0,
},
tag: 'thinkingLevel',
},
{
children: <ThinkingLevel2Slider />,
label: t('extendParams.thinkingLevel.title'),
layout: 'horizontal',
minWidth: undefined,
name: 'thinkingLevel2',
style: {
minWidth: 400,
paddingBottom: 0,
},
tag: 'thinkingLevel',
},
{
children: <ImageAspectRatioSelect />,

View file

@ -0,0 +1,59 @@
import { Flexbox } from '@lobehub/ui';
import { Slider } from 'antd';
import { memo, useCallback } from 'react';
import { useAgentStore } from '@/store/agent';
import { chatConfigByIdSelectors } from '@/store/agent/selectors';
import { useAgentId } from '../../hooks/useAgentId';
import { useUpdateAgentConfig } from '../../hooks/useUpdateAgentConfig';
const GPT52ProReasoningEffortSlider = memo(() => {
const agentId = useAgentId();
const { updateAgentChatConfig } = useUpdateAgentConfig();
const config = useAgentStore((s) => chatConfigByIdSelectors.getChatConfigById(agentId)(s));
const gpt5_2ProReasoningEffort = config.gpt5_2ProReasoningEffort || 'medium';
const marks = {
0: 'medium',
1: 'high',
2: 'xhigh',
};
const effortValues = ['medium', 'high', 'xhigh'];
const indexValue = effortValues.indexOf(gpt5_2ProReasoningEffort);
const currentValue = indexValue === -1 ? 0 : indexValue;
const updateGPT52ProReasoningEffort = useCallback(
(value: number) => {
const effort = effortValues[value] as 'medium' | 'high' | 'xhigh';
updateAgentChatConfig({ gpt5_2ProReasoningEffort: effort });
},
[updateAgentChatConfig],
);
return (
<Flexbox
align={'center'}
gap={12}
horizontal
paddingInline={'0 20px'}
style={{ minWidth: 160, width: '100%' }}
>
<Flexbox flex={1}>
<Slider
marks={marks}
max={2}
min={0}
onChange={updateGPT52ProReasoningEffort}
step={1}
tooltip={{ open: false }}
value={currentValue}
/>
</Flexbox>
</Flexbox>
);
});
export default GPT52ProReasoningEffortSlider;

View file

@ -0,0 +1,61 @@
import { Flexbox } from '@lobehub/ui';
import { Slider } from 'antd';
import { memo, useCallback } from 'react';
import { useAgentStore } from '@/store/agent';
import { chatConfigByIdSelectors } from '@/store/agent/selectors';
import { useAgentId } from '../../hooks/useAgentId';
import { useUpdateAgentConfig } from '../../hooks/useUpdateAgentConfig';
const GPT52ReasoningEffortSlider = memo(() => {
const agentId = useAgentId();
const { updateAgentChatConfig } = useUpdateAgentConfig();
const config = useAgentStore((s) => chatConfigByIdSelectors.getChatConfigById(agentId)(s));
const gpt5_2ReasoningEffort = config.gpt5_2ReasoningEffort || 'none';
const marks = {
0: 'none',
1: 'low',
2: 'medium',
3: 'high',
4: 'xhigh',
};
const effortValues = ['none', 'low', 'medium', 'high', 'xhigh'];
const indexValue = effortValues.indexOf(gpt5_2ReasoningEffort);
const currentValue = indexValue === -1 ? 0 : indexValue;
const updateGPT52ReasoningEffort = useCallback(
(value: number) => {
const effort = effortValues[value] as 'none' | 'low' | 'medium' | 'high' | 'xhigh';
updateAgentChatConfig({ gpt5_2ReasoningEffort: effort });
},
[updateAgentChatConfig],
);
return (
<Flexbox
align={'center'}
gap={12}
horizontal
paddingInline={'0 20px'}
style={{ minWidth: 230, width: '100%' }}
>
<Flexbox flex={1}>
<Slider
marks={marks}
max={4}
min={0}
onChange={updateGPT52ReasoningEffort}
step={1}
tooltip={{ open: false }}
value={currentValue}
/>
</Flexbox>
</Flexbox>
);
});
export default GPT52ReasoningEffortSlider;

View file

@ -39,7 +39,7 @@ const TextVerbositySlider = memo(() => {
gap={12}
horizontal
paddingInline={'0 20px'}
style={{ minWidth: 200, width: '100%' }}
style={{ minWidth: 160, width: '100%' }}
>
<Flexbox flex={1}>
<Slider

View file

@ -0,0 +1,58 @@
import { Flexbox } from '@lobehub/ui';
import { Slider } from 'antd';
import { memo, useCallback } from 'react';
import { useAgentStore } from '@/store/agent';
import { chatConfigByIdSelectors } from '@/store/agent/selectors';
import { useAgentId } from '../../hooks/useAgentId';
import { useUpdateAgentConfig } from '../../hooks/useUpdateAgentConfig';
const ThinkingLevel2Slider = memo(() => {
const agentId = useAgentId();
const { updateAgentChatConfig } = useUpdateAgentConfig();
const config = useAgentStore((s) => chatConfigByIdSelectors.getChatConfigById(agentId)(s));
const thinkingLevel = config.thinkingLevel || 'high'; // Default to 'high' if not set
const marks = {
0: 'low',
1: 'high',
};
const levelValues = ['low', 'high'];
const indexValue = levelValues.indexOf(thinkingLevel as any);
const currentValue = indexValue === -1 ? 1 : indexValue;
const updateThinkingLevel = useCallback(
(value: number) => {
const level = levelValues[value] as 'low' | 'high';
updateAgentChatConfig({ thinkingLevel: level });
},
[updateAgentChatConfig],
);
return (
<Flexbox
align={'center'}
gap={12}
horizontal
paddingInline={'0 20px'}
style={{ minWidth: 110, width: '100%' }}
>
<Flexbox flex={1}>
<Slider
marks={marks}
max={1}
min={0}
onChange={updateThinkingLevel}
step={1}
tooltip={{ open: false }}
value={currentValue}
/>
</Flexbox>
</Flexbox>
);
});
export default ThinkingLevel2Slider;

View file

@ -16,17 +16,19 @@ const ThinkingLevelSlider = memo(() => {
const thinkingLevel = config.thinkingLevel || 'high'; // Default to 'high' if not set
const marks = {
0: 'low',
1: 'high',
0: 'minimal',
1: 'low',
2: 'medium',
3: 'high',
};
const levelValues = ['low', 'high'];
const indexValue = levelValues.indexOf(thinkingLevel);
const currentValue = indexValue === -1 ? 1 : indexValue;
const levelValues = ['minimal', 'low', 'medium', 'high'];
const indexValue = levelValues.indexOf(thinkingLevel as any);
const currentValue = indexValue === -1 ? 3 : indexValue;
const updateThinkingLevel = useCallback(
(value: number) => {
const level = levelValues[value] as 'low' | 'high';
const level = levelValues[value] as 'minimal' | 'low' | 'medium' | 'high';
updateAgentChatConfig({ thinkingLevel: level });
},
[updateAgentChatConfig],
@ -38,12 +40,12 @@ const ThinkingLevelSlider = memo(() => {
gap={12}
horizontal
paddingInline={'0 20px'}
style={{ minWidth: 130, width: '100%' }} // 三项时宽度需改回 200
style={{ minWidth: 200, width: '100%' }}
>
<Flexbox flex={1}>
<Slider
marks={marks}
max={1}
max={3}
min={0}
onChange={updateThinkingLevel}
step={1}

View file

@ -95,6 +95,17 @@ export const resolveModelExtendParams = (ctx: ModelParamsContext): ModelExtendPa
extendParams.reasoning_effort = chatConfig.gpt5_1ReasoningEffort;
}
if (modelExtendParams.includes('gpt5_2ReasoningEffort') && chatConfig.gpt5_2ReasoningEffort) {
extendParams.reasoning_effort = chatConfig.gpt5_2ReasoningEffort;
}
if (
modelExtendParams.includes('gpt5_2ProReasoningEffort') &&
chatConfig.gpt5_2ProReasoningEffort
) {
extendParams.reasoning_effort = chatConfig.gpt5_2ProReasoningEffort;
}
// Text verbosity
if (modelExtendParams.includes('textVerbosity') && chatConfig.textVerbosity) {
extendParams.verbosity = chatConfig.textVerbosity;