* feat(providers): refresh popular model catalogs * chore: leave release changelog to release automation * docs: refresh provider docs map
13 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| Use Qwen Cloud through its OpenClaw plugin |
|
Qwen |
Qwen Cloud is an official external OpenClaw provider plugin with canonical id qwen. It targets Qwen Cloud / Alibaba DashScope Standard and Coding Plan endpoints, keeps legacy modelstudio ids working as a compatibility alias, and exposes the Qwen Portal token flow as a separate provider, qwen-oauth.
| Property | Value |
|---|---|
| Provider | qwen |
| Portal provider | qwen-oauth |
| Preferred env var | QWEN_API_KEY |
| Also accepted (compat) | MODELSTUDIO_API_KEY, DASHSCOPE_API_KEY |
| API style | OpenAI-compatible |
Install plugin
qwen ships as an official external plugin, not bundled with core. Install it and restart Gateway:
openclaw plugins install @openclaw/qwen-provider
openclaw gateway restart
Getting started
Choose your plan type and follow the setup steps.
**Best for:** subscription-based access through the Qwen Coding Plan.<Steps>
<Step title="Get your API key">
Create or copy an API key from [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys).
</Step>
<Step title="Run onboarding">
For the **Global** endpoint:
```bash
openclaw onboard --auth-choice qwen-api-key
```
For the **China** endpoint:
```bash
openclaw onboard --auth-choice qwen-api-key-cn
```
</Step>
<Step title="Set a default model">
```json5
{
agents: {
defaults: {
model: { primary: "qwen/qwen3.5-plus" },
},
},
}
```
</Step>
<Step title="Verify the model is available">
```bash
openclaw models list --provider qwen
```
</Step>
</Steps>
<Note>
Legacy `modelstudio-*` auth-choice ids and `modelstudio/...` model refs still
work as compatibility aliases, but new setup flows should prefer the canonical
`qwen-*` auth-choice ids and `qwen/...` model refs. If you define an exact
custom `models.providers.modelstudio` entry with another `api` value, that
custom provider owns `modelstudio/...` refs instead of the Qwen compatibility
alias.
</Note>
**Best for:** pay-as-you-go access through the Standard Model Studio endpoint, including `qwen3.7-max`, which is not available on the Coding Plan.
<Steps>
<Step title="Get your API key">
Create or copy an API key from [home.qwencloud.com/api-keys](https://home.qwencloud.com/api-keys).
</Step>
<Step title="Run onboarding">
For the **Global** endpoint:
```bash
openclaw onboard --auth-choice qwen-standard-api-key
```
For the **China** endpoint:
```bash
openclaw onboard --auth-choice qwen-standard-api-key-cn
```
</Step>
<Step title="Set a default model">
```json5
{
agents: {
defaults: {
model: { primary: "qwen/qwen3.5-plus" },
},
},
}
```
</Step>
<Step title="Verify the model is available">
```bash
openclaw models list --provider qwen
```
</Step>
</Steps>
<Note>
Legacy `modelstudio-*` auth-choice ids and `modelstudio/...` model refs still
work as compatibility aliases, but new setup flows should prefer the canonical
`qwen-*` auth-choice ids and `qwen/...` model refs. If you define an exact
custom `models.providers.modelstudio` entry with another `api` value, that
custom provider owns `modelstudio/...` refs instead of the Qwen compatibility
alias.
</Note>
**Best for:** a Qwen Portal token against `https://portal.qwen.ai/v1`.
See [Qwen OAuth / Portal](/providers/qwen-oauth) for the dedicated provider
page and migration notes.
<Steps>
<Step title="Provide your portal token">
```bash
openclaw onboard --auth-choice qwen-oauth
```
</Step>
<Step title="Set a default model">
```json5
{
agents: {
defaults: {
model: { primary: "qwen-oauth/qwen3.5-plus" },
},
},
}
```
</Step>
<Step title="Verify the model is available">
```bash
openclaw models list --provider qwen-oauth
```
</Step>
</Steps>
<Note>
`qwen-oauth` uses the same `QWEN_API_KEY` env var name as the Qwen Cloud
provider, but stores auth under the `qwen-oauth` provider id when configured
through OpenClaw onboarding.
</Note>
Plan types and endpoints
| Plan | Region | Auth choice | Endpoint |
|---|---|---|---|
| Coding Plan (subscription) | China | qwen-api-key-cn |
coding.dashscope.aliyuncs.com/v1 |
| Coding Plan (subscription) | Global | qwen-api-key |
coding-intl.dashscope.aliyuncs.com/v1 |
| Qwen Portal | Global | qwen-oauth |
portal.qwen.ai/v1 |
| Standard (pay-as-you-go) | China | qwen-standard-api-key-cn |
dashscope.aliyuncs.com/compatible-mode/v1 |
| Standard (pay-as-you-go) | Global | qwen-standard-api-key |
dashscope-intl.aliyuncs.com/compatible-mode/v1 |
The provider auto-selects the endpoint based on your auth choice. Canonical
choices use the qwen-* family; modelstudio-* remains compatibility-only.
Override with a custom baseUrl in config.
Built-in catalog
OpenClaw ships this Qwen static catalog. The catalog is endpoint-aware: Coding Plan configs omit models that only work on the Standard endpoint.
| Model ref | Input | Context | Notes |
|---|---|---|---|
qwen/qwen3.5-plus |
text, image | 1,000,000 | Default model |
qwen/qwen3.6-plus |
text, image | 1,000,000 | Coding Plan + Standard |
qwen/qwen3.7-max |
text | 1,000,000 | Standard endpoints only |
qwen/qwen3.7-plus |
text, image | 1,000,000 | Coding Plan + Standard |
qwen/qwen3-max-2026-01-23 |
text | 262,144 | Qwen Max line |
qwen/qwen3-coder-next |
text | 262,144 | Coding |
qwen/qwen3-coder-plus |
text | 1,000,000 | Coding |
qwen/MiniMax-M2.5 |
text | 1,000,000 | Reasoning enabled |
qwen/glm-5 |
text | 202,752 | GLM |
qwen/glm-4.7 |
text | 202,752 | GLM |
qwen/kimi-k2.5 |
text, image | 262,144 | Moonshot AI via Alibaba |
qwen-oauth/qwen3.5-plus |
text, image | 1,000,000 | Qwen Portal default |
Thinking controls
qwen3.7-max, qwen3.7-plus, qwen3.6-plus, and qwen/MiniMax-M2.5 are
reasoning-enabled in the built-in catalog. For reasoning models on the qwen
family, the provider maps OpenClaw thinking levels to DashScope's top-level
enable_thinking request flag: disabled thinking sends enable_thinking: false,
any other level sends enable_thinking: true. Custom models can opt into an
alternate chat-template thinking payload by setting
compat.thinkingFormat: "qwen-chat-template" on the model entry.
Multimodal add-ons
The qwen plugin exposes multimodal capabilities on the Standard DashScope
endpoints only, not the Coding Plan endpoints:
- Image and video understanding via
qwen-vl-max-latest - Wan video generation via
wan2.6-t2v(default),wan2.6-i2v,wan2.6-r2v,wan2.6-r2v-flash,wan2.7-r2v
Media understanding is auto-resolved from the configured Qwen auth; no extra config is needed. Make sure you are on a Standard (pay-as-you-go) endpoint for media understanding to work.
To make Qwen the default video provider:
{
agents: {
defaults: {
videoGenerationModel: { primary: "qwen/wan2.6-t2v" },
},
},
}
Video-generation limits: 1 output video per request, up to 1 input image
(image-to-video), up to 4 input videos (video-to-video), max 10 seconds
duration. Supports size, aspectRatio, resolution, audio, and
watermark. Reference image/video inputs require remote http(s) URLs; local
file paths are rejected up front because the DashScope video endpoint does not
accept uploaded local buffers for those references.
Advanced configuration
`qwen3.7-plus` is available on Coding Plan and Standard endpoints. `qwen3.7-max` is Standard-only. The Standard (pay-as-you-go) endpoints are:- China: `dashscope.aliyuncs.com/compatible-mode/v1`
- Global: `dashscope-intl.aliyuncs.com/compatible-mode/v1`
OpenClaw omits `qwen3.7-max` from Coding Plan catalogs. If a Coding Plan
endpoint returns an "unsupported model" error for it, switch to the matching
Standard endpoint and key.
OpenClaw maps the configured Qwen region to the matching DashScope AIGC host
before submitting a video job:
- Global/Intl: `https://dashscope-intl.aliyuncs.com`
- China: `https://dashscope.aliyuncs.com`
A normal `models.providers.qwen.baseUrl` pointing at either the Coding Plan
or Standard Qwen hosts still routes video generation to the matching
regional DashScope video endpoint.
Native Qwen endpoints advertise streaming usage compatibility on the shared
`openai-completions` transport, so DashScope-compatible custom provider ids
targeting the same native hosts inherit the same behavior without requiring
the built-in `qwen` provider id specifically. This applies to both Coding
Plan and Standard endpoints:
- `https://coding.dashscope.aliyuncs.com/v1`
- `https://coding-intl.dashscope.aliyuncs.com/v1`
- `https://dashscope.aliyuncs.com/compatible-mode/v1`
- `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`
The `qwen` plugin is being positioned as the vendor home for the full Qwen
Cloud surface, not just coding/text models.
- **Text/chat models:** available through the plugin
- **Tool calling, structured output, thinking:** inherited from the OpenAI-compatible transport
- **Image generation:** planned at the provider-plugin layer
- **Image/video understanding:** available through the plugin on the Standard endpoint
- **Speech/audio:** planned at the provider-plugin layer
- **Memory embeddings/reranking:** planned through the embedding adapter surface
- **Video generation:** available through the plugin through the shared video-generation capability
If the Gateway runs as a daemon (launchd/systemd), make sure `QWEN_API_KEY` is
available to that process (for example, in `~/.openclaw/.env` or via
`env.shellEnv`).