UI: label Qwen provider

This commit is contained in:
Muhammed Mukhthar CM
2026-01-17 20:28:15 +00:00
committed by Peter Steinberger
parent a760db9921
commit b56b67cdbd
8 changed files with 19 additions and 19 deletions

View File

@@ -183,9 +183,9 @@ Kimi Code uses a dedicated endpoint and key (separate from Moonshot):
}
```
### Qwen Portal OAuth (free tier)
### Qwen OAuth (free tier)
Qwen Portal provides OAuth access to Qwen Coder + Vision via a device-code flow.
Qwen provides OAuth access to Qwen Coder + Vision via a device-code flow.
Enable the bundled plugin, then log in:
```bash

View File

@@ -43,7 +43,7 @@ See [Voice Call](/plugins/voice-call) for a concrete example plugin.
- [Microsoft Teams](/channels/msteams) — `@clawdbot/msteams`
- Google Antigravity OAuth (provider auth) — bundled as `google-antigravity-auth` (disabled by default)
- Gemini CLI OAuth (provider auth) — bundled as `google-gemini-cli-auth` (disabled by default)
- Qwen Portal OAuth (provider auth) — bundled as `qwen-portal-auth` (disabled by default)
- Qwen OAuth (provider auth) — bundled as `qwen-portal-auth` (disabled by default)
- Copilot Proxy (provider auth) — bundled as `copilot-proxy` (disabled by default)
Clawdbot plugins are **TypeScript modules** loaded at runtime via jiti. They can

View File

@@ -26,7 +26,7 @@ Looking for chat channel docs (WhatsApp/Telegram/Discord/Slack/etc.)? See [Chann
- [OpenAI (API + Codex)](/providers/openai)
- [Anthropic (API + Claude Code CLI)](/providers/anthropic)
- [Qwen Portal (OAuth)](/providers/qwen)
- [Qwen (OAuth)](/providers/qwen)
- [OpenRouter](/providers/openrouter)
- [Vercel AI Gateway](/providers/vercel-ai-gateway)
- [Moonshot AI (Kimi + Kimi Code)](/providers/moonshot)

View File

@@ -1,12 +1,12 @@
---
summary: "Use Qwen Portal OAuth (free tier) in Clawdbot"
summary: "Use Qwen OAuth (free tier) in Clawdbot"
read_when:
- You want to use Qwen Portal with Clawdbot
- You want to use Qwen with Clawdbot
- You want free-tier OAuth access to Qwen Coder
---
# Qwen Portal
# Qwen
Qwen Portal provides a free-tier OAuth flow for Qwen Coder and Qwen Vision models
Qwen provides a free-tier OAuth flow for Qwen Coder and Qwen Vision models
(2,000 requests/day, subject to Qwen rate limits).
## Enable the plugin
@@ -45,7 +45,7 @@ from `~/.qwen/oauth_creds.json` when it loads the auth store. You still need a
## Notes
- Tokens expire periodically; re-run the login command when requests fail.
- Tokens auto-refresh; re-run the login command if refresh fails or access is revoked.
- Default base URL: `https://portal.qwen.ai/v1` (override with
`models.providers.qwen-portal.baseUrl` if Qwen provides a different endpoint).
- See [Model providers](/concepts/model-providers) for provider-wide rules.

View File

@@ -1,6 +1,6 @@
# Qwen Portal OAuth (Clawdbot plugin)
# Qwen OAuth (Clawdbot plugin)
OAuth provider plugin for **Qwen Portal** (free-tier OAuth).
OAuth provider plugin for **Qwen** (free-tier OAuth).
## Enable

View File

@@ -1,7 +1,7 @@
import { loginQwenPortalOAuth } from "./oauth.js";
const PROVIDER_ID = "qwen-portal";
const PROVIDER_LABEL = "Qwen Portal OAuth";
const PROVIDER_LABEL = "Qwen";
const DEFAULT_MODEL = "qwen-portal/coder-model";
const DEFAULT_BASE_URL = "https://portal.qwen.ai/v1";
const DEFAULT_CONTEXT_WINDOW = 128000;
@@ -28,8 +28,8 @@ function buildModelDefinition(params: { id: string; name: string; input: Array<"
const qwenPortalPlugin = {
id: "qwen-portal-auth",
name: "Qwen Portal OAuth",
description: "OAuth flow for Qwen Portal (free-tier) models",
name: "Qwen OAuth",
description: "OAuth flow for Qwen (free-tier) models",
register(api) {
api.registerProvider({
id: PROVIDER_ID,
@@ -79,12 +79,12 @@ const qwenPortalPlugin = {
models: [
buildModelDefinition({
id: "coder-model",
name: "Qwen Coder (Portal)",
name: "Qwen Coder",
input: ["text"],
}),
buildModelDefinition({
id: "vision-model",
name: "Qwen Vision (Portal)",
name: "Qwen Vision",
input: ["text", "image"],
}),
],

View File

@@ -234,7 +234,7 @@ function buildQwenPortalProvider(): ProviderConfig {
models: [
{
id: "coder-model",
name: "Qwen Coder (Portal)",
name: "Qwen Coder",
reasoning: false,
input: ["text"],
cost: QWEN_PORTAL_DEFAULT_COST,
@@ -243,7 +243,7 @@ function buildQwenPortalProvider(): ProviderConfig {
},
{
id: "vision-model",
name: "Qwen Vision (Portal)",
name: "Qwen Vision",
reasoning: false,
input: ["text", "image"],
cost: QWEN_PORTAL_DEFAULT_COST,

View File

@@ -196,7 +196,7 @@ export function buildAuthChoiceOptions(params: {
});
options.push({ value: "gemini-api-key", label: "Google Gemini API key" });
options.push({ value: "zai-api-key", label: "Z.AI (GLM 4.7) API key" });
options.push({ value: "qwen-portal", label: "Qwen Portal OAuth" });
options.push({ value: "qwen-portal", label: "Qwen OAuth" });
options.push({ value: "apiKey", label: "Anthropic API key" });
// Token flow is currently Anthropic-only; use CLI for advanced providers.
options.push({