dsh-plugin-subs
Manifest validOAuth sign-in for 9 subscription LLM providers (Claude, Codex, Grok, Antigravity, OpenRouter, Agnes AI, Qwen, Spark, ERNIE) with zero-config login and usage dashboards.
DSH Plugin Subscriptions
AI LLM plugin for DeepSeek Harness that signs in to consumer AI subscriptions with OAuth and exposes them as LLM providers.
Providers
Live
| Provider | Subscription | Notes |
|---|---|---|
| Claude | Anthropic Pro/Max | Imports credentials from Claude Code automatically; run claude first |
| Codex | ChatGPT Plus/Pro | Real-time model discovery from chatgpt.com/backend-api/codex/models |
| Grok | X Premium/Premium+ | Real-time model discovery; includes x_search, image_generate, video_generate tools |
| Google Antigravity | Google One AI Premium | 静态目录(Gemini 3 Pro / 3.1 Pro / 3 Flash, Claude 4.6 Sonnet / Opus);直接 OAuth,无需环境变量 |
| OpenRouter | OpenRouter account | OAuth PKCE → permanent API key; static catalog (GPT-4o, Claude Sonnet/Haiku 4.5, Gemini 2.5 Flash) |
| Agnes AI | AgnesCode account | OAuth PKCE → access token (reverse-engineered); static catalog (Agnes 2.5/2.0 Flash, GPT-4o, Claude Sonnet 4.5 via AgnesCode) |
| Qwen Code | Qwen Coding Plan | Device-flow OAuth via chat.qwen.ai;无需 API Key |
| iFlytek Spark | Spark API subscription | OAuth PKCE via spark-api.xf-yun.com; env vars: SPARK_CLIENT_ID, SPARK_CLIENT_SECRET |
| Baidu ERNIE | ERNIE Bot subscription | OAuth PKCE via openapi.baidu.com; env vars: ERNIE_CLIENT_ID, ERNIE_CLIENT_SECRET |
Coming soon
Gemini, Perplexity AI, GitHub Copilot, Mistral AI, Cursor, Hugging Face, Windsurf, Replicate, fal.ai, Cohere, Voyage AI, Lepton AI, OctoAI.
Features
- OAuth sign-in for subscription providers — no API keys required
- Composer model resolution straight from your subscription
- Streaming, tool calling, and image input where the provider supports them
- Usage status shown in the Subscriptions settings section
- Built-in model catalogs per provider, overridable in config
Installation
# From npm (pre-built, no build step)
dsh plugin --profile web add dsh-plugin-subs
# Or from GitHub source
dsh plugin --profile web add github:randomix777/dsh-plugin-subs
Usage
- Launch DSH (
dsh web) and open the printed URL. - Go to Settings → Subscriptions and press Connect next to a provider.
- Complete the OAuth flow in the browser tab that opens. On headless setups, paste the callback URL or authorization code manually.
- Claude: imports from existing Claude Code credentials (run
claudeonce if not logged in). - Antigravity: no env vars needed, complete OAuth in browser directly; optionally override with
ANTIGRAVITY_CLIENT_ID/ANTIGRAVITY_CLIENT_SECRET. - Qwen Code: device-flow OAuth via
chat.qwen.ai; no API key or env vars required, click Connect to authenticate. - Agnes AI: after browser authorization, paste the full callback URL (or just the auth code) into the DSH UI — the
agnes://deep link cannot be auto-captured by DSH.
- Claude: imports from existing Claude Code credentials (run
- In any chat, open the model selector (
/model) and pick a model under the desired provider.
Untreated providers show no card in the model picker until signed in.
Environment Variables
Antigravity and Qwen use embedded public client credentials — no setup required. Only Spark and ERNIE need env vars:
# Optional: override the built-in Antigravity OAuth client credentials
export ANTIGRAVITY_CLIENT_ID="your-custom-oauth-client-id"
export ANTIGRAVITY_CLIENT_SECRET="your-custom-oauth-client-secret"
# iFlytek Spark (register at https://console.xfyun.cn)
export SPARK_CLIENT_ID="your-spark-client-id"
export SPARK_CLIENT_SECRET="your-spark-client-secret"
# Baidu ERNIE (register at https://console.bce.baidu.com/ai/)
export ERNIE_CLIENT_ID="your-ernie-client-id"
export ERNIE_CLIENT_SECRET="your-ernie-client-secret"
Spark and ERNIE require you to register an OAuth app on the respective platform and set the env vars above.
Configuration
providers:
- id: llm-subscriptions
name: dsh-plugin-subs
config:
providers: [codex, claude, grok, antigravity, openrouter, agnes, qwen, spark, ernie] # subset allowed; all nine enabled by default
streamIdleTimeoutMs: 300000
models: # override built-in catalogs
codex:
- { id: gpt-5.6-sol, name: GPT-5.6 Sol, contextWindow: 272000, inputModalities: [text, image] }
Tools
Auto-registered when the corresponding provider is active:
x_search(Grok) — xAI-hosted X search, returns{ answer, citations }image_generate(Codex or Grok) — callsgpt-image-2via Codex backend orgrok-imagine-image-2.0via Grok; saves to~/.dsh/plugins/subscriptions/images/video_generate(Grok) — callsgrok-imagine-video-1.5viaapi.x.ai/v1/videos; async poll, saves MP4 to~/.dsh/plugins/subscriptions/videos/
Limitations
- Provider availability depends on your subscription status; unsigned-in providers are hidden
- Image generation requires an active Codex or Grok session
x_searchrequires Grok login and an API-capable subscription tier- OpenRouter API key is permanent (no refresh); log out and re-login to replace
- Agnes AI requires manual callback URL/code paste (no
agnes://protocol handler in DSH) - Chinese providers (Spark, ERNIE) require a registered OAuth app on the respective platform and env var credentials
- Qwen Code uses device-flow OAuth: enter the user code at the verification URL in any browser; the flow is cancellable and expires after
expires_inseconds
Project Structure
lib/index.js— Main bundle (compiled output), all backend logiclib/client.js— Browser bundle, UI componentslib/client/*.js— Split client source files (locales, UI components)
License
MIT
Comments
Loading…
Similar plugins
OAuth sign-in for 9 subscription LLM providers (Claude, Codex, Grok, Antigravity, OpenRouter, Agnes AI, Qwen, Spark, ERNIE) with zero-config login and usage dashboards.
★ 0
dsh plugin --profile web add dsh-plugin-subsby GooDAnDReaDY
Registers ChatGPT Codex, Claude, Grok and Antigravity subscriptions as DeepSeek Harness LLM providers through OAuth, so no API key is needed for them.
★ 7
↓ 4.9k/wk
MIT
JavaScript
Oct 2, 2026
dsh plugin --profile web add @goodandready/dsh-subscriptionsby V1ki
Use ChatGPT (Codex), Claude, and Grok (X Premium) subscriptions as DeepSeek Harness LLM providers — OAuth login in the web UI, no API keys
★ 417
↓ 2.7k/wk
MIT
TypeScript
Oct 1, 2026
dsh plugin --profile web add dsh-plugin-subscriptionsby snail-vs
OAuth login plugin for DeepSeek Harness (DSH), enabling subscription LLM accounts such as ChatGPT Plus/Pro to work without API keys.
★ 0
MIT
TypeScript
Aug 22, 2026
dsh plugin --profile web add dsh-llm-oauthby MochiNek0
Sign in to AI coding plans that have no API key — Claude Pro/Max/Team, ChatGPT Plus/Pro, Copilot, SuperGrok — from the dsh settings UI.
★ 0
↓ 276/wk
MIT
TypeScript
Sep 21, 2026
dsh plugin --profile web add dsh-vendor-loginby chenbin-dev
导入本地 Claude、Codex、Grok、Gemini、Copilot、OpenCode 与 CC Switch 配置。 为支持的官方供应商提供 OAuth 登录。 从 OpenAI 兼容网关的 /v1/models 与 /models 发现 CC Switch 模型。
★ 4
↓ 92/wk
NOASSERTION
JavaScript
Aug 21, 2026
dsh plugin --profile web add dsh-auth-everying