Configuring dsh-plugin-subscriptions
DeepSeek Harness exposes subscription accounts under Settings → Subscriptions. The page supports login and logout for each provider, model-list editing, display names, reasoning defaults, context settings, and provider-tool settings. Display names are single-line values of up to 80 characters. They are saved per provider and model ID in provider-settings.json, survive restarts and catalogue refreshes, and do not change provider IDs, model IDs, reasoning settings, or account routing.
Authentication tokens are stored in ~/.dsh/plugins/subscriptions/auth.json with file mode 0600. The plugin refreshes these tokens automatically. Codex, Grok, and Antigravity use OAuth from the web UI. Copilot uses the GitHub OAuth device flow. Claude first checks an existing Claude Code session on macOS Keychain or ~/.claude/.credentials.json, then falls back to browser OAuth.
How dsh-plugin-subscriptions behaves
DeepSeek Harness adds logged-in providers and their available model catalogues to the session model picker. Codex models with a catalogue-advertised fast tier expose Standard/Fast selection; the corresponding Codex service tier is priority. Models that advertise reasoning levels expose an Effort selector. Copilot sends reasoning_effort on chat completions and reasoning.effort on the Responses wire.
The plugin can show subscription usage for the current or most recent subscription in the composer. Settings can change the status-bar display to current/most recent only or Hidden; this preference is saved in the current browser and synchronised between tabs of the same origin.
Tools provided
The image_generate tool renders generated images inline and accepts a provider parameter for the image backend. video_generate plays generated clips inline. Provider tool switches apply only to sessions created after saving. The README also lists x_search.
Known limits
The speed toggle depends on live catalogue support and does not propagate from a parent session to subagents. Explicit child-session speed choices reset on restart. Tool-setting changes do not apply to existing sessions. Usage status-bar history is not persisted across page reloads.
Written from the project's own documentation and kept in sync with it. Where the two disagree, the source is authoritative — read the README on GitHub