diff --git a/frontend/src/components/ProviderSegment.tsx b/frontend/src/components/ProviderSegment.tsx index 32228c0c..14171895 100644 --- a/frontend/src/components/ProviderSegment.tsx +++ b/frontend/src/components/ProviderSegment.tsx @@ -2,7 +2,7 @@ import { Plus } from "lucide-react"; import { useI18n } from "../i18n"; import { byProviderCreatedAt } from "../state/ranking"; -import type { ProviderId, StatusResponse } from "../types/api"; +import type { ProtocolId, ProviderId, StatusResponse } from "../types/api"; import { SelectField } from "./SelectField"; export function ProviderSegment({ @@ -10,11 +10,13 @@ export function ProviderSegment({ providers, onAdd, onChange, + protocol, }: { value: ProviderId; providers: StatusResponse["providers"]; onAdd: () => void; onChange: (value: ProviderId) => void; + protocol?: ProtocolId | ""; }) { const { t } = useI18n(); return ( @@ -28,7 +30,11 @@ export function ProviderSegment({ label={t("模型服务")} value={value} onChange={onChange} - options={byProviderCreatedAt(providers).map(([id, provider]) => ({ value: id, label: provider.name }))} + options={byProviderCreatedAt(providers).map(([id, provider]) => ({ + value: id, + label: provider.name, + disabled: Boolean(protocol) && (protocol === "anthropic" ? !provider.anthropic_base_url : !provider.base_url), + }))} />