Skip to main content

Providers And Models

Use this page when the base CLI path already makes sense and you need to choose the right provider lane before editing config in detail. Loong treats provider and model choice as operator-visible configuration, not hidden runtime magic. This page is the chooser. The exact built-in provider contract lives in Provider Guides, while Provider Recipes keeps a smaller set of representative rollout patterns. Volcengine and BytePlus stay near the top because they are a common first-run path, but they are not the only provider families surfaced here. If you want the shared public provider-profile shape before the recipes become provider-specific, start with Configuration Patterns. If you already know the provider choice and delivery surface together, go straight to Common Setups and the dedicated playbook that matches the rollout shape.

Choose A Provider Lane

Already Know The Whole Rollout?

If the provider choice is already tied to the delivery surface, skip this page and jump straight to the matching playbook.

Start With The Supported Path

The main loong shell owns the supported first-run path. When config is missing, the guided setup stays inside that same shell and hands you off to the same provider surface the runtime will keep using later. Use loong onboard when you want to reopen the deeper guided setup flow explicitly for provider or channel reconfiguration. Use runtime models list after credentials are healthy when you want the current catalog from the active provider.

Reading Rule

  • Use this page to choose the provider lane.
  • Use Configuration Patterns when you want the shared active_provider plus providers.<id> shape before the provider-specific walkthroughs.
  • Use Provider Guides once you know the lane and need the exact built-in contract.
  • Use Provider Recipes when you want representative rollout patterns on top of that contract.
  • Use Common Setups when the provider choice only makes sense together with the delivery surface.

How Model Selection Works

  • preferred_models is only an operator-configured fallback list.
  • It is not a secret provider-owned runtime default.
  • When the config already pins an explicit model, preferred_models does not override it.

Reviewed Onboarding Defaults

A small reviewed subset currently has an explicit onboarding fallback when the saved config still uses model = "auto" and model discovery is unavailable. For other providers, Loong prefers to keep auto or ask the operator for an explicit model instead of silently inventing one.

Built-In Provider Map

You do not need to memorize every built-in provider kind to get started. Start with the lane chooser above, then use this section as the broader public map. A practical public grouping, inferred from the built-in provider kinds, is:

Hosted Families At A Glance

Platform-First Hosted Providers

  • Volcengine
  • Volcengine Coding
  • BytePlus
  • BytePlus Coding

Direct Hosted Providers

  • OpenAI
  • Anthropic
  • Gemini
  • DeepSeek
  • MiniMax
  • Mistral
  • Cohere
  • xAI
  • Z.ai
  • Zhipu
  • Qwen
  • Kimi
  • Groq
  • Fireworks
  • Together
  • Perplexity
  • Qianfan
  • Cerebras
  • NVIDIA
  • SambaNova
  • Novita
  • SiliconFlow
  • StepFun
  • Venice

Coding-Specialized Hosted Providers

  • Kimi Coding
  • Step Plan
  • Bailian Coding

Gateway And Compatibility Providers

  • Cloudflare AI Gateway
  • Vercel AI Gateway
  • OpenRouter
  • Bedrock
  • Custom OpenAI-compatible endpoints

Local And Self-Hosted Providers

  • Ollama
  • LM Studio
  • llama.cpp
  • vLLM
  • SGLang
The exact active set still depends on the build, the configured profile, and whether credentials resolve on the current machine.

Minimal Config Shape

The first-run path should normally write this for you, but the public config shape looks like this:
The important part is that the runtime uses the same provider surface after onboarding that it uses during normal operation. There is no separate marketing-only provider layer. Here api_key = { env = "ARK_API_KEY" } explicitly means “read from the ARK_API_KEY environment variable”. Writing api_key = "ARK_API_KEY" would instead treat ARK_API_KEY as the literal key value, which is why the docs do not use that form for env-backed secrets. The same profile shape also works for OpenAI, Anthropic, Gemini, DeepSeek, MiniMax, BytePlus, and other built-in hosted families by swapping the provider kind, the default credential env, and the reviewed model choice.

Continue Reading

  • Continue to Provider Guides for the full built-in provider matrix.
  • Continue to Provider Recipes for step-by-step hosted, coding-lane, gateway, local, and multi-profile examples.
  • Go to First Run if you still need the shortest path to a useful answer.
  • Go to Common Setups if the provider choice is already tied to Feishu / Lark, WeCom, Telegram, local outbound delivery, or gateway ownership.
  • Go to Channels if you want the current delivery-surface model.
  • Go to Tools And Memory if you want the broader governed-capability story.