{"_id":"@dsh-next/dsh-next-oauth-providers","name":"@dsh-next/dsh-next-oauth-providers","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dsh-next/dsh-next-oauth-providers","description":"DeepSeek Harness plugin: sign in to Kimi, Grok, ChatGPT, and Claude coding subscriptions from the Models page.","version":"0.1.0","type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"engines":{"dsh":">=0.1.3-alpha.2"},"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime"],"platform":"web"}},"peerDependencies":{"react":"^18.2.0"},"dependencies":{"@earendil-works/pi-ai":"0.85.1"},"devDependencies":{"@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-attachment":"0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"0.1.3-alpha.2","@deepseek-ai/dsh-client-runtime":"^0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"^0.1.2-rc.1","@deepseek-ai/dsh-client-ui-settings-models":"0.1.3-alpha.2","@deepseek-ai/dsh-client-ui-slots":"0.1.3-alpha.2","@deepseek-ai/dsh-credentials":"0.1.5-rc.1","@deepseek-ai/dsh-fs":"0.1.5-rc.1","@deepseek-ai/dsh-launch-environment":"0.1.5-rc.1","@deepseek-ai/dsh-llm":"0.1.5-rc.1","@deepseek-ai/dsh-llm-pi-ai":"0.1.5-rc.1","@deepseek-ai/dsh-settings":"0.1.5-rc.1","@deepseek-ai/dsh-timeout":"0.1.5-rc.1","@deepseek-ai/schemastery":"^3.18.2","@types/node":"^22.10.0","@types/react":"~18.3.1","@types/react-dom":"^18.3.5","jsdom":"29.1.1","react":"^18.3.1","react-dom":"^18.3.1","tsdown":"^0.22.2","typescript":"~5.7.2","vite-tsconfig-paths":"^6.1.1","vitest":"^4.1.8"},"license":"MIT","author":"Rok Grabnar <sitegroove>","repository":{"type":"git","url":"git+https://github.com/dsh-next/dsh-next-plugins.git","directory":"packages/dsh-next-oauth-providers"},"scripts":{"build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","test":"vitest run","typecheck":"tsc --noEmit"},"_nodeVersion":"22.23.2","_id":"@dsh-next/dsh-next-oauth-providers@0.1.0","dist":{"integrity":"sha512-rZ0QuAasEQ9fmwFVQjzo832ODQzOstkNObRlGA5KDmJbsgFF+IXG2pRR7CAbcEK9MknbdynYJL74RHv84WeFAw==","shasum":"5ef689ec400ffda508f4ceb6fdc02c461ee6f853","tarball":"https://registry.npmjs.org/@dsh-next/dsh-next-oauth-providers/-/dsh-next-oauth-providers-0.1.0.tgz","fileCount":37,"unpackedSize":250535,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDBeyC7sNDHnExnss+IISQWUdOZ7L90CccGHeILgeakcQIgVFLoHkR0qfGeuVEsOQZZWs21LVwSP5y+4E1ahr9CQTQ="}]},"_npmUser":{"name":"sitegroove","email":"grabnarrok@gmail.com"},"directories":{},"maintainers":[{"name":"sitegroove","email":"grabnarrok@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-next-oauth-providers_0.1.0_1789087289358_0.6194320694184539"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-11T00:41:29.190Z","0.1.0":"2026-09-11T00:41:29.563Z","modified":"2026-09-11T00:41:29.813Z"},"maintainers":[{"name":"sitegroove","email":"grabnarrok@gmail.com"}],"description":"DeepSeek Harness plugin: sign in to Kimi, Grok, ChatGPT, and Claude coding subscriptions from the Models page.","repository":{"type":"git","url":"git+https://github.com/dsh-next/dsh-next-plugins.git","directory":"packages/dsh-next-oauth-providers"},"author":"Rok Grabnar <sitegroove>","license":"MIT","readme":"# oauth-providers\n\nEnglish | [中文](README.zh.md)\n\nThis DeepSeek Harness plugin adds **Subscriptions** under Settings → Models.\nSign in with a Kimi, Grok, ChatGPT, or Claude coding subscription using the\nsame Add provider / Edit / Delete flow as API-key rows. Connected models\nappear in the existing model selector.\n\n## How to use it\n\n1. Open **Settings** → **Models**.\n2. Scroll to **Subscriptions**.\n3. Click **Add provider**, pick Kimi Code, Grok, ChatGPT, or Claude, then\n   **Sign in** and finish the browser or device-code flow. **Apply** saves\n   the row.\n4. **Edit** opens the same card later. **Fetch available models** opens the\n   stock picker so you can select or deselect ids. **Restore defaults**\n   clears a custom catalog.\n5. **Delete** removes the sign-in and the catalog stored on this page.\n\n## Features\n\n### Sign in without an API key\n\nThe editor card keeps the stock layout. Where API-key rows have an API key\nfield, this card has **Sign in** / **Reconnect**. Tokens are stored in\n`$DSH_HOME/.credentials.yaml` under `dsh-next-oauth-providers`, not in\n`settings.yaml`.\n\n### Model catalog\n\nAn omitted or empty models list uses the adapter defaults. A non-empty list\nreplaces the catalog. **Fetch available models** requires sign-in and does not\nwrite until you add selected models and **Apply**. Kimi, ChatGPT, and Claude\nuse the bundled catalogs. Grok first asks its coding endpoint, falling back\nto the bundled catalog on failure or after a 30-second request timeout.\n\n### Grok coding endpoint\n\nGrok traffic uses the Grok coding proxy, not the ordinary xAI API endpoint.\n\n## Install\n\n```sh\ndsh plugin --profile <name> add @dsh-next/dsh-next-oauth-providers\n```\n\n`<name>` is your DSH profile (for example `web`).\n\n## Good to know\n\n- Needs DeepSeek Harness `0.1.3-alpha.2` or newer (official `dsh-llm-pi-ai`).\n- Catalog rows persist under `dsh-next-oauth-providers.providers` as a block\n  list keyed by official catalog ids (`xai`, `kimi-coding`, `openai-codex`,\n  `anthropic`):\n\n  ```yaml\n  dsh-next-oauth-providers:\n    providers:\n      - id: xai\n        displayName: Grok\n        models:\n          - id: grok-4.6\n            name: Grok 4.6\n            contextWindow: 500000\n            maxTokens: 500000\n  ```\n\n  The model selector uses the same ids with an `-oauth` suffix (`xai-oauth`, …)\n  so an API-key `anthropic` row can coexist with a Claude subscription. They\n  cannot live under `llm-pi-ai:` — that section only accepts API-key\n  `providers`.\n- ChatGPT OAuth keeps the pi-ai model list but uses official API context /\n  max-output sizes as defaults (1050K / 128K for current GPT-5.4+ ids; 400K /\n  128K for `gpt-5.4-mini`). Customized settings still override a row.\n- One account per family in this version. Reconnect replaces that grant.\n- One unusable subscription does not take the others down. If a provider\n  catalog cannot be prepared, only that provider's models fail to load — the\n  model selector names it and offers **Retry** — while the remaining routes,\n  and chat on them, keep working. The host logs one warning per provider.\n- Closing an editor, switching provider editors, or leaving the Models page\n  cancels its unfinished sign-in. Cancelling a login queued for credential\n  storage preserves the previously saved grant.\n- Subscription access is controlled by the provider. Signing in here does not\n  grant a plan you do not already have.\n- Claude and ChatGPT callback servers bind loopback ports `53692` and `1455`.\n  ChatGPT sign-in fails if something else (often VS Code Codex) already owns\n  `1455`.\n- Contributors: see [CONTRIBUTING.md](https://github.com/dsh-next/dsh-next-plugins/blob/main/CONTRIBUTING.md).\n","readmeFilename":"","_rev":"1-e45c25a387e08cfd044aff2230cf28c9"}