From 923a17ca8a3f08878d583ab4203190d2bee12c93 Mon Sep 17 00:00:00 2001 From: CaIon Date: Fri, 17 Jul 2026 21:53:58 +0800 Subject: [PATCH] fix: update high-risk status code retry confirmation texts --- .../dialogs/status-code-risk-dialog.tsx | 28 +++++++++++++++++-- web/default/src/i18n/locales/en.json | 16 +++++------ web/default/src/i18n/locales/fr.json | 16 +++++------ web/default/src/i18n/locales/ja.json | 16 +++++------ web/default/src/i18n/locales/ru.json | 16 +++++------ web/default/src/i18n/locales/vi.json | 16 +++++------ web/default/src/i18n/locales/zh-TW.json | 16 +++++------ web/default/src/i18n/locales/zh.json | 16 +++++------ 8 files changed, 81 insertions(+), 59 deletions(-) diff --git a/web/default/src/features/channels/components/dialogs/status-code-risk-dialog.tsx b/web/default/src/features/channels/components/dialogs/status-code-risk-dialog.tsx index 07145db3..9eeeee54 100644 --- a/web/default/src/features/channels/components/dialogs/status-code-risk-dialog.tsx +++ b/web/default/src/features/channels/components/dialogs/status-code-risk-dialog.tsx @@ -17,7 +17,7 @@ along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import { AlertTriangle } from 'lucide-react' -import { useState } from 'react' +import { lazy, Suspense, useState } from 'react' import { useTranslation } from 'react-i18next' import { Dialog } from '@/components/dialog' @@ -26,6 +26,12 @@ import { Checkbox } from '@/components/ui/checkbox' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' +const Markdown = lazy(() => + import('@/components/ui/markdown').then((module) => ({ + default: module.Markdown, + })) +) + interface StatusCodeRiskDialogProps { open: boolean onOpenChange: (open: boolean) => void @@ -87,8 +93,7 @@ export function StatusCodeRiskDialog({ {t('High-risk operation confirmation')} } - description={t('High-risk status code retry risk disclaimer')} - contentClassName='max-w-lg' + contentClassName='sm:max-w-3xl' titleClassName='text-destructive flex items-center gap-2' contentHeight='auto' bodyClassName='space-y-4' @@ -108,6 +113,23 @@ export function StatusCodeRiskDialog({ } >
+ {open ? ( +
+ +
+ ) : null} + {detailItems.length > 0 && (

diff --git a/web/default/src/i18n/locales/en.json b/web/default/src/i18n/locales/en.json index 9eba821e..64c27da5 100644 --- a/web/default/src/i18n/locales/en.json +++ b/web/default/src/i18n/locales/en.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "Hide setup guide", "High Performance": "High Performance", "High-risk operation confirmation": "High-risk Operation Confirmation", - "High-risk status code retry confirmation text": "I CONFIRM", - "High-risk status code retry input mismatch": "The entered text does not match, please try again.", - "High-risk status code retry input placeholder": "Please type the confirmation text above", - "High-risk status code retry risk check 1": "I understand that retrying on these status codes may cause the upstream provider to charge normally, and the charges cannot be recovered.", - "High-risk status code retry risk check 2": "I understand that these status codes typically indicate that the request has been processed successfully by the upstream provider, and retrying may result in duplicate billing.", - "High-risk status code retry risk check 3": "I acknowledge that these configurations may cause significant financial losses and accept all related risks.", - "High-risk status code retry risk check 4": "I have carefully reviewed the above status code redirect rules and confirm they are correct.", - "High-risk status code retry risk disclaimer": "The following status code redirect rules contain high-risk configurations. Retrying on these status codes may cause normal upstream charges that cannot be recovered. Please carefully verify these configurations.", + "High-risk status code retry confirmation text": "I understand the multiple billing and crash risks, and confirm enabling it", + "High-risk status code retry input mismatch": "The input does not match the required text.", + "High-risk status code retry input placeholder": "Please type the exact text above", + "High-risk status code retry risk check 1": "I have fully read and understood all of the warnings above, including the destructive consequences of forcing retries for status codes 504 and 524.", + "High-risk status code retry risk check 2": "I have communicated with the upstream provider and confirmed that the current timeout is caused by an upstream service bottleneck that cannot be resolved upstream at this time, so forced retry is only a compromise.", + "High-risk status code retry risk check 3": "I voluntarily accept all duplicate or multiple billing risks and will not file issues or complaints in this project repository about billing anomalies caused by these retries.", + "High-risk status code retry risk check 4": "I voluntarily accept the system stability risks, including severe client timeouts and possible service crashes, and take responsibility for any resulting request backlog or service outage.", + "High-risk status code retry risk disclaimer": "### ⚠️ High-risk operation: 504/524 status code retry risk notice and disclaimer\n\nBy default, this project does not retry status codes `400` (bad request), `504` (gateway timeout), or `524` (a timeout occurred). Status codes 504 and 524 usually mean that **the request successfully reached the upstream AI service and upstream processing had begun, but the connection was closed because upstream processing took too long**. This usually points to an upstream service bottleneck.\n\nEnabling redirection/retry for these timeout status codes is an **extremely high-risk operation**. Before enabling it, you must carefully read and understand the following consequences:\n\n#### 1. Core risks (read carefully)\n\n1. 💸 Duplicate or multiple billing: Most upstream AI providers **still charge** for requests that started processing but were interrupted by a network timeout (504/524). A retry sends a brand-new upstream request and can result in **duplicate or multiple charges**.\n2. ⏳ Severe client timeout: Once a request has already timed out, adding retries can multiply total latency and cause severe or unacceptable timeouts for the final client or caller.\n3. 💥 Request backlog and service crash: Forced retries keep threads and connections occupied for longer. Under high concurrency, this can cause a serious **request backlog**, exhaust system resources, trigger cascading failures, and crash the proxy service.\n\n#### 2. Risk acknowledgement\n\nIf you still choose to enable this feature, you acknowledge all of the following:", "Higher priority channels are selected first": "Higher priority channels are selected first", "Historical Usage": "Historical Usage", "History of MjProxy-style image tasks.": "History of MjProxy-style image tasks.", diff --git a/web/default/src/i18n/locales/fr.json b/web/default/src/i18n/locales/fr.json index f4014a48..05111df7 100644 --- a/web/default/src/i18n/locales/fr.json +++ b/web/default/src/i18n/locales/fr.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "Masquer le guide de configuration", "High Performance": "Hautes performances", "High-risk operation confirmation": "Confirmation d'opération à haut risque", - "High-risk status code retry confirmation text": "JE CONFIRME", - "High-risk status code retry input mismatch": "Le texte saisi ne correspond pas, veuillez réessayer.", - "High-risk status code retry input placeholder": "Veuillez saisir le texte de confirmation ci-dessus", - "High-risk status code retry risk check 1": "Je comprends que la relance sur ces codes d'état peut entraîner des frais normaux facturés par le fournisseur en amont, et que ces frais ne peuvent pas être récupérés.", - "High-risk status code retry risk check 2": "Je comprends que ces codes d'état indiquent généralement que la requête a été traitée avec succès par le fournisseur, et que la relance peut entraîner une double facturation.", - "High-risk status code retry risk check 3": "Je reconnais que ces configurations peuvent entraîner des pertes financières importantes et j'accepte tous les risques associés.", - "High-risk status code retry risk check 4": "J'ai soigneusement vérifié les règles de redirection de codes d'état ci-dessus et confirme qu'elles sont correctes.", - "High-risk status code retry risk disclaimer": "Les règles de redirection suivantes contiennent des configurations à haut risque. La relance sur ces codes d'état peut entraîner des frais normaux en amont non récupérables. Veuillez vérifier soigneusement.", + "High-risk status code retry confirmation text": "J'ai compris les risques de facturation multiple et de panne, et je confirme l'activation", + "High-risk status code retry input mismatch": "Le texte saisi ne correspond pas au texte requis.", + "High-risk status code retry input placeholder": "Saisissez exactement le texte ci-dessus", + "High-risk status code retry risk check 1": "J'ai lu et compris tous les avertissements ci-dessus, y compris les conséquences destructrices d'une relance forcée pour les codes 504 et 524.", + "High-risk status code retry risk check 2": "J'ai contacté le fournisseur en amont et confirmé que le délai d'attente actuel provient d'un goulot d'étranglement de son service qu'il ne peut pas résoudre pour le moment ; la relance forcée n'est donc qu'un compromis.", + "High-risk status code retry risk check 3": "J'accepte volontairement tous les risques de facturation double ou multiple et je ne déposerai aucune issue ni réclamation dans le dépôt de ce projet au sujet d'anomalies de facturation causées par ces relances.", + "High-risk status code retry risk check 4": "J'accepte volontairement les risques pour la stabilité du système, notamment les délais d'attente sévères côté client et les pannes possibles du service, et j'assume toute accumulation de requêtes ou indisponibilité qui en résulterait.", + "High-risk status code retry risk disclaimer": "### ⚠️ Opération à haut risque : avertissement et clause de non-responsabilité pour la relance des codes 504/524\n\nPar défaut, ce projet ne relance pas les codes `400` (requête incorrecte), `504` (délai d'attente de la passerelle) et `524` (délai d'attente dépassé). Les codes 504 et 524 signifient généralement que **la requête est bien parvenue au service IA en amont et que le traitement avait commencé, mais que la connexion s'est fermée parce que le traitement en amont a pris trop de temps**. Cela indique généralement un goulot d'étranglement du service en amont.\n\nActiver la redirection ou la relance pour ces codes de délai d'attente est une **opération à risque extrêmement élevé**. Avant de l'activer, vous devez lire attentivement et comprendre les conséquences suivantes :\n\n#### 1. Risques principaux (à lire attentivement)\n\n1. 💸 Facturation double ou multiple : la plupart des fournisseurs d'IA en amont **facturent quand même** les requêtes dont le traitement a commencé mais qui ont été interrompues par un délai réseau (504/524). Une relance envoie une toute nouvelle requête en amont et peut entraîner une **facturation double ou multiple**.\n2. ⏳ Délai d'attente sévère côté client : lorsqu'une requête a déjà expiré, les relances peuvent multiplier la latence totale et provoquer des délais sévères ou inacceptables pour le client final.\n3. 💥 Accumulation de requêtes et panne du service : les relances forcées occupent plus longtemps les threads et les connexions. En cas de forte concurrence, cela peut provoquer une importante **accumulation de requêtes**, épuiser les ressources, déclencher des défaillances en cascade et faire tomber le proxy.\n\n#### 2. Acceptation des risques\n\nSi vous choisissez malgré tout d'activer cette fonction, vous reconnaissez les éléments suivants :", "Higher priority channels are selected first": "Les canaux de priorité plus élevée sont sélectionnés en premier", "Historical Usage": "Utilisation historique", "History of MjProxy-style image tasks.": "Historique des tâches d'images style MjProxy.", diff --git a/web/default/src/i18n/locales/ja.json b/web/default/src/i18n/locales/ja.json index 527f49b9..ee7b400f 100644 --- a/web/default/src/i18n/locales/ja.json +++ b/web/default/src/i18n/locales/ja.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "セットアップガイドを非表示", "High Performance": "高パフォーマンス", "High-risk operation confirmation": "高リスク操作の確認", - "High-risk status code retry confirmation text": "確認します", - "High-risk status code retry input mismatch": "入力テキストが一致しません。もう一度お試しください。", - "High-risk status code retry input placeholder": "上記の確認テキストを入力してください", - "High-risk status code retry risk check 1": "これらのステータスコードでリトライすると、上流プロバイダーに正常に課金される可能性があり、その費用は回収できないことを理解しています。", - "High-risk status code retry risk check 2": "これらのステータスコードは通常、リクエストが上流プロバイダーによって正常に処理されたことを示しており、リトライすると二重課金が発生する可能性があることを理解しています。", - "High-risk status code retry risk check 3": "これらの設定が重大な経済的損失を引き起こす可能性があることを認め、すべての関連リスクを受け入れます。", - "High-risk status code retry risk check 4": "上記のステータスコードリダイレクトルールを注意深く確認し、正しいことを確認しました。", - "High-risk status code retry risk disclaimer": "以下のステータスコードリダイレクトルールには高リスクの設定が含まれています。これらのステータスコードでリトライすると、上流の正常な課金が発生し、回収できない可能性があります。", + "High-risk status code retry confirmation text": "多重課金とクラッシュのリスクを理解し、有効化を確認します", + "High-risk status code retry input mismatch": "入力内容が指定されたテキストと一致しません。", + "High-risk status code retry input placeholder": "上のテキストを正確に入力してください", + "High-risk status code retry risk check 1": "上記の警告をすべて読み、504 および 524 ステータスコードを強制的にリトライすることで生じ得る破壊的な影響を十分に理解しました。", + "High-risk status code retry risk check 2": "上流プロバイダーと連絡を取り、現在のタイムアウトは上流サービスのボトルネックによるもので、現時点では上流側で解決できないことを確認したため、妥協策として強制リトライを選択します。", + "High-risk status code retry risk check 3": "二重または多重課金のリスクをすべて自発的に受け入れ、このリトライによる請求異常について本プロジェクトのリポジトリに Issue や苦情を提出しません。", + "High-risk status code retry risk check 4": "深刻なクライアントタイムアウトやサービス停止を含むシステム安定性のリスクを自発的に受け入れ、その結果生じるリクエスト滞留やサービス停止の責任を負います。", + "High-risk status code retry risk disclaimer": "### ⚠️ 高リスク操作:504/524 ステータスコードのリトライに関するリスク通知と免責事項\n\n本プロジェクトは既定で、`400`(不正なリクエスト)、`504`(ゲートウェイタイムアウト)、`524`(タイムアウト発生)をリトライしません。504 と 524 は通常、**リクエストが上流 AI サービスに正常に到達して上流側で処理が始まっているものの、上流処理に時間がかかりすぎて接続が切断された**ことを意味します。多くの場合、これは上流サービス側のボトルネックです。\n\nこれらのタイムアウトコードでリダイレクトまたはリトライを有効にすることは、**極めて高リスクな操作**です。有効にする前に、次の重大な影響を必ず読み、理解してください。\n\n#### 1. 主なリスク(必ずお読みください)\n\n1. 💸 二重・多重課金:多くの上流 AI プロバイダーは、処理開始後にネットワークタイムアウト(504/524)で中断されたリクエストにも**通常どおり課金します**。リトライでは新しい上流リクエストが送信されるため、**二重または多重課金**になる可能性があります。\n2. ⏳ 深刻なクライアントタイムアウト:すでにタイムアウトしたリクエストにリトライを重ねると、総待ち時間が何倍にもなり、最終クライアントで深刻または許容できないタイムアウトが発生する可能性があります。\n3. 💥 リクエスト滞留とサービス停止:強制リトライはスレッドと接続を長時間占有します。高負荷時には深刻な**リクエスト滞留**、リソース枯渇、連鎖障害を招き、プロキシサービスが停止する可能性があります。\n\n#### 2. リスクの確認\n\nそれでもこの機能を有効にする場合は、以下のすべてを確認したものとみなされます。", "Higher priority channels are selected first": "優先度の高いチャネルが先に選択されます", "Historical Usage": "履歴使用状況", "History of MjProxy-style image tasks.": "MjProxyスタイルの画像タスクの履歴。", diff --git a/web/default/src/i18n/locales/ru.json b/web/default/src/i18n/locales/ru.json index 0c424ad5..4c45c6ae 100644 --- a/web/default/src/i18n/locales/ru.json +++ b/web/default/src/i18n/locales/ru.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "Скрыть руководство по настройке", "High Performance": "Высокая производительность", "High-risk operation confirmation": "Подтверждение высокорисковой операции", - "High-risk status code retry confirmation text": "Я ПОДТВЕРЖДАЮ", - "High-risk status code retry input mismatch": "Введённый текст не совпадает, попробуйте ещё раз.", - "High-risk status code retry input placeholder": "Пожалуйста, введите текст подтверждения выше", - "High-risk status code retry risk check 1": "Я понимаю, что повторные попытки при этих кодах состояния могут привести к обычным начислениям от провайдера, и эти расходы не могут быть возмещены.", - "High-risk status code retry risk check 2": "Я понимаю, что эти коды состояния обычно означают, что запрос уже был успешно обработан, и повторная попытка может привести к двойной оплате.", - "High-risk status code retry risk check 3": "Я признаю, что эти конфигурации могут привести к значительным финансовым потерям, и принимаю все связанные риски.", - "High-risk status code retry risk check 4": "Я тщательно проверил правила перенаправления кодов состояния выше и подтверждаю их правильность.", - "High-risk status code retry risk disclaimer": "Следующие правила перенаправления кодов состояния содержат высокорисковые конфигурации. Повторные попытки при этих кодах могут привести к нормальным начислениям от провайдера, которые невозможно вернуть.", + "High-risk status code retry confirmation text": "Я понимаю риски многократного списания и сбоя и подтверждаю включение", + "High-risk status code retry input mismatch": "Введённый текст не совпадает с требуемым.", + "High-risk status code retry input placeholder": "Введите в точности текст выше", + "High-risk status code retry risk check 1": "Я полностью прочитал и понял все предупреждения выше, включая разрушительные последствия принудительных повторов для кодов 504 и 524.", + "High-risk status code retry risk check 2": "Я связался с вышестоящим провайдером и подтвердил, что текущий тайм-аут вызван узким местом вышестоящего сервиса, которое сейчас нельзя устранить на его стороне, поэтому принудительный повтор используется только как компромисс.", + "High-risk status code retry risk check 3": "Я добровольно принимаю все риски двойного или многократного списания и не буду создавать issue или жалобы в репозитории этого проекта из-за аномалий оплаты, вызванных такими повторами.", + "High-risk status code retry risk check 4": "Я добровольно принимаю риски для стабильности системы, включая серьёзные тайм-ауты клиента и возможный сбой сервиса, и несу ответственность за возникшую очередь запросов или недоступность сервиса.", + "High-risk status code retry risk disclaimer": "### ⚠️ Операция высокого риска: предупреждение и отказ от ответственности при повторах для кодов 504/524\n\nПо умолчанию проект не повторяет запросы при кодах `400` (неверный запрос), `504` (тайм-аут шлюза) и `524` (истекло время ожидания). Коды 504 и 524 обычно означают, что **запрос успешно дошёл до вышестоящего ИИ-сервиса и обработка на его стороне уже началась, но соединение закрылось из-за слишком долгой обработки вышестоящим сервисом**. Обычно это указывает на узкое место именно вышестоящего сервиса.\n\nВключение перенаправления или повторов для таких кодов тайм-аута — **операция чрезвычайно высокого риска**. Перед включением внимательно прочитайте и поймите следующие последствия:\n\n#### 1. Основные риски (прочитайте внимательно)\n\n1. 💸 Двойное или многократное списание: большинство вышестоящих ИИ-провайдеров **всё равно взимают плату** за запросы, обработка которых началась, но была прервана сетевым тайм-аутом (504/524). Повтор отправляет новый запрос вышестоящему сервису и может привести к **двойному или многократному списанию**.\n2. ⏳ Серьёзный тайм-аут клиента: если запрос уже завершился по тайм-ауту, повторы могут многократно увеличить общую задержку и вызвать неприемлемое ожидание у конечного клиента.\n3. 💥 Очередь запросов и сбой сервиса: принудительные повторы дольше занимают потоки и соединения. При высокой нагрузке это может создать серьёзную **очередь запросов**, исчерпать ресурсы, вызвать каскадный отказ и остановить прокси-сервис.\n\n#### 2. Принятие рисков\n\nЕсли вы всё же включаете эту функцию, вы подтверждаете следующее:", "Higher priority channels are selected first": "Каналы с более высоким приоритетом выбираются первыми", "Historical Usage": "История использования", "History of MjProxy-style image tasks.": "История задач генерации изображений в стиле MjProxy.", diff --git a/web/default/src/i18n/locales/vi.json b/web/default/src/i18n/locales/vi.json index 17fc695a..bdb0589a 100644 --- a/web/default/src/i18n/locales/vi.json +++ b/web/default/src/i18n/locales/vi.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "Ẩn hướng dẫn thiết lập", "High Performance": "Hiệu suất cao", "High-risk operation confirmation": "Xác nhận thao tác rủi ro cao", - "High-risk status code retry confirmation text": "TÔI XÁC NHẬN", - "High-risk status code retry input mismatch": "Văn bản nhập không khớp, vui lòng thử lại.", - "High-risk status code retry input placeholder": "Vui lòng nhập văn bản xác nhận ở trên", - "High-risk status code retry risk check 1": "Tôi hiểu rằng việc thử lại với các mã trạng thái này có thể khiến nhà cung cấp tính phí bình thường, và các khoản phí này không thể thu hồi.", - "High-risk status code retry risk check 2": "Tôi hiểu rằng các mã trạng thái này thường cho biết yêu cầu đã được xử lý thành công, và việc thử lại có thể dẫn đến tính phí trùng lặp.", - "High-risk status code retry risk check 3": "Tôi thừa nhận rằng các cấu hình này có thể gây tổn thất tài chính đáng kể và chấp nhận tất cả rủi ro liên quan.", - "High-risk status code retry risk check 4": "Tôi đã kiểm tra kỹ các quy tắc chuyển hướng mã trạng thái ở trên và xác nhận chúng chính xác.", - "High-risk status code retry risk disclaimer": "Các quy tắc chuyển hướng mã trạng thái sau chứa cấu hình rủi ro cao. Thử lại trên các mã này có thể phát sinh phí không thể thu hồi. Vui lòng xác minh cẩn thận.", + "High-risk status code retry confirmation text": "Tôi hiểu rủi ro tính phí nhiều lần và sự cố hệ thống, đồng thời xác nhận bật tính năng", + "High-risk status code retry input mismatch": "Nội dung nhập không khớp với văn bản bắt buộc.", + "High-risk status code retry input placeholder": "Nhập chính xác văn bản ở trên", + "High-risk status code retry risk check 1": "Tôi đã đọc và hiểu đầy đủ mọi cảnh báo ở trên, bao gồm hậu quả nghiêm trọng khi buộc thử lại với mã trạng thái 504 và 524.", + "High-risk status code retry risk check 2": "Tôi đã trao đổi với nhà cung cấp thượng nguồn và xác nhận lỗi hết thời gian chờ hiện tại do nút thắt của dịch vụ thượng nguồn mà phía thượng nguồn chưa thể khắc phục, vì vậy buộc thử lại chỉ là giải pháp thỏa hiệp.", + "High-risk status code retry risk check 3": "Tôi tự nguyện chấp nhận mọi rủi ro bị tính phí hai lần hoặc nhiều lần và sẽ không tạo issue hay khiếu nại trong kho mã nguồn của dự án về bất thường thanh toán do các lần thử lại này.", + "High-risk status code retry risk check 4": "Tôi tự nguyện chấp nhận rủi ro về độ ổn định hệ thống, gồm hết thời gian chờ nghiêm trọng ở phía máy khách và khả năng dịch vụ gặp sự cố, đồng thời chịu trách nhiệm về tình trạng tồn đọng yêu cầu hoặc gián đoạn dịch vụ phát sinh.", + "High-risk status code retry risk disclaimer": "### ⚠️ Thao tác rủi ro cao: cảnh báo và tuyên bố miễn trừ trách nhiệm khi thử lại mã 504/524\n\nTheo mặc định, dự án không thử lại với mã `400` (yêu cầu không hợp lệ), `504` (gateway hết thời gian chờ) hoặc `524` (đã hết thời gian chờ). Mã 504 và 524 thường có nghĩa là **yêu cầu đã đến dịch vụ AI thượng nguồn thành công và phía thượng nguồn đã bắt đầu xử lý, nhưng kết nối bị đóng vì quá trình xử lý ở thượng nguồn mất quá nhiều thời gian**. Điều này thường cho thấy nút thắt nằm ở dịch vụ thượng nguồn.\n\nBật chuyển hướng hoặc thử lại cho các mã hết thời gian chờ này là một **thao tác có rủi ro cực kỳ cao**. Trước khi bật, bạn phải đọc kỹ và hiểu các hậu quả sau:\n\n#### 1. Rủi ro chính (hãy đọc kỹ)\n\n1. 💸 Tính phí hai lần hoặc nhiều lần: phần lớn nhà cung cấp AI thượng nguồn **vẫn tính phí** cho yêu cầu đã bắt đầu xử lý nhưng bị ngắt do hết thời gian chờ mạng (504/524). Mỗi lần thử lại gửi một yêu cầu hoàn toàn mới đến thượng nguồn và có thể gây **tính phí hai lần hoặc nhiều lần**.\n2. ⏳ Hết thời gian chờ nghiêm trọng ở phía máy khách: khi một yêu cầu đã hết thời gian chờ, việc thử lại có thể làm tổng độ trễ tăng nhiều lần và gây thời gian chờ nghiêm trọng hoặc không thể chấp nhận cho máy khách cuối.\n3. 💥 Tồn đọng yêu cầu và sự cố dịch vụ: buộc thử lại giữ luồng và kết nối lâu hơn. Khi tải cao, điều này có thể gây **tồn đọng yêu cầu** nghiêm trọng, cạn kiệt tài nguyên, phát sinh lỗi dây chuyền và làm dịch vụ proxy ngừng hoạt động.\n\n#### 2. Xác nhận rủi ro\n\nNếu vẫn chọn bật tính năng này, bạn xác nhận tất cả nội dung sau:", "Higher priority channels are selected first": "Các kênh ưu tiên cao hơn được chọn trước tiên", "Historical Usage": "Lịch sử sử dụng", "History of MjProxy-style image tasks.": "Lịch sử các tác vụ hình ảnh kiểu MjProxy.", diff --git a/web/default/src/i18n/locales/zh-TW.json b/web/default/src/i18n/locales/zh-TW.json index 279e4e6e..fdb2d16b 100644 --- a/web/default/src/i18n/locales/zh-TW.json +++ b/web/default/src/i18n/locales/zh-TW.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "隱藏設定引導", "High Performance": "高效能", "High-risk operation confirmation": "高危操作確認", - "High-risk status code retry confirmation text": "我確認", - "High-risk status code retry input mismatch": "輸入的文字不匹配,請重試。", - "High-risk status code retry input placeholder": "請輸入上方確認文字", - "High-risk status code retry risk check 1": "我了解在這些狀態碼上重試可能導致上游供應商正常扣費,且該費用無法追回。", - "High-risk status code retry risk check 2": "我了解這些狀態碼通常表示請求已被上游供應商成功處理,重試可能導致重複收費。", - "High-risk status code retry risk check 3": "我承認這些設定可能導致重大經濟損失,並接受所有相關風險。", - "High-risk status code retry risk check 4": "我已仔細核查以上狀態碼重新導向規則,並確認設定正確。", - "High-risk status code retry risk disclaimer": "以下狀態碼重新導向規則包含高風險設定。在這些狀態碼上重試可能導致上游正常扣費且無法追回。請仔細核實這些設定。", + "High-risk status code retry confirmation text": "我已了解多重計費與崩潰風險,確認開啟", + "High-risk status code retry input mismatch": "輸入內容與要求不一致", + "High-risk status code retry input placeholder": "請完整輸入上方文字", + "High-risk status code retry risk check 1": "我已充分閱讀並理解:本人已完整閱讀上述全部風險提示,完全理解強制重試 504 與 524 狀態碼可能帶來的破壞性後果。", + "High-risk status code retry risk check 2": "我已與上游溝通並確認:本人確認,當前逾時問題屬於上游服務瓶頸。本人已與上游供應商溝通,確認上游無法解決該逾時問題,因此才採取強制重試方案作為妥協手段。", + "High-risk status code retry risk check 3": "我自願承擔計費損失:本人知悉並接受由此產生的全部雙重/多重計費風險,承諾不會因重試導致的帳單異常在本專案倉庫提交 Issue 或抱怨。", + "High-risk status code retry risk check 4": "我自願承擔系統穩定性風險:本人知悉該操作可能導致用戶端嚴重逾時及服務崩潰。若因本人開啟此功能導致請求積壓或服務不可用,後果由本人自行承擔。", + "High-risk status code retry risk disclaimer": "### ⚠️ 高風險操作:504/524 狀態碼重試風險告知與免責聲明\n\n本專案預設對 `400`(請求錯誤)、`504`(閘道逾時)與 `524`(CDN 逾時)狀態碼不進行重試。504 與 524 錯誤通常代表**請求已成功送達上游 AI 服務,且上游正在處理,但因上游處理時間過長導致連線中斷**。這通常表示逾時源於上游服務瓶頸。\n\n開啟此類逾時狀態碼的重新導向/重試屬於**極高風險操作**。在開啟該功能前,您必須仔細閱讀並知悉以下嚴重後果:\n\n#### 一、核心風險告知(請仔細閱讀)\n\n1. 💸 雙重/多重計費風險:多數 AI 上游廠商對於已開始處理但因網路原因中斷(504/524)的請求**仍然會扣費**。此時若觸發重試,將會向上游發起全新請求,導致您被**雙重甚至多重計費**。\n2. ⏳ 用戶端嚴重逾時:單次請求已觸發逾時,疊加重試機制會使總請求耗時成倍增加,導致最終用戶端(或呼叫方)出現嚴重甚至無法接受的逾時現象。\n3. 💥 請求積壓與系統崩潰風險:強制重試逾時請求會長時間占用系統執行緒與連線數。在高併發場景下,這將導致嚴重的**請求積壓**,進而耗盡系統資源,引發雪崩效應,造成整個代理服務崩潰。\n\n#### 二、風險確認聲明\n\n若您堅持開啟該功能,即代表您作出以下確認:", "Higher priority channels are selected first": "優先級更高的渠道優先被選中", "Historical Usage": "歷史使用情況", "History of MjProxy-style image tasks.": "MjProxy 風格圖像任務歷史。", diff --git a/web/default/src/i18n/locales/zh.json b/web/default/src/i18n/locales/zh.json index 45368da4..c8aeb90c 100644 --- a/web/default/src/i18n/locales/zh.json +++ b/web/default/src/i18n/locales/zh.json @@ -2190,14 +2190,14 @@ "Hide setup guide": "隐藏设置引导", "High Performance": "高性能", "High-risk operation confirmation": "高危操作确认", - "High-risk status code retry confirmation text": "我确认", - "High-risk status code retry input mismatch": "输入的文本不匹配,请重试。", - "High-risk status code retry input placeholder": "请输入上方确认文本", - "High-risk status code retry risk check 1": "我了解在这些状态码上重试可能导致上游供应商正常扣费,且该费用无法追回。", - "High-risk status code retry risk check 2": "我了解这些状态码通常表示请求已被上游供应商成功处理,重试可能导致重复计费。", - "High-risk status code retry risk check 3": "我承认这些配置可能导致重大经济损失,并接受所有相关风险。", - "High-risk status code retry risk check 4": "我已仔细核查以上状态码重定向规则,并确认配置正确。", - "High-risk status code retry risk disclaimer": "以下状态码重定向规则包含高风险配置。在这些状态码上重试可能导致上游正常扣费且无法追回。请仔细核实这些配置。", + "High-risk status code retry confirmation text": "我已了解多重计费与崩溃风险,确认开启", + "High-risk status code retry input mismatch": "输入内容与要求不一致", + "High-risk status code retry input placeholder": "请完整输入上方文字", + "High-risk status code retry risk check 1": "我已充分阅读并理解:本人已完整阅读上述全部风险提示,完全理解强制重试 504 和 524 状态码可能带来的破坏性后果。", + "High-risk status code retry risk check 2": "我已与上游沟通并确认:本人确认,当前出现的超时问题属于上游服务的瓶颈。本人已与上游提供商进行过沟通,确认上游无法解决该超时问题,因此才采取强制重试方案作为妥协手段。", + "High-risk status code retry risk check 3": "我自愿承担计费损失:本人知晓并接受由此产生的全部双重/多重计费风险,承诺不会因重试导致的账单异常在本项目仓库中提交 Issue 或抱怨。", + "High-risk status code retry risk check 4": "我自愿承担系统稳定性风险:本人知晓该操作可能导致客户端严重超时及服务崩溃。若因本人开启此功能导致请求积压或服务不可用,后果由本人自行承担。", + "High-risk status code retry risk disclaimer": "### ⚠️ 高危操作:504/524 状态码重试风险告知与免责声明\n\n本项目默认对 `400`(请求错误)、`504`(网关超时)和 `524`(CDN 超时)状态码不进行重试。504 和 524 错误通常意味着**请求已成功送达上游 AI 服务,且上游正在处理,但因上游处理时间过长导致连接断开**。这通常说明超时源于上游服务瓶颈。\n\n开启对此类超时状态码的重定向/重试属于**极高风险操作**。在开启该功能前,您必须仔细阅读并知悉以下严重后果:\n\n#### 一、核心风险告知(请仔细阅读)\n\n1. 💸 双重/多重计费风险:绝大多数 AI 上游厂商对于已经开始处理但因网络原因中断(504/524)的请求**依然会进行扣费**。此时若触发重试,将会向上游发起全新请求,导致您被**双重甚至多重计费**。\n2. ⏳ 客户端严重超时:单次请求已经触发超时,叠加重试机制将会使总请求耗时成倍增加,导致您的最终客户端(或调用方)出现严重甚至完全无法接受的超时现象。\n3. 💥 请求积压与系统崩溃风险:强制重试超时请求会长时间占用系统线程和连接数。在高并发场景下,这会导致严重的**请求积压**,进而耗尽系统资源,引发雪崩效应,导致您的整个代理服务崩溃。\n\n#### 二、风险确认声明\n\n如果您坚持开启该功能,即代表您作出以下确认:", "Higher priority channels are selected first": "优先级更高的渠道优先被选中", "Historical Usage": "历史使用情况", "History of MjProxy-style image tasks.": "MjProxy 风格图像任务历史。",