diff --git a/src/components/settings/SettingsPage.tsx b/src/components/settings/SettingsPage.tsx
index 5f5c725c2..ac9884f51 100644
--- a/src/components/settings/SettingsPage.tsx
+++ b/src/components/settings/SettingsPage.tsx
@@ -9,6 +9,7 @@ import {
Database,
Server,
ChevronDown,
+ Zap,
} from "lucide-react";
import * as AccordionPrimitive from "@radix-ui/react-accordion";
import { toast } from "sonner";
@@ -40,6 +41,7 @@ import { ModelTestConfigPanel } from "@/components/usage/ModelTestConfigPanel";
import { AutoFailoverConfigPanel } from "@/components/proxy/AutoFailoverConfigPanel";
import { FailoverQueueManager } from "@/components/proxy/FailoverQueueManager";
import { UsageDashboard } from "@/components/usage/UsageDashboard";
+import { RectifierConfigPanel } from "@/components/settings/RectifierConfigPanel";
import { useSettings } from "@/hooks/useSettings";
import { useImportExport } from "@/hooks/useImportExport";
import { useTranslation } from "react-i18next";
@@ -526,6 +528,28 @@ export function SettingsPage({
/>
+
+
+
+
+
+
+
+ {t("settings.advanced.rectifier.title")}
+
+
+ {t("settings.advanced.rectifier.description")}
+
+
+
+
+
+
+
+
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
index 8923534fb..ebf4d7b2b 100644
--- a/src/i18n/locales/en.json
+++ b/src/i18n/locales/en.json
@@ -186,6 +186,16 @@
"data": {
"title": "Data Management",
"description": "Import/export configurations and backup/restore"
+ },
+ "rectifier": {
+ "title": "Rectifier",
+ "description": "Automatically fix API request compatibility issues",
+ "enabled": "Enable Rectifier",
+ "enabledDescription": "Master switch, all rectification features will be disabled when turned off",
+ "requestGroup": "Request Rectification",
+ "responseGroup": "Response Rectification",
+ "thinkingSignature": "Thinking Signature Rectification",
+ "thinkingSignatureDescription": "Automatically fix Claude API errors caused by thinking signature validation failures"
}
},
"language": "Language",
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json
index badc04b91..b71ad78fe 100644
--- a/src/i18n/locales/ja.json
+++ b/src/i18n/locales/ja.json
@@ -186,6 +186,16 @@
"data": {
"title": "データ管理",
"description": "設定のインポート/エクスポートとバックアップ/復元"
+ },
+ "rectifier": {
+ "title": "整流器",
+ "description": "API リクエストの互換性問題を自動修正",
+ "enabled": "整流器を有効化",
+ "enabledDescription": "マスタースイッチ、オフにするとすべての整流機能が無効になります",
+ "requestGroup": "リクエスト整流",
+ "responseGroup": "レスポンス整流",
+ "thinkingSignature": "Thinking 署名整流",
+ "thinkingSignatureDescription": "Claude API の thinking 署名検証エラーを自動修正"
}
},
"language": "言語",
diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json
index d7011167c..9e6245077 100644
--- a/src/i18n/locales/zh.json
+++ b/src/i18n/locales/zh.json
@@ -186,6 +186,16 @@
"data": {
"title": "数据管理",
"description": "导入导出配置与备份恢复"
+ },
+ "rectifier": {
+ "title": "整流器",
+ "description": "自动修复 API 请求中的兼容性问题",
+ "enabled": "启用整流器",
+ "enabledDescription": "总开关,关闭后所有整流功能将被禁用",
+ "requestGroup": "请求整流",
+ "responseGroup": "响应整流",
+ "thinkingSignature": "Thinking 签名整流",
+ "thinkingSignatureDescription": "自动修复 Claude API 中因 thinking 签名校验失败导致的请求错误"
}
},
"language": "界面语言",
diff --git a/src/lib/api/settings.ts b/src/lib/api/settings.ts
index b6428a0f7..1f1e6e0af 100644
--- a/src/lib/api/settings.ts
+++ b/src/lib/api/settings.ts
@@ -134,4 +134,17 @@ export const settingsApi = {
> {
return await invoke("get_tool_versions");
},
+
+ async getRectifierConfig(): Promise {
+ return await invoke("get_rectifier_config");
+ },
+
+ async setRectifierConfig(config: RectifierConfig): Promise {
+ return await invoke("set_rectifier_config", { config });
+ },
};
+
+export interface RectifierConfig {
+ enabled: boolean;
+ requestThinkingSignature: boolean;
+}