UI: label Qwen provider
This commit is contained in:
committed by
Peter Steinberger
parent
a760db9921
commit
b56b67cdbd
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"],
|
||||
}),
|
||||
],
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user