dsh-everything-oauth
> Deprecated. The intended upstream is AITabby/dockyard-dsh. The Windows fork is 4sa1ary9/dockyard-dsh. Do not install this repo alongside Dockyard.
A DeepSeek Harness plugin that attaches Codex, Grok, and Claude subscriptions on Windows. Settings shows three account cards: sign in, or import a login the local CLI already has.
This is not an official plugin. It is a fork and second-pass rewrite of kam74515-boop/dsh-everything-oauth, aimed at Windows install and credential paths, and trimmed to those three providers. The settings cards follow Yan-Zero/dsh-codex and MirDie/dsh-xai. The Windows install fix also draws on jjksam's PR.
This repository is not affiliated with DeepSeek AI, OpenAI, xAI, or Anthropic. Plan eligibility, quotas, and model access stay with each vendor account.
What changed from upstream
Upstream dsh plugin add github:... often fails on Windows: prepare runs spawnSync('npx'), and npx is a .cmd shim that Node cannot spawn. Claude subscription OAuth was also read only from the macOS Keychain.
This fork:
- Drops the npm
preparescript.lib/is committed, so installs use the prebuilt output. - Claude: reads
claudeAiOauthfrom~\.claude\.credentials.json, then the Windows Credential Manager entriesClaude Code-credentials/Claude Code. MCP tokens in that file are ignored. - Does not scan CC Switch, OpenCode, process env, or custom gateways.
- Settings is three provider cards, not a long source list.
Requirements
| Item | Requirement |
|---|---|
| OS | Windows 10 / 11 (this fork's target). Login also runs on macOS / Linux; credential paths and install were tested on Windows. |
| Node.js | ^22.19.0 or >=24 |
| DeepSeek Harness | npx @deepseek-ai/dsh. Developed against 0.1.0-rc.6. |
| pnpm | dsh plugin add forwards to pnpm. Install with npm install -g pnpm if needed. |
Auth conditions
Each provider is independent. Without the matching plan or a local login, the card stays signed out and Import stays hidden.
Codex (ChatGPT plan)
You need a ChatGPT plan that includes Codex, not an OpenAI Platform usage-based API key. This plugin talks to the ChatGPT Codex backend. It does not turn the subscription into a general OpenAI API credential.
Use either:
1. Sign in in Settings (ChatGPT OAuth). Device code on Web requires ChatGPT Enable device code authorization for Codex (Settings → Apps & connectors / Codex; the label may change). 2. Import local login after codex login, when %USERPROFILE%\.codex\auth.json has tokens.access_token and tokens.refresh_token.
Notes:
- Unofficial ChatGPT / Codex OAuth can get the account restricted. Do not use a main account you cannot afford to lose.
- Import copies the refresh token. The next DSH refresh may sign Codex CLI out; run
codex loginagain if that happens. - Catalog, quota, and availability follow the OpenAI account.
Grok (SuperGrok / X Premium)
You need SuperGrok or X Premium that is allowed to run xAI inference, not any X account.
Use either:
1. Sign in in Settings (xAI device code). 2. Import local login after grok login, when %USERPROFILE%\.grok\auth.json parses to access + refresh (often key + refresh_token on the xAI entry).
Notes:
- Some SuperGrok tiers accept the browser login and then reject inference with HTTP 403. That is an xAI entitlement gate. Use
XAI_API_KEYon Harness's API-key route in that case. - Import may rotate the refresh token and sign Grok CLI out.
Claude (Claude subscription)
You need a Claude subscription login (Claude Pro / Max, or the same OAuth used by the claude CLI / Claude Code). ANTHROPIC_API_KEY values in settings.json that point at a custom gateway are not imported.
Use:
1. Sign in in Settings (Anthropic / Claude OAuth). 2. Import local login, first match wins: - claudeAiOauth in %USERPROFILE%\.claude\.credentials.json (accessToken + refreshToken) - Windows Credential Manager generic credentials named Claude Code-credentials or Claude Code
Notes:
- A
.credentials.jsonthat only has MCP logins (mcpOAuth) is not a Claude subscription. Import stays hidden. - CC Switch and gateway keys in the environment are not read.
Where credentials live
After import or sign-in:
%USERPROFILE%\.dsh\.everything-oauth.jsonSource files are read-only. This plugin does not write ~\.codex\auth.json, ~\.grok\auth.json, or Claude files. Sign out from Settings, or:
npx @deepseek-ai/dsh plugin --profile web exec dsh-everything-oauth logout codexInstall
From GitHub:
npx @deepseek-ai/dsh plugin --profile web add github:4sa1ary9/dsh-everything-oauth
npx @deepseek-ai/dsh webLocal checkout:
npx @deepseek-ai/dsh plugin --profile web add "link:C:\Users\michael.li\lsz\dsh-everything-oauth"
npx @deepseek-ai/dsh webRestart dsh web after a frontend change.
Open Settings → Subscriptions. Each card is one provider.
npx @deepseek-ai/dsh plugin --profile web exec dsh-everything-oauth status
npx @deepseek-ai/dsh plugin --profile web exec dsh-everything-oauth import codex
npx @deepseek-ai/dsh plugin --profile web exec dsh-everything-oauth import grok
npx @deepseek-ai/dsh plugin --profile web exec dsh-everything-oauth import claude
npx @deepseek-ai/dsh plugin --profile web exec dsh-everything-oauth login grokstatus prints three lines. import:yes means a local login file was found, not that DSH has imported it yet.
License
[Apache-2.0](LICENSE). Upstream copyright remains with the original authors. Changes in this repository are also Apache-2.0.