DSH Hub

songoao25/dsh-chatgpt-subscription

dsh-chatgpt-subscription

UIWeb UI2 GitHub stars· updated 2026-08-23

ChatGPT Subscription - a DeepSeek Harness plugin: bind your ChatGPT account via official OAuth and chat with ChatGPT models inside DSH, using your Plus/Pro subscription quota

Install

npx @deepseek-ai/dsh plugin --profile web add .

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-chatgpt-subscription DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/songoao25-dsh-chatgpt-subscription.svg)](https://dshhub.dev/plugins/songoao25-dsh-chatgpt-subscription)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from songoao25/dsh-chatgpt-subscription, cleaned of badges and images.

dsh-chatgpt-subscription

English | 中文

A DeepSeek Harness plugin that lets you sign in with your ChatGPT account using the official OAuth flow and chat with ChatGPT models inside DSH, consuming your ChatGPT Plus / Pro subscription quota.

One-click official sign-in — Click 授权登录 on the new 「订阅」page in DSH Settings → your browser opens OpenAI's official authorization page → approve → you're bound. No API keys, no command line, no config file editing.

Features

  • Official OAuth binding — Full PKCE + state flow against auth.openai.com, the same official mechanism used by Codex CLI and OpenCode. Your tokens are exchanged directly with OpenAI; the plugin never sees or stores your password.
  • Strict official mode — Only an authorization completed through this plugin's settings page counts as bound. Your existing codex CLI login is left alone and is never silently reused.
  • ChatGPT models in DSH — After binding, ChatGPT models (e.g. gpt-5.6-terra, gpt-5.5, gpt-5.4) appear in the DSH model switcher as provider ChatGPT. Selecting one talks to ChatGPT directly and consumes your subscription quota.
  • Token guardian — The access token is auto-refreshed before expiry (JWT-aware, refresh threshold 45 min) and injected into DSH credentials. Runs once at startup and every 30 minutes; on failure it keeps the last known good state instead of crashing.
  • Bind status page — The Settings → 订阅 page shows bound/unbound status, token expiry and remaining time, with 授权登录 / 重新授权 / 解绑 actions.
  • Companion to Bottom Info Bar — This plugin owns binding and token maintenance; the Bottom Info Bar reads the token to display your ChatGPT quota (5-hour / weekly / monthly windows and reset times). You can use this plugin without the info bar, but the info bar's ChatGPT quota display requires this plugin.

Requirements

  • DeepSeek Harness (dsh CLI) running the web interface (dsh web)
  • pnpm (used by dsh plugin)
  • A ChatGPT Plus or Pro subscription (or a plan that includes Codex quota)

Installation

Option 1 — One-command script (recommended)

git clone https://github.com/songoao25/dsh-chatgpt-subscription.git
cd dsh-chatgpt-subscription
./install.sh                # installs to the "web" profile; use --profile <name> to override

Option 2 — dsh plugin command

git clone https://github.com/songoao25/dsh-chatgpt-subscription.git
cd dsh-chatgpt-subscription
npm run build               # build lib/ from src/
dsh plugin --profile web add .

Restart dsh web after installing. Plugins are composed when the host process starts; a page refresh alone is not enough.

Usage

  1. Restart dsh web, then open Settings (⚙️) in the sidebar.
  2. Click 订阅 (right below 模型).
  3. Click 授权登录 — your browser opens the official OpenAI sign-in page.
  4. Sign in with your ChatGPT account and approve. The page shows 已绑定 when done.
  5. Open a new conversation, switch the model to a ChatGPT model (provider ChatGPT, e.g. gpt-5.6-terra) and chat — usage counts against your subscription.

If the browser tab doesn't open automatically, the page also calls window.open as a fallback; allow pop-ups for DSH if prompted.

Security

Related plugins