From 2f343bcc566996646776cb57b8d7adf496198e76 Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Mon, 8 Jun 2026 22:23:56 +0800 Subject: [PATCH] feat(llms): add Claude Opus 4.8 support Strip temperature for claude-opus-4-8, add tests, list model on website. --- packages/llms/src/utils.test.ts | 12 ++++++++++++ packages/llms/src/utils.ts | 9 +++++++-- .../website/src/pages/docs/features/models/page.tsx | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/llms/src/utils.test.ts b/packages/llms/src/utils.test.ts index 824605a..986f426 100644 --- a/packages/llms/src/utils.test.ts +++ b/packages/llms/src/utils.test.ts @@ -67,6 +67,18 @@ describe('modelPatch', () => { expect(body).not.toHaveProperty('temperature') }) + it('claude-opus-4-8: drops temperature', () => { + const body = baseBody('claude-opus-4-8') + modelPatch(body) + expect(body).not.toHaveProperty('temperature') + }) + + it('claude-opus-48 (alt id form): drops temperature', () => { + const body = baseBody('claude-opus-48-20251210') + modelPatch(body) + expect(body).not.toHaveProperty('temperature') + }) + it('grok: removes tool_choice and disables reasoning/thinking', () => { const body = baseBody('grok-4') modelPatch(body) diff --git a/packages/llms/src/utils.ts b/packages/llms/src/utils.ts index fd8fb04..d3839d3 100644 --- a/packages/llms/src/utils.ts +++ b/packages/llms/src/utils.ts @@ -56,8 +56,13 @@ export function modelPatch(body: Record) { // TODO: Claude naming pattern has changed // needs proper handling - if (modelName.startsWith('claude-opus-4-7') || modelName.startsWith('claude-opus-47')) { - debug('Applying Claude-4.7 patch: remove temperature') + if ( + modelName.startsWith('claude-opus-4-7') || + modelName.startsWith('claude-opus-47') || + modelName.startsWith('claude-opus-4-8') || + modelName.startsWith('claude-opus-48') + ) { + debug('Applying Claude-4.7/4.8 patch: remove temperature') delete body.temperature } } diff --git a/packages/website/src/pages/docs/features/models/page.tsx b/packages/website/src/pages/docs/features/models/page.tsx index b16ef9c..7a0bf0c 100644 --- a/packages/website/src/pages/docs/features/models/page.tsx +++ b/packages/website/src/pages/docs/features/models/page.tsx @@ -42,6 +42,7 @@ const MODEL_GROUPS: Record = { DeepSeek: ['deepseek-v4-pro', 'deepseek-v4-flash', 'deepseek-3.2'], Google: ['gemini-3.1-flash-lite', 'gemini-3-pro', 'gemini-3-flash', 'gemini-2.5'], Anthropic: [ + 'claude-opus-4.8', 'claude-opus-4.7', 'claude-opus-4.6', 'claude-opus-4.5',