Z ZPI 文档 v0.3.8
介绍页

源码

packages/desktop/src/renderer/ProviderApiFormatSelect.tsx

tsx32 行查看原文
// Layout and protocol labels follow ZCode ProviderApiFormatSelect (Apache-2.0).
import { type ProviderApi, providerApis } from "@zpi-dev/ai";
import { SettingsSelect } from "./SettingsSelect.tsx";

const labels: Record<ProviderApi, string> = {
  "anthropic-messages": "Anthropic Messages (/v1/messages)",
  "openai-completions": "OpenAI Chat Completions (/chat/completions)",
  "openai-responses": "OpenAI Responses (/responses)",
};
export function ProviderApiFormatSelect({
  value,
  preset,
  disabled,
  onChange,
}: {
  value: ProviderApi;
  preset?: string;
  disabled?: boolean;
  onChange: (api: ProviderApi) => void;
}) {
  return (
    <SettingsSelect
      id="provider-api-format"
      label="API 格式"
      value={value}
      options={providerApis(preset).map((api) => ({ value: api, label: labels[api] }))}
      disabled={disabled}
      onChange={onChange}
    />
  );
}