Table of Contents

Class OpenRouterDetector

Namespace
JD.AI.Core.Providers
Assembly
JD.AI.Core.dll

First-class provider for OpenRouter — a unified API that exposes hundreds of AI models from multiple vendors through an OpenAI-compatible interface. Dynamically discovers models from the OpenRouter catalog, enriching each with context length, pricing, and capability metadata.

public sealed class OpenRouterDetector : ApiKeyProviderDetectorBase, IProviderDetector
Inheritance
OpenRouterDetector
Implements
Inherited Members

Constructors

OpenRouterDetector(ProviderConfigurationManager)

public OpenRouterDetector(ProviderConfigurationManager config)

Parameters

config ProviderConfigurationManager

Properties

KnownModels

Static fallback catalog used when DiscoverModelsAsync(string, CancellationToken) is not overridden or when live discovery fails.

protected override IReadOnlyList<ProviderModelInfo> KnownModels { get; }

Property Value

IReadOnlyList<ProviderModelInfo>

Methods

ConfigureKernel(IKernelBuilder, ProviderModelInfo, string)

protected override void ConfigureKernel(IKernelBuilder builder, ProviderModelInfo model, string apiKey)

Parameters

builder IKernelBuilder
model ProviderModelInfo
apiKey string

DiscoverModelsAsync(string, CancellationToken)

Override to query the provider's API for its current model list. The default implementation returns KnownModels. Implementations should catch transport errors and return KnownModels as the fallback.

protected override Task<IReadOnlyList<ProviderModelInfo>> DiscoverModelsAsync(string apiKey, CancellationToken ct)

Parameters

apiKey string
ct CancellationToken

Returns

Task<IReadOnlyList<ProviderModelInfo>>