refactor: remove per-provider proxy config feature

Replace all remaining "代理服务/Proxy Service/プロキシサービス" references
in the local routing feature context with "路由服务/Routing Service/
ルーティングサービス". This covers service settings, status messages,
tooltips, field descriptions, and tab labels.

Global Proxy, HTTP proxy hints, and AI Agent references are unchanged.
This commit is contained in:
Jason
2026-04-14 15:39:23 +08:00
parent 36f2d6cccb
commit 5e412d2c30
3 changed files with 70 additions and 70 deletions
+23 -23
View File
@@ -194,12 +194,12 @@
"deleteFailed": "Failed to delete provider: {{error}}",
"settingsSaved": "Settings saved",
"settingsSaveFailed": "Failed to save settings: {{error}}",
"proxyRequiredForSwitch": "This provider {{reason}}, requires the proxy service to work properly. Start the proxy first.",
"proxyRequiredForSwitch": "This provider {{reason}}, requires the routing service to work properly. Start routing first.",
"proxyReasonCopilot": "uses GitHub Copilot as a Claude provider",
"proxyReasonOpenAIChat": "uses OpenAI Chat API format",
"proxyReasonOpenAIResponses": "uses OpenAI Responses API format",
"proxyReasonFullUrl": "has full URL connection mode enabled",
"openAIFormatHint": "This provider uses OpenAI-compatible format and requires the proxy service to be enabled",
"openAIFormatHint": "This provider uses OpenAI-compatible format and requires the routing service to be enabled",
"copilotProxyHint": "GitHub Copilot as a Claude provider always requires local routing; routing automatically selects Chat Completions or Responses based on the current model.",
"openLinkFailed": "Failed to open link",
"openclawModelsRegistered": "Models have been registered to /model list",
@@ -208,7 +208,7 @@
"openclawNoModels": "No models configured",
"backfillWarning": "Switched successfully, but failed to save changes back to the previous provider",
"windowControlFailed": "Window control failed: {{error}}",
"officialBlockedByProxy": "Cannot switch to official provider while local routing is active. Using proxy with official APIs may cause account bans.",
"officialBlockedByProxy": "Cannot switch to official provider while local routing is active. Using routing with official APIs may cause account bans.",
"proxyOfficialWarning": "Current provider {{name}} is official. Consider switching to a third-party provider before using local routing."
},
"confirm": {
@@ -253,7 +253,7 @@
"tabGeneral": "General",
"tabAuth": "Auth",
"tabAdvanced": "Advanced",
"tabProxy": "Proxy",
"tabProxy": "Routing",
"authCenter": {
"title": "OAuth Authentication Center",
"description": "Use your other subscriptions in Claude Code — please be mindful of compliance risks.",
@@ -820,10 +820,10 @@
"fullUrlLabel": "Full URL",
"fullUrlEnabled": "Full URL Mode",
"fullUrlDisabled": "Mark as Full URL",
"fullUrlHint": "💡 Enter the full request URL. This mode requires the proxy to be enabled, and the proxy will use the URL as-is without appending a path",
"fullUrlHint": "💡 Enter the full request URL. This mode requires routing to be enabled, and routing will use the URL as-is without appending a path",
"apiFormatAnthropic": "Anthropic Messages (Native)",
"apiFormatOpenAIChat": "OpenAI Chat Completions (Requires proxy)",
"apiFormatOpenAIResponses": "OpenAI Responses API (Requires proxy)",
"apiFormatOpenAIChat": "OpenAI Chat Completions (Requires routing)",
"apiFormatOpenAIResponses": "OpenAI Responses API (Requires routing)",
"authField": "Auth Field",
"authFieldAuthToken": "ANTHROPIC_AUTH_TOKEN (Default)",
"authFieldApiKey": "ANTHROPIC_API_KEY",
@@ -1086,7 +1086,7 @@
},
"dataSources": "Data Sources",
"dataSource": {
"proxy": "Proxy",
"proxy": "Routing",
"session_log": "Session Log",
"codex_db": "Codex DB",
"codex_session": "Codex Session",
@@ -1938,9 +1938,9 @@
"addressCopied": "Address copied",
"currentProvider": "Current Provider:",
"waitingFirstRequest": "Current Provider: Waiting for first request...",
"stoppedTitle": "Proxy Service Stopped",
"stoppedTitle": "Routing Service Stopped",
"stoppedDescription": "Use the toggle above to start the service",
"openSettings": "Configure Proxy Service",
"openSettings": "Configure Routing Service",
"stats": {
"activeConnections": "Active Connections",
"totalRequests": "Total Requests",
@@ -1949,14 +1949,14 @@
}
},
"settings": {
"title": "Proxy Service Settings",
"title": "Routing Service Settings",
"description": "Configure local routing server listening address, port and runtime parameters. Changes take effect immediately after saving.",
"alert": {
"autoApply": "Changes will be automatically synced to the running proxy service without manual restart."
"autoApply": "Changes will be automatically synced to the running routing service without manual restart."
},
"basic": {
"title": "Basic Settings",
"description": "Configure proxy service listening address and port."
"description": "Configure routing service listening address and port."
},
"advanced": {
"title": "Advanced Parameters",
@@ -1970,12 +1970,12 @@
"listenAddress": {
"label": "Listen Address",
"placeholder": "127.0.0.1",
"description": "IP address the proxy server listens on (recommended: 127.0.0.1)"
"description": "IP address the routing server listens on (recommended: 127.0.0.1)"
},
"listenPort": {
"label": "Listen Port",
"placeholder": "15721",
"description": "Port number the proxy server listens on (1024 ~ 65535)"
"description": "Port number the routing server listens on (1024 ~ 65535)"
},
"maxRetries": {
"label": "Max Retries",
@@ -1989,7 +1989,7 @@
},
"enableLogging": {
"label": "Enable Logging",
"description": "Log all proxy requests for troubleshooting"
"description": "Log all routing requests for troubleshooting"
},
"streamingFirstByteTimeout": {
"label": "Streaming First Byte Timeout (sec)",
@@ -2020,14 +2020,14 @@
"save": "Save Configuration"
},
"toast": {
"saved": "Proxy configuration saved",
"saved": "Routing configuration saved",
"saveFailed": "Save failed: {{error}}"
},
"invalidPort": "Invalid port, please enter a number between 1024-65535",
"invalidAddress": "Invalid address, please enter a valid IP address (e.g. 127.0.0.1) or localhost",
"configSaved": "Proxy configuration saved",
"configSaved": "Routing configuration saved",
"configSaveFailed": "Failed to save configuration",
"restartRequired": "Restart proxy service for address or port changes to take effect"
"restartRequired": "Restart routing service for address or port changes to take effect"
},
"switchFailed": "Switch failed: {{error}}",
"takeover": {
@@ -2042,7 +2042,7 @@
}
},
"failover": {
"proxyRequired": "Proxy service must be started to configure failover",
"proxyRequired": "Routing service must be started to configure failover",
"autoSwitch": "Auto Failover",
"autoSwitchDescription": "When enabled, switches to queue P1 immediately and automatically tries the next provider in the queue on failures"
},
@@ -2106,8 +2106,8 @@
"failed": "Failed to toggle logging"
},
"server": {
"started": "Proxy service started - {{address}}:{{port}}",
"startFailed": "Failed to start proxy service: {{detail}}"
"started": "Routing service started - {{address}}:{{port}}",
"startFailed": "Failed to start routing service: {{detail}}"
},
"stoppedWithRestore": "Routing service stopped, all routing configs restored",
"stopWithRestoreFailed": "Stop failed: {{detail}}"
@@ -2130,7 +2130,7 @@
"error": "{{providerName}} check error: {{error}}"
},
"proxyConfig": {
"proxyEnabled": "Proxy Enabled",
"proxyEnabled": "Routing Master Switch",
"appTakeover": "Routing Enabled",
"perAppConfig": "Per-App Config",
"circuitBreaker": "Circuit Breaker",
+24 -24
View File
@@ -194,12 +194,12 @@
"deleteFailed": "プロバイダーの削除に失敗しました: {{error}}",
"settingsSaved": "設定を保存しました",
"settingsSaveFailed": "設定の保存に失敗しました: {{error}}",
"proxyRequiredForSwitch": "このプロバイダーは{{reason}}、プロキシサービスが必要です。先にプロキシを起動してください",
"proxyRequiredForSwitch": "このプロバイダーは{{reason}}、ルーティングサービスが必要です。先にルーティングを起動してください",
"proxyReasonCopilot": "GitHub Copilot を Claude プロバイダーとして使用しており",
"proxyReasonOpenAIChat": "OpenAI Chat API フォーマットを使用しており",
"proxyReasonOpenAIResponses": "OpenAI Responses API フォーマットを使用しており",
"proxyReasonFullUrl": "完全 URL 接続モードが有効になっており",
"openAIFormatHint": "このプロバイダーは OpenAI 互換フォーマットを使用しており、プロキシサービスの有効化が必要です",
"openAIFormatHint": "このプロバイダーは OpenAI 互換フォーマットを使用しており、ルーティングサービスの有効化が必要です",
"copilotProxyHint": "GitHub Copilot を Claude プロバイダーとして使用する場合、ローカルルーティングが常に必要です。ルーティングは現在のモデルに応じて Chat Completions または Responses を自動的に選択します。",
"openLinkFailed": "リンクを開けませんでした",
"openclawModelsRegistered": "モデルが /model リストに登録されました",
@@ -208,7 +208,7 @@
"openclawNoModels": "モデルが設定されていません",
"backfillWarning": "切り替え成功しましたが、前のプロバイダーへの設定保存に失敗しました",
"windowControlFailed": "ウィンドウ操作に失敗しました: {{error}}",
"officialBlockedByProxy": "ローカルルーティングモード中は公式プロバイダーに切り替えできません。プロキシ経由で公式 API にアクセスするとアカウントが停止される可能性があります。",
"officialBlockedByProxy": "ローカルルーティングモード中は公式プロバイダーに切り替えできません。ルーティング経由で公式 API にアクセスするとアカウントが停止される可能性があります。",
"proxyOfficialWarning": "現在のプロバイダー {{name}} は公式です。ローカルルーティングを使用する前にサードパーティプロバイダーに切り替えてください。"
},
"confirm": {
@@ -253,7 +253,7 @@
"tabGeneral": "一般",
"tabAuth": "認証",
"tabAdvanced": "詳細",
"tabProxy": "プロキシ",
"tabProxy": "ルーティング",
"authCenter": {
"title": "OAuth 認証センター",
"description": "Claude Code で他のサブスクリプションをご利用いただけます。コンプライアンスリスクにご注意ください。",
@@ -629,7 +629,7 @@
"scan": "ローカルプロキシをスキャン",
"clear": "クリア",
"scanFailed": "スキャンに失敗しました: {{error}}",
"saved": "プロキシ設定を保存しました",
"saved": "ルーティング設定を保存しました",
"saveFailed": "保存に失敗しました: {{error}}",
"testSuccess": "接続成功!遅延 {{latency}}ms",
"testFailed": "接続に失敗しました: {{error}}",
@@ -820,10 +820,10 @@
"fullUrlLabel": "フル URL",
"fullUrlEnabled": "フル URL モード",
"fullUrlDisabled": "フル URL として設定",
"fullUrlHint": "💡 完全なリクエスト URL を入力してください。このモードはプロキシを有効にして使用する必要があり、プロキシはこの URL をそのまま使用し、パスを追加しません",
"fullUrlHint": "💡 完全なリクエスト URL を入力してください。このモードはルーティングを有効にして使用する必要があり、ルーティングはこの URL をそのまま使用し、パスを追加しません",
"apiFormatAnthropic": "Anthropic Messages(ネイティブ)",
"apiFormatOpenAIChat": "OpenAI Chat Completionsプロキシが必要)",
"apiFormatOpenAIResponses": "OpenAI Responses APIプロキシが必要)",
"apiFormatOpenAIChat": "OpenAI Chat Completionsルーティングが必要)",
"apiFormatOpenAIResponses": "OpenAI Responses APIルーティングが必要)",
"authField": "認証フィールド",
"authFieldAuthToken": "ANTHROPIC_AUTH_TOKEN(デフォルト)",
"authFieldApiKey": "ANTHROPIC_API_KEY",
@@ -1086,7 +1086,7 @@
},
"dataSources": "データソース",
"dataSource": {
"proxy": "プロキシ",
"proxy": "ルーティング",
"session_log": "セッションログ",
"codex_db": "Codex DB",
"codex_session": "Codex セッション",
@@ -1938,9 +1938,9 @@
"addressCopied": "アドレスをコピーしました",
"currentProvider": "現在のプロバイダー:",
"waitingFirstRequest": "現在のプロバイダー: 最初のリクエスト待ち...",
"stoppedTitle": "プロキシサービス停止中",
"stoppedTitle": "ルーティングサービス停止中",
"stoppedDescription": "上のトグルでサービスを開始できます",
"openSettings": "プロキシサービスを設定",
"openSettings": "ルーティングサービスを設定",
"stats": {
"activeConnections": "アクティブ接続",
"totalRequests": "総リクエスト数",
@@ -1949,14 +1949,14 @@
}
},
"settings": {
"title": "プロキシサービス設定",
"title": "ルーティングサービス設定",
"description": "ローカルルーティングサーバーのリッスンアドレス、ポート、実行パラメータを設定します。保存後すぐに反映されます。",
"alert": {
"autoApply": "変更は実行中のプロキシサービスに自動的に同期され、手動での再起動は不要です。"
"autoApply": "変更は実行中のルーティングサービスに自動的に同期され、手動での再起動は不要です。"
},
"basic": {
"title": "基本設定",
"description": "プロキシサービスのリッスンアドレスとポートを設定します。"
"description": "ルーティングサービスのリッスンアドレスとポートを設定します。"
},
"advanced": {
"title": "詳細パラメータ",
@@ -1970,12 +1970,12 @@
"listenAddress": {
"label": "リッスンアドレス",
"placeholder": "127.0.0.1",
"description": "プロキシサーバーがリッスンするIPアドレス(推奨: 127.0.0.1"
"description": "ルーティングサーバーがリッスンするIPアドレス(推奨: 127.0.0.1"
},
"listenPort": {
"label": "リッスンポート",
"placeholder": "15721",
"description": "プロキシサーバーがリッスンするポート番号(1024 ~ 65535"
"description": "ルーティングサーバーがリッスンするポート番号(1024 ~ 65535"
},
"maxRetries": {
"label": "最大リトライ回数",
@@ -1989,7 +1989,7 @@
},
"enableLogging": {
"label": "ログ記録を有効化",
"description": "トラブルシューティングのためにすべてのプロキシリクエストを記録"
"description": "トラブルシューティングのためにすべてのルーティングリクエストを記録"
},
"streamingFirstByteTimeout": {
"label": "ストリーミング初回バイトタイムアウト(秒)",
@@ -2020,14 +2020,14 @@
"save": "設定を保存"
},
"toast": {
"saved": "プロキシ設定を保存しました",
"saved": "ルーティング設定を保存しました",
"saveFailed": "保存に失敗しました: {{error}}"
},
"invalidPort": "無効なポートです。1024〜65535 の数値を入力してください",
"invalidAddress": "無効なアドレスです。有効な IP アドレス(例: 127.0.0.1)または localhost を入力してください",
"configSaved": "プロキシ設定を保存しました",
"configSaved": "ルーティング設定を保存しました",
"configSaveFailed": "設定の保存に失敗しました",
"restartRequired": "アドレスまたはポートの変更を反映するにはプロキシサービスの再起動が必要です"
"restartRequired": "アドレスまたはポートの変更を反映するにはルーティングサービスの再起動が必要です"
},
"switchFailed": "切り替えに失敗しました: {{error}}",
"takeover": {
@@ -2042,7 +2042,7 @@
}
},
"failover": {
"proxyRequired": "フェイルオーバーを設定するには、プロキシサービスを先に起動する必要があります",
"proxyRequired": "フェイルオーバーを設定するには、ルーティングサービスを先に起動する必要があります",
"autoSwitch": "自動フェイルオーバー",
"autoSwitchDescription": "有効にするとキューの P1 に即時切り替え、リクエスト失敗時はキュー内の次のプロバイダーを自動で試行します"
},
@@ -2106,8 +2106,8 @@
"failed": "ログ状態の切り替えに失敗しました"
},
"server": {
"started": "プロキシサービスが開始されました - {{address}}:{{port}}",
"startFailed": "プロキシサービスの開始に失敗しました: {{detail}}"
"started": "ルーティングサービスが開始されました - {{address}}:{{port}}",
"startFailed": "ルーティングサービスの開始に失敗しました: {{detail}}"
},
"stoppedWithRestore": "ルーティングサービスが停止し、すべてのルーティング設定が復元されました",
"stopWithRestoreFailed": "停止に失敗しました: {{detail}}"
@@ -2130,7 +2130,7 @@
"error": "{{providerName}} のチェックでエラーが発生しました: {{error}}"
},
"proxyConfig": {
"proxyEnabled": "プロキシ有効",
"proxyEnabled": "ルーティング総スイッチ",
"appTakeover": "ルーティング有効",
"perAppConfig": "アプリ別設定",
"circuitBreaker": "サーキットブレーカー",
+23 -23
View File
@@ -194,12 +194,12 @@
"deleteFailed": "删除供应商失败:{{error}}",
"settingsSaved": "设置已保存",
"settingsSaveFailed": "保存设置失败:{{error}}",
"proxyRequiredForSwitch": "此供应商{{reason}},需要代理服务才能正常使用,请先启动代理",
"proxyRequiredForSwitch": "此供应商{{reason}},需要路由服务才能正常使用,请先启动路由",
"proxyReasonCopilot": "使用 GitHub Copilot 作为 Claude 供应商",
"proxyReasonOpenAIChat": "使用 OpenAI Chat 接口格式",
"proxyReasonOpenAIResponses": "使用 OpenAI Responses 接口格式",
"proxyReasonFullUrl": "开启了完整 URL 连接模式",
"openAIFormatHint": "此供应商使用 OpenAI 兼容格式,需要开启代理服务才能正常使用",
"openAIFormatHint": "此供应商使用 OpenAI 兼容格式,需要开启路由服务才能正常使用",
"copilotProxyHint": "GitHub Copilot 作为 Claude 供应商时始终需要本地路由;路由会根据当前模型自动选择 Chat Completions 或 Responses。",
"openLinkFailed": "链接打开失败",
"openclawModelsRegistered": "模型已注册到 /model 列表",
@@ -208,7 +208,7 @@
"openclawNoModels": "该供应商没有配置模型",
"backfillWarning": "切换成功,但旧供应商配置回填失败,您手动修改的配置可能未保存",
"windowControlFailed": "窗口控制失败:{{error}}",
"officialBlockedByProxy": "本地路由模式下不能切换到官方供应商,使用代理访问官方 API 可能导致账号被封禁",
"officialBlockedByProxy": "本地路由模式下不能切换到官方供应商,使用路由访问官方 API 可能导致账号被封禁",
"proxyOfficialWarning": "当前供应商 {{name}} 是官方供应商,建议切换到第三方供应商后再使用本地路由"
},
"confirm": {
@@ -253,7 +253,7 @@
"tabGeneral": "通用",
"tabAuth": "认证",
"tabAdvanced": "高级",
"tabProxy": "代理",
"tabProxy": "路由",
"authCenter": {
"title": "OAuth 认证中心",
"description": "在 Claude Code 中使用您的其他订阅,请注意合规风险。",
@@ -821,10 +821,10 @@
"fullUrlLabel": "完整 URL",
"fullUrlEnabled": "完整 URL 模式",
"fullUrlDisabled": "标记为完整 URL",
"fullUrlHint": "💡 请填写完整请求 URL,并且必须开启代理后使用;代理将直接使用此 URL,不拼接路径",
"fullUrlHint": "💡 请填写完整请求 URL,并且必须开启路由后使用;路由将直接使用此 URL,不拼接路径",
"apiFormatAnthropic": "Anthropic Messages (原生)",
"apiFormatOpenAIChat": "OpenAI Chat Completions (需开启代理)",
"apiFormatOpenAIResponses": "OpenAI Responses API (需开启代理)",
"apiFormatOpenAIChat": "OpenAI Chat Completions (需开启路由)",
"apiFormatOpenAIResponses": "OpenAI Responses API (需开启路由)",
"authField": "认证字段",
"authFieldAuthToken": "ANTHROPIC_AUTH_TOKEN(默认)",
"authFieldApiKey": "ANTHROPIC_API_KEY",
@@ -1087,7 +1087,7 @@
},
"dataSources": "数据来源",
"dataSource": {
"proxy": "代理",
"proxy": "路由",
"session_log": "会话日志",
"codex_db": "Codex 数据库",
"codex_session": "Codex 会话日志",
@@ -1939,9 +1939,9 @@
"addressCopied": "地址已复制",
"currentProvider": "当前 Provider",
"waitingFirstRequest": "当前 Provider:等待首次请求…",
"stoppedTitle": "代理服务已停止",
"stoppedTitle": "路由服务已停止",
"stoppedDescription": "使用上方开关即可启动服务",
"openSettings": "配置代理服务",
"openSettings": "配置路由服务",
"stats": {
"activeConnections": "活跃连接",
"totalRequests": "总请求数",
@@ -1950,14 +1950,14 @@
}
},
"settings": {
"title": "代理服务设置",
"title": "路由服务设置",
"description": "配置本地路由服务器的监听地址、端口和运行参数,保存后立即生效。",
"alert": {
"autoApply": "保存后将自动同步到正在运行的代理服务,无需手动重启。"
"autoApply": "保存后将自动同步到正在运行的路由服务,无需手动重启。"
},
"basic": {
"title": "基础设置",
"description": "配置代理服务监听的地址与端口。"
"description": "配置路由服务监听的地址与端口。"
},
"advanced": {
"title": "高级参数",
@@ -1971,12 +1971,12 @@
"listenAddress": {
"label": "监听地址",
"placeholder": "127.0.0.1",
"description": "代理服务器监听的 IP 地址(推荐 127.0.0.1"
"description": "路由服务器监听的 IP 地址(推荐 127.0.0.1"
},
"listenPort": {
"label": "监听端口",
"placeholder": "15721",
"description": "代理服务器监听的端口号(1024 ~ 65535"
"description": "路由服务器监听的端口号(1024 ~ 65535"
},
"maxRetries": {
"label": "最大重试次数",
@@ -1990,7 +1990,7 @@
},
"enableLogging": {
"label": "启用日志记录",
"description": "记录所有代理请求,便于排查问题"
"description": "记录所有路由请求,便于排查问题"
},
"streamingFirstByteTimeout": {
"label": "流式首字超时(秒)",
@@ -2021,14 +2021,14 @@
"save": "保存配置"
},
"toast": {
"saved": "代理配置已保存",
"saved": "路由配置已保存",
"saveFailed": "保存失败: {{error}}"
},
"invalidPort": "端口无效,请输入 1024-65535 之间的数字",
"invalidAddress": "地址无效,请输入有效的 IP 地址(如 127.0.0.1)或 localhost",
"configSaved": "代理配置已保存",
"configSaved": "路由配置已保存",
"configSaveFailed": "保存配置失败",
"restartRequired": "修改地址或端口后需要重启代理服务才能生效"
"restartRequired": "修改地址或端口后需要重启路由服务才能生效"
},
"switchFailed": "切换失败: {{error}}",
"takeover": {
@@ -2043,7 +2043,7 @@
}
},
"failover": {
"proxyRequired": "需要先启动代理服务才能配置故障转移",
"proxyRequired": "需要先启动路由服务才能配置故障转移",
"autoSwitch": "自动故障转移",
"autoSwitchDescription": "开启后将立即切换到队列 P1,并在请求失败时自动切换到队列中的下一个供应商"
},
@@ -2107,8 +2107,8 @@
"failed": "切换日志状态失败"
},
"server": {
"started": "代理服务已启动 - {{address}}:{{port}}",
"startFailed": "启动代理服务失败: {{detail}}"
"started": "路由服务已启动 - {{address}}:{{port}}",
"startFailed": "启动路由服务失败: {{detail}}"
},
"stoppedWithRestore": "路由服务已关闭,已恢复所有路由配置",
"stopWithRestoreFailed": "停止失败: {{detail}}"
@@ -2131,7 +2131,7 @@
"error": "{{providerName}} 检查出错: {{error}}"
},
"proxyConfig": {
"proxyEnabled": "代理总开关",
"proxyEnabled": "路由总开关",
"appTakeover": "路由启用",
"perAppConfig": "应用配置",
"circuitBreaker": "熔断器配置",