"""适配器注册表。""" from __future__ import annotations from .agnes import AgnesAdapter from .base import Capabilities, ImageResult, ProviderAdapter, ProviderConfig, ProviderError from .openai_compat import OpenAICompatAdapter ADAPTERS: dict[str, type[ProviderAdapter]] = { OpenAICompatAdapter.name: OpenAICompatAdapter, AgnesAdapter.name: AgnesAdapter, } ADAPTER_LABELS = { "openai_compat": "OpenAI 兼容", "agnes": "Agnes 原生", } def get_adapter(cfg: ProviderConfig) -> ProviderAdapter: cls = ADAPTERS.get(cfg.adapter) if cls is None: raise ProviderError(f"不支持的适配器类型: {cfg.adapter}", status=400) return cls(cfg) __all__ = [ "ADAPTERS", "ADAPTER_LABELS", "AgnesAdapter", "Capabilities", "ImageResult", "OpenAICompatAdapter", "ProviderAdapter", "ProviderConfig", "ProviderError", "get_adapter", ]