package modelprovider import "context" type Capability struct { Vendor string SupportsStreaming bool MaxContextTokens int } // Provider:将统一 DTO ↔ 各家云 API(适配器接口) type Provider interface { InvokeCompletion(ctx context.Context, req *ChatRequest) (*ChatResponse, error) StreamCompletion(ctx context.Context, req *ChatRequest, h StreamChatCallback) error Capabilities() Capability //ListModels 列出该 provider 可用模型(返回“供应商真实模型 ID”列表及能力) ListModels(ctx context.Context) ([]ModelInfo, error) // GetDefaultModel 默认模型 GetDefaultModel() string }