V1ki/dsh-plugin-subscriptions
Use ChatGPT (Codex), Claude, and Grok (X Premium) subscriptions as DeepSeek Harness LLM providers — OAuth login in the web UI, no API keys
dsh‑plugin‑subscriptions
What it is – A plugin for the DeepSeek Harness (DSH) web UI that lets you log in to, manage, and use subscription‑based LLM providers (ChatGPT (Codex), Claude, xAI Grok, GitHub Copilot, Google Antigravity) without entering API keys. It stores OAuth tokens locally, shows usage quotas, and adds the providers’ models to DSH’s model picker.
Key capabilities
| Feature | What it does |
|---|---|
| OAuth login for multiple providers | Click Connect in Settings → Subscriptions; Codex, Grok, Antigravity use a browser flow, Copilot uses the GitHub device‑code flow, Claude can import credentials from Claude Code or fall back to browser OAuth. |
| Subscription display names | Assign a friendly name (≤ 80 chars) to each provider or model; the name is stored in provider‑settings.json and only changes UI labels, not routing. |
| Model picker integration | Logged‑in providers appear in DSH’s native model picker with live catalogs (model IDs, reasoning levels, vision capabilities). |
| Reasoning‑effort selector | For models that expose effort levels (Codex, Grok 4.5/4.6, Copilot), a dropdown lets you choose the desired effort; the choice is sent as reasoning_effort or reasoning.effort in the request. |
| Speed toggle for Codex | When a Codex model’s catalog advertises a “fast” tier, a Standard / Fast toggle appears in the composer. The /fast slash command offers the same option. |
| Sub‑agent speed defaults | Each model can have its own default speed for sub‑agents; the setting persists across restarts. |
| Usage‑pill UI | A small badge in the composer shows the current provider’s quota usage (percentage, reset time). Clicking expands a list of all logged‑in accounts, highlighting the default one. |
| Tool support | Registers web_search (Codex), x_search (Grok), image_generate, and video_generate tools. Image/video generation works inline in the conversation and respects provider‑specific quotas. |
| Image/video management | Generated assets are saved under ~/.dsh/plugins/subscriptions/images/ and …/videos/; paths are returned for reuse. Editing images is supported via provider‑specific endpoints. |
| Automatic catalog refresh | On startup the plugin fetches each provider’s model catalog, caches it for 5 min, then refreshes every hour. Manual Refresh button forces an immediate update. |
| Account pooling | When multiple accounts exist for a provider, the plugin tries the default account first, then falls back to any successful account in the same session. Pooling can be disabled per provider. |
Installation
# with the DSH CLI (web profile)
dsh plugin --profile web add dsh-plugin-subscriptions
Or from GitHub:
# install directly from the repo
dsh plugin --profile web add github:V1ki/dsh-plugin-subscriptions
If you install from source you’ll need pnpm:
git clone https://github.com/V1ki/dsh-plugin-subscriptions.git
cd dsh-plugin-subscriptions
pnpm install && pnpm build
# add the built plugin to your profile
dsh plugin --profile web add ./dsh-plugin-subscriptions
The plugin works with DSH 0.2.x prereleases and the stable 0.1.x series; see the README for exact version compatibility.
Basic usage flow
- Run
dsh weband open the URL in a browser. - Open Settings → Subscriptions.
- Click Connect for a provider and complete the OAuth flow (or import Claude credentials).
- Optionally give the subscription a friendly name.
- In any chat session open the model picker (
/model) and select a model under the newly added provider. - Use the integrated tools (
image_generate,video_generate,web_search,x_search) directly in the conversation.
If a provider is not logged in, it is hidden from the picker and any request to it returns MISSING_CREDENTIAL with a link back to the Settings page.
Who might benefit?
- Power users of DSH who have paid subscriptions to multiple LLM services and want a single UI to switch between them.
- Developers building AI‑augmented workflows that need access to provider‑specific tools (image/video generation, web search) without handling API keys manually.
- Teams that share a DSH instance and need per‑account management, quota visibility, and consistent model naming.
Limitations & notes
- The plugin only supports the providers listed in the README; adding a new provider requires code changes.
- Copilot does not expose a usage endpoint, so its usage badge shows no quota information.
- All token files are stored with mode 0600 at
~/.dsh/plugins/subscriptions/auth.json; keep your machine secure. - Image/video generation respects each provider’s quota and may fall back to another logged‑in provider if the primary account is out of credits.
TL;DR – dsh‑plugin‑subscriptions turns DSH into a multi‑subscription hub, handling OAuth logins, quota display, model discovery, and a set of useful generation tools, all without requiring you to copy API keys around.
Related
- Project
- Project
- Project
- Project