diff --git a/frontend/src/components/account/CreateAccountModal.vue b/frontend/src/components/account/CreateAccountModal.vue index fddd7384..1e0b4afe 100644 --- a/frontend/src/components/account/CreateAccountModal.vue +++ b/frontend/src/components/account/CreateAccountModal.vue @@ -530,7 +530,7 @@ : 'https://api.anthropic.com' " /> -

{{ t('admin.accounts.baseUrlHint') }}

+

{{ baseUrlHint }}

@@ -547,13 +547,7 @@ : 'sk-ant-...' " /> -

- {{ - form.platform === 'gemini' - ? t('admin.accounts.gemini.apiKeyHint') - : t('admin.accounts.apiKeyHint') - }} -

+

{{ apiKeyHint }}

@@ -1115,6 +1109,19 @@ const oauthStepTitle = computed(() => { return t('admin.accounts.oauth.title') }) +// Platform-specific hints for API Key type +const baseUrlHint = computed(() => { + if (form.platform === 'openai') return t('admin.accounts.openai.baseUrlHint') + if (form.platform === 'gemini') return t('admin.accounts.gemini.baseUrlHint') + return t('admin.accounts.baseUrlHint') +}) + +const apiKeyHint = computed(() => { + if (form.platform === 'openai') return t('admin.accounts.openai.apiKeyHint') + if (form.platform === 'gemini') return t('admin.accounts.gemini.apiKeyHint') + return t('admin.accounts.apiKeyHint') +}) + interface Props { show: boolean proxies: Proxy[] diff --git a/frontend/src/components/account/EditAccountModal.vue b/frontend/src/components/account/EditAccountModal.vue index dc981650..75ce204d 100644 --- a/frontend/src/components/account/EditAccountModal.vue +++ b/frontend/src/components/account/EditAccountModal.vue @@ -32,7 +32,7 @@ : 'https://api.anthropic.com' " /> -

{{ t('admin.accounts.baseUrlHint') }}

+

{{ baseUrlHint }}

@@ -536,6 +536,14 @@ const emit = defineEmits<{ const { t } = useI18n() const appStore = useAppStore() +// Platform-specific hint for Base URL +const baseUrlHint = computed(() => { + if (!props.account) return t('admin.accounts.baseUrlHint') + if (props.account.platform === 'openai') return t('admin.accounts.openai.baseUrlHint') + if (props.account.platform === 'gemini') return t('admin.accounts.gemini.baseUrlHint') + return t('admin.accounts.baseUrlHint') +}) + // Model mapping type interface ModelMapping { from: string diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index 1affb8d5..e3a2ca22 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -915,6 +915,11 @@ export default { apiKeyRequired: 'API Key *', apiKeyPlaceholder: 'sk-ant-api03-...', apiKeyHint: 'Your Claude Console API Key', + // OpenAI specific hints + openai: { + baseUrlHint: 'Leave default for official OpenAI API', + apiKeyHint: 'Your OpenAI API Key' + }, modelRestriction: 'Model Restriction (Optional)', modelWhitelist: 'Model Whitelist', modelMapping: 'Model Mapping', @@ -1076,6 +1081,7 @@ export default { modelPassthrough: 'Gemini Model Passthrough', modelPassthroughDesc: 'All model requests are forwarded directly to the Gemini API without model restrictions or mappings.', + baseUrlHint: 'Leave default for official Gemini API', apiKeyHint: 'Your Gemini API Key (starts with AIza)' }, // Re-Auth Modal diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index c3a52832..7298654a 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -1054,6 +1054,11 @@ export default { apiKeyRequired: 'API Key *', apiKeyPlaceholder: 'sk-ant-api03-...', apiKeyHint: '您的 Claude Console API Key', + // OpenAI specific hints + openai: { + baseUrlHint: '留空使用官方 OpenAI API', + apiKeyHint: '您的 OpenAI API Key' + }, modelRestriction: '模型限制(可选)', modelWhitelist: '模型白名单', modelMapping: '模型映射', @@ -1197,7 +1202,8 @@ export default { gemini: { modelPassthrough: 'Gemini 直接转发模型', modelPassthroughDesc: '所有模型请求将直接转发至 Gemini API,不进行模型限制或映射。', - apiKeyHint: 'Your Gemini API Key(以 AIza 开头)' + baseUrlHint: '留空使用官方 Gemini API', + apiKeyHint: '您的 Gemini API Key(以 AIza 开头)' }, // Re-Auth Modal reAuthorizeAccount: '重新授权账号',