Skip to content

Releases: ZChenW/dsh-codex-switch

dsh-codex-switch 0.1.0-alpha.7

Pre-release

Choose a tag to compare

Codex Switch 0.1.0-alpha.7

One consolidated Alpha release for quota-window lifecycle and explicit Warm up.

What changed

  • Separates remaining capacity from reset lifecycle.
  • Shows Starts after first use for a zero-use 5-hour window instead of a meaningless moving countdown.
  • Keeps a stable weekly reset anchor progressing independently, including when the displayed capacity rounds to 100%.
  • Adds an explicit, confirmed, account-scoped Warm up action. It discovers that account's authorized Codex models and sends one minimal request for the core pool and each eligible inactive additional Codex pool.
  • Never runs Warm up during refresh, sign-in, account selection, automatic switching, or polling.
  • Adds stale-credential fencing, per-generation deduplication, bounded timeouts, browser-wire invariants, and conservative five-minute activation proof.
  • Adds pinned reset-rule research plus updated English and Chinese documentation.

Install

dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.7

Refresh the existing Web page after installation or upgrade.

Compatibility and migration

  • Node.js: ^22.19.0 || >=24.0.0.
  • DeepSeek Harness development baseline: 0.1.0-rc.6; the current rc.5-compatible public plugin surfaces remain supported.
  • Existing Codex Switch account data is reused; no credential migration or automatic warmup is performed.

Security and privacy

  • Credentials remain in the plugin-owned store and are never returned to the browser.
  • Warm up is quota-consuming and always requires an explicit confirmation.
  • The minimal warmup request uses no tools or system prompt and the Codex transport keeps store: false.
  • npm publication uses GitHub Actions OIDC Trusted Publishing; no long-lived npm token is added.

Upstream attribution

Codex Switch is maintained by CHAKEW and retains upstream work by Frank Song and Yan-Zero under Apache-2.0. See NOTICE and MODIFICATIONS.md.

Known Alpha limitations

  • OpenAI controls account eligibility, models, quotas, and private backend response semantics.
  • OpenAI does not publicly guarantee first-use activation; the lifecycle and five-minute Warm up proof are conservative client behavior based on observed responses and the pinned operational reference.
  • Provider acceptance alone is not proof that a quota window activated.

dsh-codex-switch 0.1.0-alpha.6

Pre-release

Choose a tag to compare

Install

dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.6

Highlights

  • Displays provider-declared 5-hour and weekly Codex quota windows with data-driven labels.
  • Shows minute-level relative reset countdowns, precise sub-hour windows, 4px quota bars, exhausted states, and reduced-motion support.
  • Hardens Automatic account availability across mixed reset metadata, banked resets, concurrent usage reads, credential renewal, and malformed reset timestamps.
  • Uses canonical Current account, Available account, and Account order terminology.

Compatibility

  • DeepSeek Harness 0.1.0-rc.5/rc.6 compatible APIs.
  • Node.js ^22.19.0 or >=24.0.0.
  • Search and view_image remain disabled by default.

Migration and security

  • Existing Codex Switch account storage is preserved. Legacy Codex Connect migration remains exclusive-owner and rollback-aware.
  • Credentials remain in the plugin-owned DSH home repository and never enter browser responses.
  • Invalid or stale quota responses can no longer reactivate or exhaust the wrong credential generation.

Known Alpha limitations

  • Models, subscription eligibility, quota windows, and reset availability remain controlled by OpenAI.
  • ChatGPT subscription access is not an OpenAI API key.

Attribution

Codex Switch is derived from Frank Song's dsh-codex-connect, which includes work derived from Yan-Zero/dsh-codex. See NOTICE and MODIFICATIONS.md.

dsh-codex-switch 0.1.0-alpha.5

Pre-release

Choose a tag to compare

Highlights

  • Add a Retry action for uncertain banked reset redemptions and reuse the original redeemRequestId instead of risking a second consumption.
  • Preserve an uncertain redemption's idempotency key when the drawer is dismissed and reopened, until a definitive provider result is received.
  • Use the documented Banked reset vocabulary in browser-facing provider errors.
  • Rename the account-usage CLI field from ambiguous resets=N to banked-resets=N.
  • Add regression coverage for direct retry, dismiss-and-reopen retry, browser error wording, and CLI output.

Install or update

dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.5
# or, when already installed
dsh plugin --profile web update dsh-codex-switch@0.1.0-alpha.5

Requires Node.js ^22.19.0 || >=24.0.0 and a compatible DeepSeek Harness profile.

Migration

No configuration or credential migration is required. Users of 0.1.0-alpha.4 should update promptly; this hotfix prevents a lost redemption response from being retried with a new idempotency key.

Security and correctness

A network failure can leave a redemption outcome uncertain even when the provider accepted it. Alpha.5 keeps the original UUID available for direct Retry and after closing/reopening the drawer, so the provider can return the idempotent prior outcome instead of consuming another banked reset.

Attribution

Codex Switch is derived from dsh-codex-connect, which includes work derived from dsh-codex. See NOTICE and MODIFICATIONS.md.

Known Alpha limitations

  • Banked resets are promotional resources controlled by OpenAI.
  • Reset redemption is irreversible; provider state remains authoritative.
  • This remains a prerelease and should be pinned to the exact version for reproducible installations.

dsh-codex-switch 0.1.0-alpha.4

Pre-release

Choose a tag to compare

Highlights

  • Add provider-backed banked rate-limit reset discovery and redemption to each Codex account's Usage limits panel.
  • Present an explicit, framed confirmation flow with selectable reset cards, expiry emphasis, irreversible-action guidance, and localized English/Chinese copy.
  • Keep account interactions isolated during redemption, abort reset-detail requests when the drawer closes or unmounts, retain fetched expiry urgency, and restore keyboard focus safely after the last reset is consumed.
  • Refresh provider-authoritative usage after successful redemption and show banked reset inventory as resets=N in dsh-codex-switch accounts usage.
  • Expand defensive decoding, route security, concurrent-account UI coverage, lifecycle cleanup, and failure-state regression tests.

Install or update

dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.4
# or, when already installed
dsh plugin --profile web update dsh-codex-switch@0.1.0-alpha.4

Requires Node.js ^22.19.0 || >=24.0.0 and a compatible DeepSeek Harness profile.

Migration

No configuration or credential migration is required from earlier Codex Switch alpha releases. Restart the Web profile after updating if it is already running.

Security

Banked reset operations stay account-scoped, use the existing trusted read/mutation route checks, validate provider responses defensively, and never persist reset-card state locally. OAuth credentials remain in the existing local credential repository and are not included in diagnostics or package output.

Attribution

Codex Switch is derived from dsh-codex-connect, which includes work derived from dsh-codex. See NOTICE and MODIFICATIONS.md.

Known Alpha limitations

  • Banked resets are promotional resources controlled by OpenAI; accounts with no provider-reported inventory show no reset control.
  • Reset redemption is irreversible, and provider state remains authoritative after a successful request.
  • Available models, limits, reset inventory, and reset times depend on OpenAI and the associated ChatGPT subscription.
  • This remains a prerelease and should be pinned to the exact version for reproducible installations.

dsh-codex-switch 0.1.0-alpha.3

Pre-release

Choose a tag to compare

Highlights

  • Fix Automatic mode failover when Codex reports PI_AI_ERROR: You have hit your ChatGPT usage limit ....
  • Preserve Try again in ~N min and Search Retry-After cooldowns instead of retrying an exhausted account after five minutes.
  • Recognize the narrow Codex variants GoUsageLimitError, FreeUsageLimitError, and Too many requests.
  • Keep partial-response safety: switch only before semantic output; empty text/reasoning blocks no longer falsely commit a response.
  • Apply the same verified quota handling to standalone Search, including 429 responses with empty or malformed bodies.
  • Stabilize the account sign-in status/cancel-control layout in Web settings.

Install or update

dsh plugin --profile web add dsh-codex-switch@0.1.0-alpha.3
# or, when already installed
dsh plugin --profile web update dsh-codex-switch@0.1.0-alpha.3

Requires Node.js ^22.19.0 || >=24.0.0 and a compatible DeepSeek Harness profile.

Migration

No configuration or credential migration is required from earlier Codex Switch alpha releases. Restart the Web profile after updating if it is already running.

Security

Failure matching is deliberately narrow: arbitrary PI_AI_ERROR, bare authentication errors, billing text, and available-balance text do not trigger account switching. OAuth credentials remain in the existing local credential repository and are not included in diagnostics or package output.

Attribution

Codex Switch is derived from dsh-codex-connect, which includes work derived from dsh-codex. See NOTICE and MODIFICATIONS.md.

Known Alpha limitations

  • Available models, limits, and reset times are controlled by OpenAI and the associated ChatGPT subscription.
  • Automatic mode never replays a request after real semantic output, to avoid combining responses from different accounts.
  • This remains a prerelease and should be pinned to the exact version for reproducible installations.

Codex Switch 0.1.0-alpha.1

Pre-release

Choose a tag to compare