DeepSeek Harness Plugin

ZChenW/dsh-codex-switch

Stars ★ 1 Downloads (30d) 876 Category Models & Providers Added 2026-08-23 npm dsh-codex-switch

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

  1. Open Settings → Plugins → Plugin configuration → Codex Switch.
  2. Select Sign in with ChatGPT and add your accounts.
  3. 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.

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.