From 5369da911e3fba6ebdfaa7b5d523879b0e97f418 Mon Sep 17 00:00:00 2001
From: Sun Tao <2605127667@qq.com>
Date: Fri, 29 May 2026 11:41:31 +0800
Subject: [PATCH] add opus 4.8 model
---
src/i18n/locales/ar/setting.json | 1 +
src/i18n/locales/de/setting.json | 1 +
src/i18n/locales/en-us/setting.json | 1 +
src/i18n/locales/es/setting.json | 1 +
src/i18n/locales/fr/setting.json | 1 +
src/i18n/locales/it/setting.json | 1 +
src/i18n/locales/ja/setting.json | 1 +
src/i18n/locales/ko/setting.json | 1 +
src/i18n/locales/ru/setting.json | 1 +
src/i18n/locales/zh-Hans/setting.json | 1 +
src/i18n/locales/zh-Hant/setting.json | 1 +
src/pages/Agents/Models.tsx | 4 ++++
src/store/authStore.ts | 1 +
src/store/chatStore.ts | 1 +
test/unit/store/chatStore.test.ts | 3 +++
15 files changed, 20 insertions(+)
diff --git a/src/i18n/locales/ar/setting.json b/src/i18n/locales/ar/setting.json
index c433e3981..54be95f13 100644
--- a/src/i18n/locales/ar/setting.json
+++ b/src/i18n/locales/ar/setting.json
@@ -200,6 +200,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
diff --git a/src/i18n/locales/de/setting.json b/src/i18n/locales/de/setting.json
index 957ff6cc7..3c950cf63 100644
--- a/src/i18n/locales/de/setting.json
+++ b/src/i18n/locales/de/setting.json
@@ -260,6 +260,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "Netzwerk-Proxy",
diff --git a/src/i18n/locales/en-us/setting.json b/src/i18n/locales/en-us/setting.json
index 8464ac86f..cffd31220 100644
--- a/src/i18n/locales/en-us/setting.json
+++ b/src/i18n/locales/en-us/setting.json
@@ -228,6 +228,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
diff --git a/src/i18n/locales/es/setting.json b/src/i18n/locales/es/setting.json
index 240c90964..52cd3f0f6 100644
--- a/src/i18n/locales/es/setting.json
+++ b/src/i18n/locales/es/setting.json
@@ -260,6 +260,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "Proxy de red",
diff --git a/src/i18n/locales/fr/setting.json b/src/i18n/locales/fr/setting.json
index 8ab1b1c0d..5a1f65162 100644
--- a/src/i18n/locales/fr/setting.json
+++ b/src/i18n/locales/fr/setting.json
@@ -243,6 +243,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "Proxy réseau",
diff --git a/src/i18n/locales/it/setting.json b/src/i18n/locales/it/setting.json
index d5a225ef3..622b217d2 100644
--- a/src/i18n/locales/it/setting.json
+++ b/src/i18n/locales/it/setting.json
@@ -260,6 +260,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "Proxy di rete",
diff --git a/src/i18n/locales/ja/setting.json b/src/i18n/locales/ja/setting.json
index c5c3bf527..b73066517 100644
--- a/src/i18n/locales/ja/setting.json
+++ b/src/i18n/locales/ja/setting.json
@@ -261,6 +261,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "ネットワークプロキシ",
diff --git a/src/i18n/locales/ko/setting.json b/src/i18n/locales/ko/setting.json
index 386392234..a6be471c8 100644
--- a/src/i18n/locales/ko/setting.json
+++ b/src/i18n/locales/ko/setting.json
@@ -261,6 +261,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "네트워크 프록시",
diff --git a/src/i18n/locales/ru/setting.json b/src/i18n/locales/ru/setting.json
index e4844c3ac..b4490403d 100644
--- a/src/i18n/locales/ru/setting.json
+++ b/src/i18n/locales/ru/setting.json
@@ -260,6 +260,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
"network-proxy": "Сетевой прокси",
diff --git a/src/i18n/locales/zh-Hans/setting.json b/src/i18n/locales/zh-Hans/setting.json
index 7c5d87abb..63154323e 100644
--- a/src/i18n/locales/zh-Hans/setting.json
+++ b/src/i18n/locales/zh-Hans/setting.json
@@ -218,6 +218,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
diff --git a/src/i18n/locales/zh-Hant/setting.json b/src/i18n/locales/zh-Hant/setting.json
index a229d1b1e..e8a7ac24d 100644
--- a/src/i18n/locales/zh-Hant/setting.json
+++ b/src/i18n/locales/zh-Hant/setting.json
@@ -189,6 +189,7 @@
"claude-sonnet-4-6-name": "Claude Sonnet 4.6",
"claude-opus-4-6-name": "Claude Opus 4.6",
"claude-opus-4-7-name": "Claude Opus 4.7",
+ "claude-opus-4-8-name": "Claude Opus 4.8",
"deepseek-v4-pro-name": "DeepSeek V4 Pro",
"minimax-m2-7-name": "Minimax M2.7",
diff --git a/src/pages/Agents/Models.tsx b/src/pages/Agents/Models.tsx
index 40d67d805..ef161fe1b 100644
--- a/src/pages/Agents/Models.tsx
+++ b/src/pages/Agents/Models.tsx
@@ -589,6 +589,7 @@ export default function SettingModels() {
{ id: 'claude-sonnet-4-6', name: 'Claude Sonnet 4.6' },
{ id: 'claude-opus-4-6', name: 'Claude Opus 4.6' },
{ id: 'claude-opus-4-7', name: 'Claude Opus 4.7' },
+ { id: 'claude-opus-4-8', name: 'Claude Opus 4.8' },
{ id: 'deepseek-v4-pro', name: 'DeepSeek V4 Pro' },
{ id: 'minimax_m2_7', name: 'Minimax M2.7' },
];
@@ -1515,6 +1516,9 @@ export default function SettingModels() {
{t('setting.claude-opus-4-7-name')}
+
+ {t('setting.claude-opus-4-8-name')}
+
{t('setting.deepseek-v4-pro-name')}
diff --git a/src/store/authStore.ts b/src/store/authStore.ts
index 103f830d0..47e1ad9ea 100644
--- a/src/store/authStore.ts
+++ b/src/store/authStore.ts
@@ -29,6 +29,7 @@ export type CloudModelType =
| 'claude-sonnet-4-6'
| 'claude-opus-4-6'
| 'claude-opus-4-7'
+ | 'claude-opus-4-8'
| 'gpt-5.4'
| 'gpt-5.5'
| 'gpt-5-mini'
diff --git a/src/store/chatStore.ts b/src/store/chatStore.ts
index 8a49eca14..0c30f3dbb 100644
--- a/src/store/chatStore.ts
+++ b/src/store/chatStore.ts
@@ -224,6 +224,7 @@ const CLOUD_MODEL_PLATFORM_MAP: Record = {
'claude-sonnet-4-6': 'aws-bedrock-converse',
'claude-opus-4-6': 'aws-bedrock-converse',
'claude-opus-4-7': 'aws-bedrock-converse',
+ 'claude-opus-4-8': 'aws-bedrock-converse',
'gpt-5.4': 'azure',
'gpt-5.5': 'azure',
'gpt-5-mini': 'azure',
diff --git a/test/unit/store/chatStore.test.ts b/test/unit/store/chatStore.test.ts
index 59b23d81d..9771d569c 100644
--- a/test/unit/store/chatStore.test.ts
+++ b/test/unit/store/chatStore.test.ts
@@ -235,6 +235,9 @@ describe('ChatStore - Core Functionality', () => {
expect(getCloudModelPlatform('claude-opus-4-7')).toBe(
'aws-bedrock-converse'
);
+ expect(getCloudModelPlatform('claude-opus-4-8')).toBe(
+ 'aws-bedrock-converse'
+ );
expect(getCloudModelPlatform('deepseek-v4-pro')).toBe('deepseek');
expect(getCloudModelPlatform('minimax_m2_7')).toBe('minimax');
});