feat(vertex-ai): 重构 Vertex AI 为插件化 adapter,支持 service_account 认证与动态路由

将 Vertex AI 从 transport.py 的硬编码逻辑重构为独立的 plugin adapter,
支持 service_account/oauth 认证类型、模型格式自动识别、区域路由和 URL 构建。
前端新增 Key 认证类型选择和 Service Account 配置表单。

Co-authored-by: NyaDoo <[email protected]>
Closes #194
This commit is contained in:
fawney19
2026-03-01 23:32:48 +08:00
parent a137601728
commit 4bf3a453e7
42 changed files with 1855 additions and 546 deletions
@@ -239,6 +239,7 @@ import Badge from '@/components/ui/badge.vue'
import { type ProviderWithEndpointsSummary, API_FORMAT_SHORT } from '@/api/endpoints'
import { formatBillingType } from '@/utils/format'
import { sortEndpoints, isEndpointAvailable, getEndpointDotColor, getEndpointTooltip } from '@/features/providers/composables/useEndpointStatus'
import { isKeyManagedProviderType } from '../utils/providerTypeUtils'
const props = defineProps<{
provider: ProviderWithEndpointsSummary
@@ -304,7 +305,6 @@ function handleDescriptionKeydown(event: KeyboardEvent) {
}
function getCredentialLabel(provider: ProviderWithEndpointsSummary): '账号' | '密钥' {
const providerType = String(provider.provider_type || '').trim().toLowerCase()
return providerType && providerType !== 'custom' ? '账号' : '密钥'
return isKeyManagedProviderType(provider.provider_type) ? '密钥' : '账号'
}
</script>