Merge branch 'main' into feat/smart-url-path-detection

# Conflicts:
#	src/App.tsx
#	src/hooks/useProviderActions.ts
#	src/i18n/locales/en.json
#	src/i18n/locales/ja.json
#	src/i18n/locales/zh.json
This commit is contained in:
YoVinchen
2026-02-15 13:48:28 +08:00
112 changed files with 11858 additions and 585 deletions
+273 -12
View File
@@ -88,6 +88,8 @@
"addOpenCodeProvider": "Add OpenCode Provider",
"addToConfig": "Add",
"removeFromConfig": "Remove",
"setAsDefault": "Enable",
"isDefault": "Default",
"inConfig": "Added",
"addProviderHint": "Fill in the information to quickly switch providers in the list.",
"editClaudeProvider": "Edit Claude Code Provider",
@@ -170,7 +172,11 @@
"urlMismatchWarningOnDisable": "The current provider's request URL configuration may rely on the proxy. It may not work properly after disabling the proxy. Consider switching to a base URL configuration or keep the proxy enabled.",
"switchAppliedUnverified": "Switch applied (direct mode not verified)",
"switchAppliedUnverifiedDesc": "Unable to verify whether this endpoint requires the proxy. If it doesn't work after switching, enable the proxy and takeover the current app.",
"openLinkFailed": "Failed to open link"
"openLinkFailed": "Failed to open link",
"openclawModelsRegistered": "Models have been registered to /model list",
"openclawDefaultModelSet": "Set as default model",
"openclawDefaultModelSetFailed": "Failed to set default model",
"openclawNoModels": "No models configured"
},
"confirm": {
"deleteProvider": "Delete Provider",
@@ -222,7 +228,9 @@
"requestGroup": "Request Rectification",
"responseGroup": "Response Rectification",
"thinkingSignature": "Thinking Signature Rectification",
"thinkingSignatureDescription": "Automatically fix Claude API errors caused by thinking signature validation failures"
"thinkingSignatureDescription": "When an Anthropic-type provider returns thinking signature incompatibility or illegal request errors, automatically removes incompatible thinking-related blocks and retries once with the same provider",
"thinkingBudget": "Thinking Budget Rectification",
"thinkingBudgetDescription": "When an Anthropic-type provider returns budget_tokens constraint errors (such as at least 1024), automatically normalizes thinking to enabled, sets thinking budget to 32000, and raises max_tokens to 64000 if needed, then retries once"
},
"logConfig": {
"title": "Log Management",
@@ -272,6 +280,77 @@
"selectFileFailed": "Please choose a valid SQL backup file",
"configCorrupted": "SQL file may be corrupted or invalid",
"backupId": "Backup ID",
"webdavSync": {
"title": "WebDAV Cloud Sync",
"description": "Sync database and skill configurations across devices via WebDAV.",
"baseUrl": "WebDAV Server URL",
"baseUrlPlaceholder": "https://dav.example.com/dav/",
"username": "WebDAV Account",
"usernamePlaceholder": "Email or username",
"password": "WebDAV Password",
"passwordPlaceholder": "App password",
"remoteRoot": "Remote Root Directory",
"profile": "Sync Profile Name",
"test": "Test Connection",
"testing": "Testing...",
"testSuccess": "Connection successful",
"testFailed": "Connection failed: {{error}}",
"save": "Save Config",
"saving": "Saving...",
"saveFailed": "Failed to save config: {{error}}",
"upload": "Upload to Cloud",
"uploading": "Uploading...",
"uploadSuccess": "Uploaded to WebDAV",
"uploadFailed": "Upload failed: {{error}}",
"download": "Download from Cloud",
"downloading": "Downloading...",
"downloadSuccess": "Downloaded and restored from WebDAV",
"downloadFailed": "Download failed: {{error}}",
"lastSync": "Last sync: {{time}}",
"missingUrl": "Please enter the WebDAV server URL",
"presets": {
"label": "Provider",
"jianguoyun": "Jianguoyun",
"jianguoyunHint": "Generate an \"App Password\" in Jianguoyun security settings. Do not use your login password.",
"nextcloud": "Nextcloud",
"nextcloudHint": "Replace your-server with your Nextcloud domain and USERNAME with your username.",
"synology": "Synology NAS",
"synologyHint": "Install and enable the WebDAV Server package in Synology Package Center first.",
"custom": "Custom"
},
"remoteRootDefault": "Default: cc-switch-sync",
"profileDefault": "Default: default",
"saveAndTestSuccess": "Config saved, connection OK",
"saveAndTestFailed": "Config saved, but connection test failed: {{error}}",
"noRemoteData": "No sync data found on the remote server",
"incompatibleVersion": "Remote data version incompatible (v{{version}}), current supports v2",
"unsaved": "Unsaved",
"saved": "Saved",
"unsavedChanges": "Please save config first",
"saveBeforeSync": "Save configuration first to enable upload/download.",
"fetchingRemote": "Fetching remote info...",
"fetchRemoteFailed": "Failed to fetch remote info. Please check configuration and network.",
"confirmDownload": {
"title": "Restore from Cloud",
"deviceName": "Uploaded by",
"createdAt": "Uploaded at",
"artifacts": "Contents",
"warning": "This will overwrite all local data and skill configurations",
"confirm": "Confirm Restore"
},
"confirmUpload": {
"title": "Upload to Cloud",
"content": "The following will be synced to the WebDAV server:",
"dbItem": "Database (all provider configs and data)",
"skillsItem": "Skills (all custom skills)",
"targetPath": "Target path",
"existingData": "Existing cloud data",
"deviceName": "Uploaded by",
"createdAt": "Uploaded at",
"warning": "This will overwrite existing sync data on the remote server",
"confirm": "Confirm Upload"
}
},
"autoReload": "Data refreshed",
"languageOptionChinese": "中文",
"languageOptionEnglish": "English",
@@ -413,7 +492,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
},
"sessionManager": {
"title": "Session Manager",
@@ -496,7 +576,6 @@
"officialHint": "💡 Official provider uses browser login, no API Key needed",
"getApiKey": "Get API Key",
"partnerPromotion": {
"zhipu": "Zhipu GLM is an official partner of CC Switch. Use this link to top up and get a 10% discount",
"packycode": "PackyCode is an official partner of CC Switch. Register using this link and enter \"cc-switch\" promo code during recharge to get 10% off",
"minimax_cn": "MiniMax Coding Plan Special Offer, Starter from ¥9.9",
"minimax_en": "MiniMax Coding Plan Black Friday, Starter is now $2/mo (80% OFF!)",
@@ -673,6 +752,38 @@
"modelOptionKeyPlaceholder": "provider",
"modelOptionValuePlaceholder": "{\"order\": [\"baseten\"]}"
},
"openclaw": {
"providerKey": "Provider Key",
"providerKeyPlaceholder": "my-provider",
"providerKeyHint": "Unique identifier in config file. Cannot be changed after creation. Use lowercase letters, numbers, and hyphens only.",
"providerKeyRequired": "Provider key is required",
"providerKeyDuplicate": "This key is already in use",
"providerKeyInvalid": "Invalid format. Use lowercase letters, numbers, and hyphens only.",
"apiProtocol": "API Protocol",
"selectProtocol": "Select API Protocol",
"apiProtocolHint": "Select the protocol type compatible with the provider's API. Most providers use OpenAI Completions format.",
"baseUrl": "API Endpoint",
"baseUrlHint": "The provider's API endpoint address.",
"models": "Models",
"addModel": "Add Model",
"noModels": "No models configured. Click Add Model to configure available models.",
"modelId": "Model ID",
"modelIdPlaceholder": "claude-3-sonnet",
"modelName": "Display Name",
"modelNamePlaceholder": "Claude 3 Sonnet",
"contextWindow": "Context Window",
"maxTokens": "Max Output Tokens",
"reasoning": "Reasoning Mode",
"reasoningOn": "Enabled",
"reasoningOff": "Disabled",
"inputCost": "Input Cost ($/M tokens)",
"outputCost": "Output Cost ($/M tokens)",
"advancedOptions": "Advanced Options",
"cacheReadCost": "Cache Read Cost ($/M tokens)",
"cacheWriteCost": "Cache Write Cost ($/M tokens)",
"cacheCostHint": "Cache costs are used to calculate Prompt Caching costs. Leave empty if not using caching.",
"modelsHint": "Configure the models supported by this provider. Model ID is used for API calls, Display Name for the interface."
},
"providerPreset": {
"label": "Provider Preset",
"custom": "Custom Configuration",
@@ -868,7 +979,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
}
},
"userLevelPath": "User-level MCP path",
@@ -1041,6 +1153,74 @@
"deleteMessage": "Are you sure you want to delete prompt \"{{name}}\"?"
}
},
"workspace": {
"title": "Workspace Files",
"manage": "Workspace",
"files": {
"agents": "Agent instructions and rules",
"soul": "Agent personality and communication style",
"user": "User profile and preferences",
"identity": "Agent name and avatar",
"tools": "Local tool documentation",
"memory": "Long-term memory and decisions",
"heartbeat": "Heartbeat run checklist",
"bootstrap": "First-run bootstrap ritual",
"boot": "Gateway reboot checklist"
},
"editing": "Edit {{filename}}",
"saveSuccess": "Saved successfully",
"saveFailed": "Failed to save",
"loadFailed": "Failed to load"
},
"openclaw": {
"env": {
"title": "Environment Variables",
"description": "Manage environment variables in openclaw.json (API keys, custom variables, etc.)",
"keyPlaceholder": "Variable name",
"valuePlaceholder": "Value",
"add": "Add Variable",
"saveSuccess": "Environment variables saved",
"saveFailed": "Failed to save environment variables",
"loadFailed": "Failed to load environment variables",
"duplicateKey": "Duplicate variable name detected: {{key}}"
},
"tools": {
"title": "Tool Permissions",
"description": "Manage tool permissions in openclaw.json (allow/deny lists)",
"profile": "Permission Profile",
"profiles": {
"default": "Default",
"strict": "Strict",
"permissive": "Permissive",
"custom": "Custom"
},
"allowList": "Allow List",
"denyList": "Deny List",
"patternPlaceholder": "Tool name or pattern",
"addAllow": "Add Allow",
"addDeny": "Add Deny",
"saveSuccess": "Tool permissions saved",
"saveFailed": "Failed to save tool permissions",
"loadFailed": "Failed to load tool permissions"
},
"agents": {
"title": "Agents Config",
"description": "Manage agents.defaults in openclaw.json (default model, runtime parameters, etc.)",
"modelSection": "Model Configuration",
"primaryModel": "Primary Model",
"primaryModelHint": "Format: provider/model-id",
"fallbackModels": "Fallback Models",
"fallbackModelsHint": "Comma-separated, ordered by priority",
"runtimeSection": "Runtime Parameters",
"workspace": "Workspace Path",
"timeout": "Timeout (seconds)",
"contextTokens": "Context Tokens",
"maxConcurrent": "Max Concurrent",
"saveSuccess": "Agents config saved",
"saveFailed": "Failed to save agents config",
"loadFailed": "Failed to load agents config"
}
},
"env": {
"warning": {
"title": "Environment Variable Conflicts Detected",
@@ -1183,7 +1363,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
},
"installFromZip": {
"button": "Install from ZIP",
@@ -1590,16 +1771,21 @@
"clearWrapped": "(Clear)",
"defaultWrapped": "(Default)",
"variantPlaceholder": "variant",
"selectEnabledModel": "Select enabled model",
"selectEnabledModel": "Select configured model",
"selectModel": "Select configured model",
"recommendedHint": "Recommended: {{model}}",
"searchModel": "Search model...",
"selectModelFirst": "Select model first",
"noEnabledModels": "No enabled models",
"noEnabledModels": "No configured models",
"noVariantsForModel": "No variants for model",
"currentValueNotEnabled": "{{value}} (current value, not enabled)",
"currentValueNotEnabled": "{{value}} (current value, not configured)",
"currentValueUnavailable": "{{value}} (current value, unavailable)",
"advancedLabel": "Advanced",
"advancedJsonInvalid": "Advanced JSON is invalid",
"advancedJsonHint": "temperature, top_p, budgetTokens, prompt_append, permission, etc. Leave empty for defaults",
"noEnabledModelsWarning": "No enabled models available. Configure and enable OpenCode models first.",
"noEnabledModelsWarning": "No configured models available. Configure OpenCode models first.",
"modelSourcePartialWarning": "Some provider model configs are invalid and were skipped.",
"modelSourceFallbackWarning": "Failed to load live provider state. Falling back to configured providers.",
"importLocalReplaceSuccess": "Imported local file and replaced Agents/Categories/Other Fields",
"importLocalFailed": "Failed to read local file: {{error}}",
"agentKeyPlaceholder": "agent key",
@@ -1610,7 +1796,7 @@
"modelConfiguration": "Model Configuration",
"fillRecommended": "Fill Recommended",
"configSummary": "{{agents}} agents, {{categories}} categories configured · Click ⚙ for advanced params",
"enabledModelsCount": "{{count}} enabled models available",
"enabledModelsCount": "{{count}} configured models available",
"source": "from:",
"otherFieldsJson": "Other Fields (JSON)",
"searchOrType": "Search or type custom value...",
@@ -1636,6 +1822,81 @@
"advancedExperimental": "Experimental Features",
"advancedBackgroundTask": "Background Tasks",
"advancedBrowserAutomation": "Browser Automation",
"advancedClaudeCode": "Claude Code"
"advancedClaudeCode": "Claude Code",
"agentDesc": {
"sisyphus": "Main orchestrator",
"hephaestus": "Autonomous deep worker",
"prometheus": "Strategic planner",
"atlas": "Task manager",
"oracle": "Strategic advisor",
"librarian": "Multi-repo researcher",
"explore": "Fast code search",
"multimodalLooker": "Media analyzer",
"metis": "Pre-plan analysis advisor",
"momus": "Plan reviewer",
"sisyphusJunior": "Delegated task executor"
},
"agentTooltip": {
"sisyphus": "Main orchestrator responsible for task planning, delegation and parallel execution. Uses extended thinking (32k budget) and drives workflows through TODO lists to ensure task completion.",
"atlas": "Main orchestrator (holds TODO list) responsible for task distribution and coordination during execution phase. Delegates to specialized agents rather than completing all work directly.",
"prometheus": "Strategic planner that collects requirements through interview mode and creates detailed work plans. Can only read/write Markdown files in .sisyphus/ directory, never writes code directly.",
"hephaestus": "Autonomous deep worker (\"legitimate craftsman\") inspired by AmpCode deep mode. Goal-oriented execution that launches 2-5 explore/librarian agents in parallel for research before taking action.",
"oracle": "Architecture decision and debugging advisor. Read-only consulting agent providing excellent logical reasoning and deep analysis. Cannot write files or delegate tasks.",
"librarian": "Multi-repository analysis and documentation retrieval expert. Deeply understands codebases and provides evidence-based answers. Excels at finding official documentation and open-source implementation examples.",
"explore": "Fast codebase exploration and context grep expert. Uses lightweight models for high-speed search. The scout for understanding code structure.",
"multimodalLooker": "Visual content expert that analyzes PDFs, images, charts and other non-text media, extracting information and insights from them.",
"metis": "Plan consultant that performs pre-analysis before planning. Identifies hidden intents, ambiguities and AI failure points to prevent over-engineering.",
"momus": "Plan reviewer that validates plan clarity, verifiability and completeness with high precision. Rejects and requests revisions until plans are perfect.",
"sisyphusJunior": "Category-generated executor, automatically created via category parameters. Focuses on executing assigned tasks and cannot re-delegate, preventing infinite delegation loops."
},
"categoryDesc": {
"visualEngineering": "Visual/frontend engineering",
"ultrabrain": "Ultra thinking",
"deep": "Deep work",
"artistry": "Creative/artistic",
"quick": "Quick response",
"unspecifiedLow": "General low tier",
"unspecifiedHigh": "General high tier",
"writing": "Writing"
},
"categoryTooltip": {
"visualEngineering": "Frontend and visual engineering category for UI/UX design, styling, animation and interface implementation. Defaults to Gemini 3 Pro model.",
"ultrabrain": "Deep logical reasoning category for complex architectural decisions requiring extensive analysis. Defaults to GPT-5.3 Codex ultra-high reasoning variant.",
"deep": "Deep autonomous problem-solving category with goal-oriented execution. Conducts thorough research before action, suitable for difficult problems requiring deep understanding.",
"artistry": "Highly creative and artistic task category that inspires novel ideas and creative solutions. Defaults to Gemini 3 Pro max variant.",
"quick": "Lightweight task category for single-file modifications, typo fixes, and simple adjustments. Defaults to Claude Haiku 4.5 fast model.",
"unspecifiedLow": "Uncategorized low-effort task category for tasks that don't fit other categories with small workload. Defaults to Claude Sonnet 4.5.",
"unspecifiedHigh": "Uncategorized high-effort task category for tasks that don't fit other categories with large workload. Defaults to Claude Opus 4.6 max variant.",
"writing": "Writing category for documentation, prose and technical writing. Defaults to Gemini 3 Flash fast generation model."
}
},
"openclawConfig": {
"defaultModel": {
"title": "Default Model",
"description": "Configure the default primary model and fallback models for OpenClaw",
"primary": "Primary Model",
"primaryPlaceholder": "e.g., deepseek/deepseek-chat",
"fallbacks": "Fallback Models",
"fallbacksPlaceholder": "e.g., openrouter/anthropic/claude-sonnet-4.5",
"addFallback": "Add Fallback Model",
"saved": "Default model configuration saved",
"saveFailed": "Failed to save default model"
},
"modelCatalog": {
"title": "Model Catalog",
"description": "Configure model aliases and allowlist",
"modelId": "Model ID",
"modelIdPlaceholder": "e.g., deepseek/deepseek-chat",
"alias": "Alias",
"aliasPlaceholder": "e.g., DeepSeek",
"addEntry": "Add Model",
"removeEntry": "Remove",
"saved": "Model catalog saved",
"saveFailed": "Failed to save model catalog",
"empty": "No model catalog entries",
"emptyHint": "Add models to the catalog to configure aliases"
},
"suggestedDefaults": "Apply Suggested Defaults",
"suggestedDefaultsHint": "Use this preset's recommended default model configuration"
}
}
+273 -12
View File
@@ -88,6 +88,8 @@
"addOpenCodeProvider": "OpenCode プロバイダーを追加",
"addToConfig": "追加",
"removeFromConfig": "削除",
"setAsDefault": "有効化",
"isDefault": "デフォルト",
"inConfig": "追加済み",
"addProviderHint": "一覧にすばやく切り替えられるよう、ここに情報を入力してください。",
"editClaudeProvider": "Claude Code プロバイダーを編集",
@@ -170,7 +172,11 @@
"urlMismatchWarningOnDisable": "現在のプロバイダーのリクエスト URL 設定はプロキシに依存している可能性があります。プロキシを無効にすると正常に動作しない可能性があります。ベース URL 設定に変更するか、プロキシを有効のままにすることをお勧めします。",
"switchAppliedUnverified": "切り替えを適用しました(直接接続は未検証)",
"switchAppliedUnverifiedDesc": "このエンドポイントがプロキシを必要とするか検証できませんでした。切り替え後に動作しない場合は、プロキシを有効にして現在のアプリをテイクオーバーしてください。",
"openLinkFailed": "リンクを開けませんでした"
"openLinkFailed": "リンクを開けませんでした",
"openclawModelsRegistered": "モデルが /model リストに登録されました",
"openclawDefaultModelSet": "デフォルトモデルに設定しました",
"openclawDefaultModelSetFailed": "デフォルトモデルの設定に失敗しました",
"openclawNoModels": "モデルが設定されていません"
},
"confirm": {
"deleteProvider": "プロバイダーを削除",
@@ -222,7 +228,9 @@
"requestGroup": "リクエスト整流",
"responseGroup": "レスポンス整流",
"thinkingSignature": "Thinking 署名整流",
"thinkingSignatureDescription": "Claude API の thinking 署名検証エラーを自動修正"
"thinkingSignatureDescription": "Anthropic タイプのプロバイダーが thinking 署名の非互換性や不正なリクエストエラーを返した場合、互換性のない thinking 関連ブロックを自動削除し、同じプロバイダーで 1 回リトライします",
"thinkingBudget": "Thinking Budget 整流",
"thinkingBudgetDescription": "Anthropic タイプのプロバイダーが budget_tokens 制約エラー(例: 1024 以上)を返した場合、thinking を enabled に正規化し、thinking 予算を 32000 に設定し、必要に応じて max_tokens を 64000 に引き上げて 1 回リトライします"
},
"logConfig": {
"title": "ログ管理",
@@ -272,6 +280,77 @@
"selectFileFailed": "有効な SQL バックアップファイルを選択してください",
"configCorrupted": "SQL ファイルが壊れているか形式が無効な可能性があります",
"backupId": "バックアップ ID",
"webdavSync": {
"title": "WebDAV クラウド同期",
"description": "WebDAV を使ってデバイス間でデータベースとスキル設定を同期します。",
"baseUrl": "WebDAV サーバー URL",
"baseUrlPlaceholder": "https://example.com/remote.php/dav/files/user",
"username": "ユーザー名",
"usernamePlaceholder": "メールアドレスまたはユーザー名",
"password": "パスワード",
"passwordPlaceholder": "アプリパスワード",
"remoteRoot": "リモートルートディレクトリ",
"profile": "同期プロファイル名",
"test": "接続テスト",
"testing": "テスト中...",
"testSuccess": "接続成功",
"testFailed": "接続失敗:{{error}}",
"save": "設定を保存",
"saving": "保存中...",
"saveFailed": "設定の保存に失敗しました:{{error}}",
"upload": "クラウドにアップロード",
"uploading": "アップロード中...",
"uploadSuccess": "WebDAV にアップロードしました",
"uploadFailed": "アップロードに失敗しました:{{error}}",
"download": "クラウドからダウンロード",
"downloading": "ダウンロード中...",
"downloadSuccess": "WebDAV からダウンロード・復元しました",
"downloadFailed": "ダウンロードに失敗しました:{{error}}",
"lastSync": "前回の同期:{{time}}",
"missingUrl": "WebDAV サーバー URL を入力してください",
"presets": {
"label": "サービス",
"jianguoyun": "坚果云",
"jianguoyunHint": "坚果云の「セキュリティ設定」で「サードパーティアプリパスワード」を生成してください。ログインパスワードは使用しないでください。",
"nextcloud": "Nextcloud",
"nextcloudHint": "your-server を Nextcloud サーバーのアドレスに、USERNAME をユーザー名に置き換えてください。",
"synology": "Synology NAS",
"synologyHint": "Synology の「パッケージセンター」で WebDAV Server パッケージをインストール・有効化してください。",
"custom": "カスタム"
},
"remoteRootDefault": "デフォルト: cc-switch-sync",
"profileDefault": "デフォルト: default",
"saveAndTestSuccess": "設定を保存しました。接続正常です",
"saveAndTestFailed": "設定を保存しましたが、接続テストに失敗しました:{{error}}",
"noRemoteData": "クラウドに同期データが見つかりません",
"incompatibleVersion": "リモートデータのバージョンに互換性がありません(v{{version}})。現在 v2 をサポートしています",
"unsaved": "未保存",
"saved": "保存済み",
"unsavedChanges": "先に設定を保存してください",
"saveBeforeSync": "アップロード/ダウンロードを有効にするには、先に設定を保存してください。",
"fetchingRemote": "リモート情報を取得中...",
"fetchRemoteFailed": "リモート情報の取得に失敗しました。設定とネットワークを確認してください。",
"confirmDownload": {
"title": "クラウドから復元",
"deviceName": "アップロード元",
"createdAt": "アップロード日時",
"artifacts": "内容",
"warning": "ローカルのすべてのデータとスキル設定が上書きされます",
"confirm": "復元を実行"
},
"confirmUpload": {
"title": "クラウドにアップロード",
"content": "以下の内容を WebDAV サーバーに同期します:",
"dbItem": "データベース(すべてのプロバイダー設定とデータ)",
"skillsItem": "スキル(すべてのカスタムスキル)",
"targetPath": "保存先パス",
"existingData": "クラウドの既存データ",
"deviceName": "アップロード元",
"createdAt": "アップロード日時",
"warning": "リモートの既存同期データが上書きされます",
"confirm": "アップロードを実行"
}
},
"autoReload": "データを更新しました",
"languageOptionChinese": "中文",
"languageOptionEnglish": "English",
@@ -413,7 +492,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
},
"sessionManager": {
"title": "セッション管理",
@@ -496,7 +576,6 @@
"officialHint": "💡 公式プロバイダーはブラウザログインで、API Key は不要です",
"getApiKey": "API Key を取得",
"partnerPromotion": {
"zhipu": "Zhipu GLM は CC Switch の公式パートナーです。リンク経由でチャージすると 10% 割引",
"packycode": "PackyCode は CC Switch の公式パートナーです。登録後チャージ時に \"cc-switch\" を入力すると 10% オフ",
"minimax_cn": "MiniMax Coding Plan 特別価格、Starter ¥9.9 から",
"minimax_en": "MiniMax Coding Plan Black Friday、Starter が月額 $280% OFF",
@@ -673,6 +752,38 @@
"modelOptionKeyPlaceholder": "provider",
"modelOptionValuePlaceholder": "{\"order\": [\"baseten\"]}"
},
"openclaw": {
"providerKey": "プロバイダーキー",
"providerKeyPlaceholder": "my-provider",
"providerKeyHint": "設定ファイル内のユニーク識別子。作成後は変更できません。小文字、数字、ハイフンのみ使用可能。",
"providerKeyRequired": "プロバイダーキーを入力してください",
"providerKeyDuplicate": "このキーは既に使用されています",
"providerKeyInvalid": "無効な形式です。小文字、数字、ハイフンのみ使用可能。",
"apiProtocol": "API プロトコル",
"selectProtocol": "API プロトコルを選択",
"apiProtocolHint": "プロバイダーの API と互換性のあるプロトコルタイプを選択してください。ほとんどのプロバイダーは OpenAI Completions 形式を使用します。",
"baseUrl": "API エンドポイント",
"baseUrlHint": "プロバイダーの API エンドポイントアドレス。",
"models": "モデル一覧",
"addModel": "モデルを追加",
"noModels": "モデルが設定されていません。「モデルを追加」をクリックして利用可能なモデルを設定してください。",
"modelId": "モデル ID",
"modelIdPlaceholder": "claude-3-sonnet",
"modelName": "表示名",
"modelNamePlaceholder": "Claude 3 Sonnet",
"contextWindow": "コンテキストウィンドウ",
"maxTokens": "最大出力トークン数",
"reasoning": "推論モード",
"reasoningOn": "有効",
"reasoningOff": "無効",
"inputCost": "入力コスト ($/M トークン)",
"outputCost": "出力コスト ($/M トークン)",
"advancedOptions": "詳細オプション",
"cacheReadCost": "キャッシュ読取コスト ($/M トークン)",
"cacheWriteCost": "キャッシュ書込コスト ($/M トークン)",
"cacheCostHint": "キャッシュコストは Prompt Caching のコスト計算に使用されます。キャッシュを使用しない場合は空欄のままにしてください。",
"modelsHint": "このプロバイダーがサポートするモデルを設定します。モデル ID は API 呼び出しに、表示名はインターフェースに使用されます。"
},
"providerPreset": {
"label": "プロバイダータイプ",
"custom": "カスタム設定",
@@ -868,7 +979,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
}
},
"userLevelPath": "ユーザーレベルの MCP パス",
@@ -1041,6 +1153,74 @@
"deleteMessage": "プロンプト「{{name}}」を削除してもよろしいですか?"
}
},
"workspace": {
"title": "ワークスペースファイル",
"manage": "ワークスペース",
"files": {
"agents": "エージェントの操作指示とルール",
"soul": "エージェントの人格とコミュニケーションスタイル",
"user": "ユーザープロファイルと設定",
"identity": "エージェントの名前とアバター",
"tools": "ローカルツールドキュメント",
"memory": "長期記憶と意思決定記録",
"heartbeat": "ハートビート実行チェックリスト",
"bootstrap": "初回実行ブートストラップ",
"boot": "ゲートウェイ再起動チェックリスト"
},
"editing": "{{filename}} を編集",
"saveSuccess": "保存しました",
"saveFailed": "保存に失敗しました",
"loadFailed": "読み込みに失敗しました"
},
"openclaw": {
"env": {
"title": "環境変数",
"description": "openclaw.json の環境変数設定を管理(APIキー、カスタム変数など)",
"keyPlaceholder": "変数名",
"valuePlaceholder": "値",
"add": "変数を追加",
"saveSuccess": "環境変数を保存しました",
"saveFailed": "環境変数の保存に失敗しました",
"loadFailed": "環境変数の読み込みに失敗しました",
"duplicateKey": "重複する変数名が検出されました: {{key}}"
},
"tools": {
"title": "ツール権限",
"description": "openclaw.json のツール権限設定を管理(許可/拒否リスト)",
"profile": "権限プロファイル",
"profiles": {
"default": "デフォルト",
"strict": "厳格",
"permissive": "寛容",
"custom": "カスタム"
},
"allowList": "許可リスト",
"denyList": "拒否リスト",
"patternPlaceholder": "ツール名またはパターン",
"addAllow": "許可を追加",
"addDeny": "拒否を追加",
"saveSuccess": "ツール権限を保存しました",
"saveFailed": "ツール権限の保存に失敗しました",
"loadFailed": "ツール権限の読み込みに失敗しました"
},
"agents": {
"title": "Agents 設定",
"description": "openclaw.json の agents.defaults 設定を管理(デフォルトモデル、ランタイムパラメータなど)",
"modelSection": "モデル設定",
"primaryModel": "プライマリモデル",
"primaryModelHint": "形式: provider/model-id",
"fallbackModels": "フォールバックモデル",
"fallbackModelsHint": "カンマ区切り、優先度順",
"runtimeSection": "ランタイムパラメータ",
"workspace": "ワークスペースパス",
"timeout": "タイムアウト(秒)",
"contextTokens": "コンテキストトークン数",
"maxConcurrent": "最大同時実行数",
"saveSuccess": "Agents 設定を保存しました",
"saveFailed": "Agents 設定の保存に失敗しました",
"loadFailed": "Agents 設定の読み込みに失敗しました"
}
},
"env": {
"warning": {
"title": "競合する環境変数を検出しました",
@@ -1181,7 +1361,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
},
"installFromZip": {
"button": "ZIP からインストール",
@@ -1571,16 +1752,21 @@
"clearWrapped": "(クリア)",
"defaultWrapped": "(デフォルト)",
"variantPlaceholder": "variant",
"selectEnabledModel": "有効なモデルを選択",
"selectEnabledModel": "設定済みモデルを選択",
"selectModel": "設定済みモデルを選択",
"recommendedHint": "推奨: {{model}}",
"searchModel": "モデルを検索...",
"selectModelFirst": "先にモデルを選択",
"noEnabledModels": "有効なモデルがありません",
"noEnabledModels": "設定済みモデルがありません",
"noVariantsForModel": "このモデルには思考レベルがありません",
"currentValueNotEnabled": "{{value}} (現在値・未有効)",
"currentValueNotEnabled": "{{value}} (現在値・未設定)",
"currentValueUnavailable": "{{value}} (現在値・利用不可)",
"advancedLabel": "詳細",
"advancedJsonInvalid": "詳細 JSON が不正です",
"advancedJsonHint": "temperature, top_p, budgetTokens, prompt_append, permission など。空欄でデフォルトを使用します",
"noEnabledModelsWarning": "利用可能な有効モデルがありません。先に OpenCode モデルを有効化してください。",
"noEnabledModelsWarning": "利用可能な設定済みモデルがありません。先に OpenCode モデルを設定してください。",
"modelSourcePartialWarning": "一部プロバイダーのモデル設定が不正なため、候補から除外しました。",
"modelSourceFallbackWarning": "live プロバイダー状態の取得に失敗したため、設定済みプロバイダーへフォールバックしました。",
"importLocalReplaceSuccess": "ローカルファイルから読み込み、Agents/Categories/Other Fields を置き換えました",
"importLocalFailed": "ローカルファイルの読み込みに失敗しました: {{error}}",
"agentKeyPlaceholder": "agent キー",
@@ -1591,7 +1777,7 @@
"modelConfiguration": "モデル設定",
"fillRecommended": "推奨を入力",
"configSummary": "{{agents}} 個の Agent、{{categories}} 個の Category を設定済み · ⚙ で詳細を展開",
"enabledModelsCount": "有効モデル {{count}} 件",
"enabledModelsCount": "設定済みモデル {{count}} 件",
"source": "出典:",
"otherFieldsJson": "その他のフィールド (JSON)",
"searchOrType": "検索またはカスタム値を入力...",
@@ -1617,6 +1803,81 @@
"advancedExperimental": "実験的機能",
"advancedBackgroundTask": "バックグラウンドタスク",
"advancedBrowserAutomation": "ブラウザ自動化",
"advancedClaudeCode": "Claude Code"
"advancedClaudeCode": "Claude Code",
"agentDesc": {
"sisyphus": "メインオーケストレーター",
"hephaestus": "自律型ディープワーカー",
"prometheus": "戦略プランナー",
"atlas": "タスクマネージャー",
"oracle": "戦略アドバイザー",
"librarian": "マルチリポジトリ研究員",
"explore": "高速コード検索",
"multimodalLooker": "メディアアナライザー",
"metis": "計画前分析アドバイザー",
"momus": "プランレビュアー",
"sisyphusJunior": "委任タスクエグゼキューター"
},
"agentTooltip": {
"sisyphus": "メインオーケストレーター。タスクの計画、委任、並列実行を担当。拡張思考(32k バジェット)を使用し、TODO リストでワークフローを駆動してタスク完了を確保します。",
"atlas": "メインオーケストレーター(TODO リスト保持)。実行フェーズでのタスク配分と調整を担当。すべての作業を直接行うのではなく、専門エージェントに委任します。",
"prometheus": "戦略プランナー。インタビューモードで要件を収集し、詳細な作業計画を策定。.sisyphus/ ディレクトリ内の Markdown ファイルの読み書きのみ可能で、直接コードを書くことはありません。",
"hephaestus": "自律型ディープワーカー(「正当な職人」)。AmpCode ディープモードに着想を得た目標指向の実行を行い、行動前に 2-5 個の探索/ライブラリアンエージェントを並列起動して調査します。",
"oracle": "アーキテクチャ決定とデバッグのアドバイザー。読み取り専用のコンサルティングエージェントで、優れた論理的推論と深い分析を提供。ファイルの書き込みやタスクの委任はできません。",
"librarian": "マルチリポジトリ分析とドキュメント検索の専門家。コードベースを深く理解し、エビデンスに基づく回答を提供。公式ドキュメントやオープンソース実装例の検索に長けています。",
"explore": "高速コードベース探索とコンテキスト grep の専門家。軽量モデルを使用した高速検索で、コード構造を理解するための先鋒です。",
"multimodalLooker": "ビジュアルコンテンツの専門家。PDF、画像、グラフなどの非テキストメディアを分析し、情報とインサイトを抽出します。",
"metis": "プランコンサルタント。計画前に事前分析を行い、隠れた意図、曖昧な点、AI の失敗ポイントを特定して、過剰エンジニアリングを防止します。",
"momus": "プランレビュアー。計画の明確さ、検証可能性、完全性を高精度で検証。計画が完璧になるまで却下と修正を要求します。",
"sisyphusJunior": "カテゴリ生成のエグゼキューター。category パラメータにより自動生成され、割り当てられたタスクの実行に専念し、再委任はできません。無限委任ループを防止します。"
},
"categoryDesc": {
"visualEngineering": "ビジュアル/フロントエンド工学",
"ultrabrain": "超深度思考",
"deep": "ディープワーク",
"artistry": "クリエイティブ/芸術",
"quick": "クイックレスポンス",
"unspecifiedLow": "汎用ロースペック",
"unspecifiedHigh": "汎用ハイスペック",
"writing": "ライティング"
},
"categoryTooltip": {
"visualEngineering": "フロントエンドとビジュアルエンジニアリングカテゴリ。UI/UX デザイン、スタイリング、アニメーション、インターフェース実装に特化。デフォルトで Gemini 3 Pro モデルを使用。",
"ultrabrain": "ディープロジック推論カテゴリ。広範な分析が必要な複雑なアーキテクチャ決定に使用。デフォルトで GPT-5.3 Codex の超高推論バリアントを使用。",
"deep": "ディープ自律問題解決カテゴリ。目標指向の実行で、行動前に徹底的な調査を実施。深い理解が必要な難問に適しています。",
"artistry": "高度にクリエイティブで芸術的なタスクカテゴリ。斬新なアイデアとクリエイティブなソリューションを促進。デフォルトで Gemini 3 Pro の max バリアントを使用。",
"quick": "軽量タスクカテゴリ。単一ファイルの修正、タイポ修正、簡単な調整などの些細な作業に使用。デフォルトで Claude Haiku 4.5 高速モデルを使用。",
"unspecifiedLow": "未分類の低作業量タスクカテゴリ。他のカテゴリに該当せず作業量が小さいタスクに適用。デフォルトで Claude Sonnet 4.5 を使用。",
"unspecifiedHigh": "未分類の高作業量タスクカテゴリ。他のカテゴリに該当せず作業量が大きいタスクに適用。デフォルトで Claude Opus 4.6 の max バリアントを使用。",
"writing": "ライティングカテゴリ。ドキュメント、散文、技術文書に特化。デフォルトで Gemini 3 Flash 高速生成モデルを使用。"
}
},
"openclawConfig": {
"defaultModel": {
"title": "デフォルトモデル",
"description": "OpenClaw のデフォルトのプライマリモデルとフォールバックモデルを設定します",
"primary": "プライマリモデル",
"primaryPlaceholder": "例: deepseek/deepseek-chat",
"fallbacks": "フォールバックモデル",
"fallbacksPlaceholder": "例: openrouter/anthropic/claude-sonnet-4.5",
"addFallback": "フォールバックモデルを追加",
"saved": "デフォルトモデル設定を保存しました",
"saveFailed": "デフォルトモデルの保存に失敗しました"
},
"modelCatalog": {
"title": "モデルカタログ",
"description": "モデルのエイリアスと許可リストを設定します",
"modelId": "モデル ID",
"modelIdPlaceholder": "例: deepseek/deepseek-chat",
"alias": "エイリアス",
"aliasPlaceholder": "例: DeepSeek",
"addEntry": "モデルを追加",
"removeEntry": "削除",
"saved": "モデルカタログを保存しました",
"saveFailed": "モデルカタログの保存に失敗しました",
"empty": "モデルカタログエントリがありません",
"emptyHint": "エイリアスを設定するにはカタログにモデルを追加してください"
},
"suggestedDefaults": "推奨デフォルト設定を適用",
"suggestedDefaultsHint": "このプリセットの推奨デフォルトモデル設定を使用します"
}
}
+274 -13
View File
@@ -88,6 +88,8 @@
"addOpenCodeProvider": "添加 OpenCode 供应商",
"addToConfig": "添加",
"removeFromConfig": "移除",
"setAsDefault": "启用",
"isDefault": "默认",
"inConfig": "已添加",
"addProviderHint": "填写信息后即可在列表中快速切换供应商。",
"editClaudeProvider": "编辑 Claude Code 供应商",
@@ -170,7 +172,11 @@
"urlMismatchWarningOnDisable": "当前供应商的请求地址配置可能依赖代理模式,关闭代理后可能无法正常工作。建议更换为基础地址配置或保持代理开启。",
"switchAppliedUnverified": "切换已应用(未验证直连兼容性)",
"switchAppliedUnverifiedDesc": "未能验证该端点是否需要代理。如果切换后无法正常使用,请开启代理并接管当前应用。",
"openLinkFailed": "链接打开失败"
"openLinkFailed": "链接打开失败",
"openclawModelsRegistered": "模型已注册到 /model 列表",
"openclawDefaultModelSet": "已设为默认模型",
"openclawDefaultModelSetFailed": "设置默认模型失败",
"openclawNoModels": "该供应商没有配置模型"
},
"confirm": {
"deleteProvider": "删除供应商",
@@ -222,7 +228,9 @@
"requestGroup": "请求整流",
"responseGroup": "响应整流",
"thinkingSignature": "Thinking 签名整流",
"thinkingSignatureDescription": "自动修复 Claude API 中因 thinking 签名校验失败导致的请求错误"
"thinkingSignatureDescription": "当 Anthropic 类型供应商返回 thinking 签名不兼容或非法请求错误时,自动移除不兼容的 thinking 相关块并对同一供应商重试一次",
"thinkingBudget": "Thinking Budget 整流",
"thinkingBudgetDescription": "当 Anthropic 类型供应商返回 budget_tokens 约束错误(如至少 1024)时,自动将 thinking 规范为 enabled 并将 budget 设为 32000,同时在需要时将 max_tokens 设为 64000,然后重试一次"
},
"logConfig": {
"title": "日志管理",
@@ -272,6 +280,77 @@
"selectFileFailed": "请选择有效的 SQL 备份文件",
"configCorrupted": "SQL 文件可能已损坏或格式不正确",
"backupId": "备份ID",
"webdavSync": {
"title": "WebDAV 云同步",
"description": "通过 WebDAV 在多设备间同步数据库和技能配置。",
"baseUrl": "WebDAV 服务器地址",
"baseUrlPlaceholder": "https://dav.jianguoyun.com/dav/",
"username": "WebDAV 账户",
"usernamePlaceholder": "邮箱账号",
"password": "WebDAV 密码",
"passwordPlaceholder": "应用密码(坚果云请使用「第三方应用密码」)",
"remoteRoot": "远程根目录",
"profile": "同步配置名",
"test": "测试连接",
"testing": "测试中...",
"testSuccess": "连接成功",
"testFailed": "连接失败:{{error}}",
"save": "保存配置",
"saving": "保存中...",
"saveFailed": "保存配置失败:{{error}}",
"upload": "上传到云端",
"uploading": "上传中...",
"uploadSuccess": "已上传到 WebDAV",
"uploadFailed": "上传失败:{{error}}",
"download": "从云端下载",
"downloading": "下载中...",
"downloadSuccess": "已从 WebDAV 下载并恢复",
"downloadFailed": "下载失败:{{error}}",
"lastSync": "上次同步:{{time}}",
"missingUrl": "请填写 WebDAV 服务器地址",
"presets": {
"label": "服务商",
"jianguoyun": "坚果云",
"jianguoyunHint": "请在坚果云「安全选项」中生成「第三方应用密码」,不要使用登录密码。",
"nextcloud": "Nextcloud",
"nextcloudHint": "请将 your-server 替换为你的 Nextcloud 服务器地址,USERNAME 替换为你的用户名。",
"synology": "群晖 NAS",
"synologyHint": "请先在群晖「套件中心」安装并启用 WebDAV Server 套件。",
"custom": "自定义"
},
"remoteRootDefault": "默认: cc-switch-sync",
"profileDefault": "默认: default",
"saveAndTestSuccess": "配置已保存,连接正常",
"saveAndTestFailed": "配置已保存,但连接测试失败:{{error}}",
"noRemoteData": "云端没有找到同步数据",
"incompatibleVersion": "远端数据版本不兼容(v{{version}}),当前支持 v2",
"unsaved": "未保存",
"saved": "已保存",
"unsavedChanges": "请先保存配置",
"saveBeforeSync": "请先保存配置,再使用上传/下载。",
"fetchingRemote": "获取远端信息...",
"fetchRemoteFailed": "获取远端信息失败,请检查配置和网络后重试。",
"confirmDownload": {
"title": "从云端恢复",
"deviceName": "上传设备",
"createdAt": "上传时间",
"artifacts": "包含内容",
"warning": "恢复将覆盖本地所有数据和技能配置",
"confirm": "确认恢复"
},
"confirmUpload": {
"title": "上传到云端",
"content": "将同步以下内容到 WebDAV 服务器:",
"dbItem": "数据库(所有 Provider 配置和数据)",
"skillsItem": "技能包(所有自定义技能)",
"targetPath": "目标路径",
"existingData": "云端已有数据",
"deviceName": "上传设备",
"createdAt": "上传时间",
"warning": "将覆盖云端已有的同步数据",
"confirm": "确认上传"
}
},
"autoReload": "数据已刷新",
"languageOptionChinese": "中文",
"languageOptionEnglish": "English",
@@ -413,7 +492,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
},
"sessionManager": {
"title": "会话管理",
@@ -496,7 +576,6 @@
"officialHint": "💡 官方供应商使用浏览器登录,无需配置 API Key",
"getApiKey": "获取 API Key",
"partnerPromotion": {
"zhipu": "智谱 GLM 是 CC Switch 的官方合作伙伴,使用此链接充值可以获得9折优惠",
"packycode": "PackyCode 是 CC Switch 的官方合作伙伴,使用此链接注册并在充值时填写 \"cc-switch\" 优惠码,可以享受9折优惠",
"minimax_cn": "MiniMax Coding Plan 特惠,Starter 套餐 9.9 元起",
"minimax_en": "MiniMax Coding Plan 黑五特惠,Starter 套餐现仅 $2/月(2折优惠!)",
@@ -673,6 +752,38 @@
"modelOptionKeyPlaceholder": "provider",
"modelOptionValuePlaceholder": "{\"order\": [\"baseten\"]}"
},
"openclaw": {
"providerKey": "供应商标识",
"providerKeyPlaceholder": "my-provider",
"providerKeyHint": "配置文件中的唯一标识符,创建后无法修改,只能使用小写字母、数字和连字符",
"providerKeyRequired": "请填写供应商标识",
"providerKeyDuplicate": "此标识已被使用,请更换",
"providerKeyInvalid": "标识格式无效,只能使用小写字母、数字和连字符",
"apiProtocol": "API 协议",
"selectProtocol": "选择 API 协议",
"apiProtocolHint": "选择与供应商 API 兼容的协议类型。大多数供应商使用 OpenAI Completions 格式。",
"baseUrl": "API 端点",
"baseUrlHint": "供应商的 API 端点地址。",
"models": "模型列表",
"addModel": "添加模型",
"noModels": "暂无模型配置。点击添加模型来配置可用模型。",
"modelId": "模型 ID",
"modelIdPlaceholder": "claude-3-sonnet",
"modelName": "显示名称",
"modelNamePlaceholder": "Claude 3 Sonnet",
"contextWindow": "上下文窗口",
"maxTokens": "最大输出 Tokens",
"reasoning": "推理模式",
"reasoningOn": "启用",
"reasoningOff": "关闭",
"inputCost": "输入价格 ($/M tokens)",
"outputCost": "输出价格 ($/M tokens)",
"advancedOptions": "高级选项",
"cacheReadCost": "缓存读取价格 ($/M tokens)",
"cacheWriteCost": "缓存写入价格 ($/M tokens)",
"cacheCostHint": "缓存价格用于计算 Prompt Caching 的成本。如不使用缓存可留空。",
"modelsHint": "配置该供应商支持的模型。模型 ID 用于 API 调用,显示名称用于界面展示。"
},
"providerPreset": {
"label": "预设供应商",
"custom": "自定义配置",
@@ -868,7 +979,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
}
},
"userLevelPath": "用户级 MCP 配置路径",
@@ -1041,6 +1153,74 @@
"deleteMessage": "确定要删除提示词 \"{{name}}\" 吗?"
}
},
"workspace": {
"title": "Workspace 文件管理",
"manage": "Workspace",
"files": {
"agents": "Agent 操作指令和规则",
"soul": "Agent 人格和沟通风格",
"user": "用户档案和偏好",
"identity": "Agent 名称和头像",
"tools": "本地工具文档",
"memory": "长期记忆和决策记录",
"heartbeat": "心跳运行清单",
"bootstrap": "首次运行仪式",
"boot": "网关重启清单"
},
"editing": "编辑 {{filename}}",
"saveSuccess": "保存成功",
"saveFailed": "保存失败",
"loadFailed": "读取失败"
},
"openclaw": {
"env": {
"title": "环境变量",
"description": "管理 openclaw.json 中的环境变量配置(API Key、自定义变量等)",
"keyPlaceholder": "变量名",
"valuePlaceholder": "值",
"add": "添加变量",
"saveSuccess": "环境变量已保存",
"saveFailed": "保存环境变量失败",
"loadFailed": "读取环境变量失败",
"duplicateKey": "检测到重复的变量名: {{key}}"
},
"tools": {
"title": "工具权限",
"description": "管理 openclaw.json 中的工具权限配置(允许/拒绝列表)",
"profile": "权限模式",
"profiles": {
"default": "默认",
"strict": "严格",
"permissive": "宽松",
"custom": "自定义"
},
"allowList": "允许列表",
"denyList": "拒绝列表",
"patternPlaceholder": "工具名称或模式",
"addAllow": "添加允许",
"addDeny": "添加拒绝",
"saveSuccess": "工具权限已保存",
"saveFailed": "保存工具权限失败",
"loadFailed": "读取工具权限失败"
},
"agents": {
"title": "Agents 配置",
"description": "管理 openclaw.json 中的 agents.defaults 配置(默认模型、运行参数等)",
"modelSection": "模型配置",
"primaryModel": "主模型",
"primaryModelHint": "格式:provider/model-id",
"fallbackModels": "回退模型",
"fallbackModelsHint": "逗号分隔,按优先级排列",
"runtimeSection": "运行参数",
"workspace": "工作区路径",
"timeout": "超时时间(秒)",
"contextTokens": "上下文 Token 数",
"maxConcurrent": "最大并发数",
"saveSuccess": "Agents 配置已保存",
"saveFailed": "保存 Agents 配置失败",
"loadFailed": "读取 Agents 配置失败"
}
},
"env": {
"warning": {
"title": "检测到系统环境变量冲突",
@@ -1183,7 +1363,8 @@
"claude": "Claude",
"codex": "Codex",
"gemini": "Gemini",
"opencode": "OpenCode"
"opencode": "OpenCode",
"openclaw": "OpenClaw"
},
"installFromZip": {
"button": "从 ZIP 安装",
@@ -1590,16 +1771,21 @@
"clearWrapped": "(清空)",
"defaultWrapped": "(默认)",
"variantPlaceholder": "思考等级",
"selectEnabledModel": "选择已启用模型",
"selectEnabledModel": "选择已配置模型",
"selectModel": "选择已配置模型",
"recommendedHint": "推荐: {{model}}",
"searchModel": "搜索模型...",
"selectModelFirst": "先选择模型",
"noEnabledModels": "暂无已启用模型",
"noEnabledModels": "暂无已配置模型",
"noVariantsForModel": "该模型无思考等级",
"currentValueNotEnabled": "{{value}}(当前值,未启用",
"currentValueUnavailable": "{{value}}(当前值,未启用)",
"currentValueNotEnabled": "{{value}}(当前值,未配置",
"currentValueUnavailable": "{{value}}(当前值,不可用)",
"advancedLabel": "高级参数",
"advancedJsonInvalid": "高级参数 JSON 无效",
"advancedJsonHint": "temperature, top_p, budgetTokens, prompt_append, permission 等,留空使用默认值",
"noEnabledModelsWarning": "当前没有可用的已启用模型,请先启用并配置 OpenCode 模型",
"noEnabledModelsWarning": "当前没有可用的已配置模型,请先配置 OpenCode 模型",
"modelSourcePartialWarning": "部分供应商模型配置无效,已自动跳过。",
"modelSourceFallbackWarning": "读取 live 供应商状态失败,已回退到已配置供应商列表。",
"importLocalReplaceSuccess": "已从本地文件导入并覆盖 Agent/Category/Other Fields",
"importLocalFailed": "读取本地文件失败: {{error}}",
"agentKeyPlaceholder": "agent 键名",
@@ -1610,7 +1796,7 @@
"modelConfiguration": "模型配置",
"fillRecommended": "填充推荐",
"configSummary": "已配置 {{agents}} 个 Agent{{categories}} 个 Category · 点击 ⚙ 展开高级参数",
"enabledModelsCount": "可选已启用模型 {{count}} 个",
"enabledModelsCount": "可选已配置模型 {{count}} 个",
"source": "来源:",
"otherFieldsJson": "其他字段 (JSON)",
"searchOrType": "搜索或输入自定义值...",
@@ -1636,6 +1822,81 @@
"advancedExperimental": "实验性功能",
"advancedBackgroundTask": "后台任务",
"advancedBrowserAutomation": "浏览器自动化",
"advancedClaudeCode": "Claude Code"
"advancedClaudeCode": "Claude Code",
"agentDesc": {
"sisyphus": "主编排者",
"hephaestus": "自主深度工作者",
"prometheus": "战略规划者",
"atlas": "任务管理者",
"oracle": "战略顾问",
"librarian": "多仓库研究员",
"explore": "快速代码搜索",
"multimodalLooker": "媒体分析器",
"metis": "规划前分析顾问",
"momus": "计划审查者",
"sisyphusJunior": "委托任务执行器"
},
"agentTooltip": {
"sisyphus": "主编排器,负责任务规划、委派与并行执行,使用扩展思考(32k 预算),通过 TODO 驱动工作流确保任务完成。",
"atlas": "主编排器(持有 TODO 列表),负责执行阶段的任务分发与协调,不直接完成所有工作而是委派给专业代理。",
"prometheus": "战略规划师,通过访谈模式收集需求并制定详细工作计划,仅能在 .sisyphus/ 目录读写 Markdown 文件,从不直接写代码。",
"hephaestus": "自主深度工作者(「合法工匠」),受 AmpCode 深度模式启发,目标导向执行,行动前会并行启动 2-5 个探索/图书管理员代理进行研究。",
"oracle": "架构决策与调试顾问,只读咨询代理,提供出色的逻辑推理和深度分析,不能写文件或委派任务。",
"librarian": "多仓库分析与文档检索专家,深度理解代码库并提供基于证据的答案,擅长查找官方文档和开源实现示例。",
"explore": "快速代码库探索与上下文 grep 专家,使用轻量级模型进行高速搜索,是理解代码结构的先锋。",
"multimodalLooker": "视觉内容专家,分析 PDF、图片、图表等非文本媒体,提取其中的信息与洞察。",
"metis": "计划顾问,在规划前进行预分析,识别隐藏意图、模糊点和 AI 失败点,防止过度工程化。",
"momus": "计划评审员,高精度验证计划的清晰度、可验证性和完整性,拒绝并要求修订直到计划完美。",
"sisyphusJunior": "类别生成的执行器,由 category 参数自动生成,专注于执行分配的任务且不能再委派,防止无限委派循环。"
},
"categoryDesc": {
"visualEngineering": "视觉/前端工程",
"ultrabrain": "超级思考",
"deep": "深度工作",
"artistry": "创意/文艺",
"quick": "快速响应",
"unspecifiedLow": "通用低配",
"unspecifiedHigh": "通用高配",
"writing": "写作"
},
"categoryTooltip": {
"visualEngineering": "前端与视觉工程类别,专注于 UI/UX 设计、样式、动画和界面实现,默认使用 Gemini 3 Pro 模型。",
"ultrabrain": "深度逻辑推理类别,用于需要广泛分析的复杂架构决策,默认使用 GPT-5.3 Codex 的超高推理变体。",
"deep": "深度自主问题解决类别,目标导向执行,行动前进行彻底研究,适用于需要深度理解的棘手问题。",
"artistry": "高度创意与艺术性任务类别,激发新颖想法和创造性解决方案,默认使用 Gemini 3 Pro 的最大变体。",
"quick": "轻量任务类别,用于单文件修改、错别字修复、简单调整等琐碎工作,默认使用 Claude Haiku 4.5 快速模型。",
"unspecifiedLow": "未归类低工作量任务类别,适用于不适合其他类别且工作量较小的任务,默认使用 Claude Sonnet 4.5。",
"unspecifiedHigh": "未归类高工作量任务类别,适用于不适合其他类别且工作量较大的任务,默认使用 Claude Opus 4.6 的最大变体。",
"writing": "写作类别,专注于文档、散文和技术写作,默认使用 Gemini 3 Flash 快速生成模型。"
}
},
"openclawConfig": {
"defaultModel": {
"title": "默认模型",
"description": "配置 OpenClaw 的默认主模型和回退模型",
"primary": "主模型",
"primaryPlaceholder": "例如: deepseek/deepseek-chat",
"fallbacks": "回退模型",
"fallbacksPlaceholder": "例如: openrouter/anthropic/claude-sonnet-4.5",
"addFallback": "添加回退模型",
"saved": "默认模型配置已保存",
"saveFailed": "保存默认模型失败"
},
"modelCatalog": {
"title": "模型目录",
"description": "配置可用模型的别名和允许列表",
"modelId": "模型 ID",
"modelIdPlaceholder": "例如: deepseek/deepseek-chat",
"alias": "别名",
"aliasPlaceholder": "例如: DeepSeek",
"addEntry": "添加模型",
"removeEntry": "移除",
"saved": "模型目录已保存",
"saveFailed": "保存模型目录失败",
"empty": "暂无模型目录配置",
"emptyHint": "添加模型到目录以配置别名"
},
"suggestedDefaults": "应用建议默认配置",
"suggestedDefaultsHint": "使用此预设推荐的默认模型配置"
}
}