diff --git a/packages/website/src/pages/docs/features/models/page.tsx b/packages/website/src/pages/docs/features/models/page.tsx index 4b3c92a..d363237 100644 --- a/packages/website/src/pages/docs/features/models/page.tsx +++ b/packages/website/src/pages/docs/features/models/page.tsx @@ -1,34 +1,39 @@ import CodeEditor from '@/components/CodeEditor' import { useLanguage } from '@/i18n/context' -// Recommended models: lightweight with excellent tool call capabilities -const MODELS = { - recommended: [ - 'gpt-4.1-mini', - 'claude-haiku-4.5', - 'gemini-3-flash', - 'deepseek-3.2', - 'gpt-5.2', - 'qwen-3-max', - ], - verified: [ - 'qwen-3-plus', - 'gpt-4.1', - 'gpt-5', - 'gpt-5-mini', - 'grok-4', - 'grok-code-fast', - 'claude-sonnet-3.5', - 'claude-sonnet-4.5', - 'claude-opus-4.5', - 'gemini-2.5', - 'gemini-3-pro', - ], +const BASELINE = new Set([ + 'gpt-5.1', + 'claude-haiku-4.5', + 'gemini-3-flash', + 'deepseek-3.2', + 'qwen-3-max', +]) + +// Models grouped by brand, newest first +const MODEL_GROUPS: Record = { + OpenAI: ['gpt-5.2', 'gpt-5.1', 'gpt-5', 'gpt-5-mini', 'gpt-4.1', 'gpt-4.1-mini'], + Anthropic: ['claude-opus-4.5', 'claude-sonnet-4.5', 'claude-haiku-4.5', 'claude-sonnet-3.5'], + Google: ['gemini-3-pro', 'gemini-3-flash', 'gemini-2.5'], + Qwen: ['qwen-3-max', 'qwen-3-plus', 'qwen3:14b (ollama)'], + DeepSeek: ['deepseek-3.2'], + xAI: ['grok-4', 'grok-code-fast'], } +const ModelBadge = ({ model, baseline }: { model: string; baseline?: boolean }) => ( +
+ {model} + {baseline && } +
+) + export default function Models() { const { isZh } = useLanguage() - const allModels = [...MODELS.recommended, ...MODELS.verified] return (
@@ -45,26 +50,20 @@ export default function Models() {

{isZh ? '推荐使用 ToolCall 能力强的轻量级模型。' - : 'Recommended: Lightweight models with strong ToolCall capabilities.'} + : 'Recommended: Fast, lightweight models with strong ToolCall capabilities.'}

-
- {allModels.map((model) => { - const isRecommended = MODELS.recommended.includes(model) - return ( -
- {model} - {isRecommended && } -
- ) - })} +
+ {Object.entries(MODEL_GROUPS).map(([brand, models]) => ( +
+ + {brand} + + {models.map((model) => ( + + ))} +
+ ))}

⭐ baseline models