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: Enable the bundled plugin, then log in:
```bash ```bash

View File

@@ -43,7 +43,7 @@ See [Voice Call](/plugins/voice-call) for a concrete example plugin.
- [Microsoft Teams](/channels/msteams) — `@clawdbot/msteams` - [Microsoft Teams](/channels/msteams) — `@clawdbot/msteams`
- Google Antigravity OAuth (provider auth) — bundled as `google-antigravity-auth` (disabled by default) - 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) - 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) - Copilot Proxy (provider auth) — bundled as `copilot-proxy` (disabled by default)
Clawdbot plugins are **TypeScript modules** loaded at runtime via jiti. They can 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) - [OpenAI (API + Codex)](/providers/openai)
- [Anthropic (API + Claude Code CLI)](/providers/anthropic) - [Anthropic (API + Claude Code CLI)](/providers/anthropic)
- [Qwen Portal (OAuth)](/providers/qwen) - [Qwen (OAuth)](/providers/qwen)
- [OpenRouter](/providers/openrouter) - [OpenRouter](/providers/openrouter)
- [Vercel AI Gateway](/providers/vercel-ai-gateway) - [Vercel AI Gateway](/providers/vercel-ai-gateway)
- [Moonshot AI (Kimi + Kimi Code)](/providers/moonshot) - [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: 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 - 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). (2,000 requests/day, subject to Qwen rate limits).
## Enable the plugin ## Enable the plugin
@@ -45,7 +45,7 @@ from `~/.qwen/oauth_creds.json` when it loads the auth store. You still need a
## Notes ## 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 - Default base URL: `https://portal.qwen.ai/v1` (override with
`models.providers.qwen-portal.baseUrl` if Qwen provides a different endpoint). `models.providers.qwen-portal.baseUrl` if Qwen provides a different endpoint).
- See [Model providers](/concepts/model-providers) for provider-wide rules. - 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 ## Enable

View File

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

View File

@@ -234,7 +234,7 @@ function buildQwenPortalProvider(): ProviderConfig {
models: [ models: [
{ {
id: "coder-model", id: "coder-model",
name: "Qwen Coder (Portal)", name: "Qwen Coder",
reasoning: false, reasoning: false,
input: ["text"], input: ["text"],
cost: QWEN_PORTAL_DEFAULT_COST, cost: QWEN_PORTAL_DEFAULT_COST,
@@ -243,7 +243,7 @@ function buildQwenPortalProvider(): ProviderConfig {
}, },
{ {
id: "vision-model", id: "vision-model",
name: "Qwen Vision (Portal)", name: "Qwen Vision",
reasoning: false, reasoning: false,
input: ["text", "image"], input: ["text", "image"],
cost: QWEN_PORTAL_DEFAULT_COST, 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: "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: "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" }); options.push({ value: "apiKey", label: "Anthropic API key" });
// Token flow is currently Anthropic-only; use CLI for advanced providers. // Token flow is currently Anthropic-only; use CLI for advanced providers.
options.push({ options.push({