Connects ChatGPT accounts through OAuth, switches among them manually or automatically, and adds Codex models with usage limits to DeepSeek Harness.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-codex-switch
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:ZChenW/dsh-codex-switch
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
Multi-account Codex for DeepSeek Harness, powered by your ChatGPT subscription.
What it does
- Connects ChatGPT accounts with OAuth.
- Shows each account's 5-hour and weekly limits, and the reset time of every window that has started.
- Redeems banked rate-limit resets granted by OpenAI, right from the account card.
- Warms up an account on request, to start a window that has not run yet.
- Switches accounts manually or automatically.
- Adds Codex models to the Harness model picker.
- Optionally enables Codex search and
view_image.
Install
dsh plugin --profile web add dsh-codex-switch@alpha
dsh web
For pnpm 9:
dsh plugin --profile web add -w --config.auto-install-peers=false dsh-codex-switch@alpha
Set up
- Open Settings → Plugins → Plugin configuration → Codex Switch.
- Select Sign in with ChatGPT and add your accounts.
- Choose Manual or Automatic, then select a Codex model.
| Mode | Behavior |
|---|---|
| Manual | You choose the Current account. |
| Automatic | Codex Switch uses Available accounts by Account order. |
Search and view_image are disabled by default. Codex Switch does not change your default model or global search provider.
Quota windows
Codex Switch treats remaining capacity and reset lifecycle as separate facts. A zero-use 5-hour window shows Starts after first use rather than a meaningless countdown. The weekly lifecycle is independent: a stable weekly reset can keep counting down even while the 5-hour window is idle or visually full. Moving full-window projections are never presented as reset anchors. If OpenAI reports usage without a usable reset time, the card says Reset time unavailable.
Warm up reads that account's authorized Codex model list, then sends one minimal request for the core pool and each eligible additional model pool that still needs activation. It consumes a small amount of that account's quota, so it asks for confirmation and never runs on its own — not on refresh, sign-in, automatic switching, or background polling. Acceptance is not proof activation succeeded: Codex Switch re-reads usage, and keeps offering an explicit retry until positive use and at least five elapsed minutes prove the relevant window is running.
Commands
dsh plugin --profile web exec dsh-codex-switch status
dsh plugin --profile web exec dsh-codex-switch doctor
dsh plugin --profile web exec dsh-codex-switch accounts list
Credentials are stored under $DSH_HOME/openai-codex/credentials/. Removing the plugin does not delete them; use Sign out to remove an account.
ChatGPT subscription access is not an OpenAI API key. Available models and limits are controlled by OpenAI.
Development
pnpm install --frozen-lockfile
pnpm run check
License
Apache-2.0. Codex Switch is maintained by CHAKEW and retains upstream work by Frank Song and Yan-Zero. Third-party notices and modification history are documented in NOTICE and MODIFICATIONS.md.
Links
More in this category
V1ki/dsh-plugin-subscriptions★ 422
Use ChatGPT (Codex), Claude, and Grok subscriptions as DeepSeek Harness LLM providers, with Settings login, model catalogs, usage, plus image_generate, video_generate, and x_search tools.
Mars-Sea/dsh-commandcode-provider★ 370
Unofficial Command Code LLM provider: registers a `commandcode` route with a live model catalog and reasoning-effort support.
corrinehu/dsh-workbuddy-connect★ 303
Brings the models in the WorkBuddy desktop app straight into DeepSeek Harness — zero configuration in the DSH chat.
cv-superding/dsh-deepseek-web-login★ 230
Adds a deepseek-web provider that uses chat.deepseek.com web models in DSH, with browser login capture, PoW request signing, SSE streaming, and prompting-based tool calls.
FishBottle7/opencode2dsh★ 143
Exposes OpenCode Zen free models to DeepSeek Harness, with no API key.
WSL043/dsh-codex-subscription★ 142
ChatGPT OAuth provider for Codex models with subscription web search, quota and safe reset, image tools, Fast mode, and model-aware context; no API key or Codex CLI.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.