Skip to main content

dockyard-dsh

73Stars7Forks1Issues0Watchers

Integrate OAuth for Codex, Antigravity, Grok, Claude, and Cursor into DSH with unified account pooling and real-time quota management.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
JavaScript
License
MIT
Branch
main
account-pooldeepseek-harnessdsh-pluginmacosoauth

Install

cmdweb profile
$ dsh plugin --profile web add github:AITabby/dockyard-dsh

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin AITabby/dockyard-dsh for me: review the repository at https://github.com/AITabby/dockyard-dsh first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Positioning

dockyard-dsh is the official OAuth account pool plugin for DeepSeek Harness. It integrates Codex, Antigravity, Grok, Claude, and Cursor five official browser authorizations, local sessions, and native request chains into a single shared runtime, allowing DSH users to select accounts by strategy when chatting.

Core Capabilities

  • Integrate five official providers: Codex, Antigravity, Grok, Claude, and Cursor, providing unified account discovery, login, and authorization
  • Manage accounts, query real-time quotas, set selection strategies, and manually switch default accounts via /dockyard command
  • Support account pool strategies: manual / sticky_session / round_robin / failover, cross-account rotation and failover
  • Read real-time model catalogs, inference tiers, subscription/quota, and expiration times from each provider's official sources
  • Provide provider-native request chains (native Responses, Gemini SSE, Grok streaming, etc.), without going through any proxy gateway outside DSH
  • Provide local DMG application form, double-click on macOS to launch the embedded DSH web profile

Technical Implementation

  • Language: JavaScript (ESM .mjs) + TypeScript-style JSDoc; includes one Python PTY auxiliary script (wraps Antigravity CLI with a pseudo-TTY)
  • Key Dependencies: @deepseek-ai/dsh-llm-pi-ai (Codex via pi-ai adapter) / @deepseek-ai/dsh-api-remotes / @deepseek-ai/dsh-typert-protocol / @earendil-works/pi-ai / zod (runtime Schema validation)
  • Architecture Pattern: Cordis plugin + custom DockyardRuntime, injects itself into DSH via cordis.patch.yml bundle, then injects four service planes: llm/commands/credentials/settings; simultaneously registers each provider as DSH route via DshInjectionBridge
  • Entry Files: packages/dsh-plugin/src/index.mjs (dev source); packages/dsh-plugin/dist/index.mjs (runtime build artifact); also exports browser-side lib/client.js

Use Cases

Regular DSH users often need to switch between multiple official AI services, and each service has its own login state, quota, and model catalog. dockyard-dsh unifies these accounts into DSH's same account pool, allowing you to automatically select available accounts by account strategy within a single conversation, directly view each account's real-time remaining quota and subscription status, without needing a separate client for each provider.

Prerequisites & Compatibility

DependencyMinimum VersionDescription
DeepSeek Harness (DSH)0.1.0-rc.6DSH package in bundle fixed to ^0.1.0-rc.6; installation requires --profile web
Node.js^22.19.0 or >=24.0.0Declared directly in engines.node; DSH upstream sync requirement
DSH profilewebMust be installed to DSH's built-in web profile for GUI
macOS CredentialsmacOS (full functionality)Credentials default to macOS Keychain + Swift helper; non-macOS default credential storage fail closed
Python3 + ptyOptionalOnly used by Antigravity CLI fallback path; can be overridden via DOCKYARD_ANTIGRAVITY_PTY_PYTHON

Installation

dsh plugin --profile web add github:AITabby/dockyard-dsh

Configuration Options

ConfigTypeDescriptionDefault
DOCKYARD_DSH_HOMEEnv VariableOverride state file directory, default ~/.dockyard-dshNot set
DOCKYARD_DSH_REFRESH_INTERVAL_MSEnv VariableBackground interval for periodic quota refresh (ms)300000 (5 minutes)
DOCKYARD_DSH_REFRESH_TIMEOUT_MSEnv VariableTimeout threshold for single account refresh (ms)15000 (15 seconds)
DOCKYARD_DSH_CLI_PATHEnv VariableOverride provider common CLI pathNot set
DOCKYARD_ANTIGRAVITY_CLIENT_ID / DOCKYARD_ANTIGRAVITY_CLIENT_SECRETEnv VariableAntigravity Google loopback OAuth credentials; not providing will prevent browser authorization from startingNot set
DOCKYARD_ANTIGRAVITY_CLI / DOCKYARD_ANTIGRAVITY_PTY_PYTHON / DOCKYARD_ANTIGRAVITY_PROJECT / DOCKYARD_ANTIGRAVITY_ENDPOINT / DOCKYARD_ANTIGRAVITY_QUOTA_ENDPOINT / DOCKYARD_ANTIGRAVITY_USER_AGENT / DOCKYARD_ANTIGRAVITY_CATALOG_TTL_MS / DOCKYARD_ANTIGRAVITY_OAUTH_SCOPEEnv VariableAntigravity provider internal endpoints, UA, catalog cache TTL, CLI and PTY Python pathsProvider internal defaults
DOCKYARD_GROK_CLI / DOCKYARD_GROK_ENDPOINT / DOCKYARD_GROK_USER_AGENT / DOCKYARD_GROK_CATALOG_TTL_MSEnv VariableGrok provider internal endpoint, UA, catalog cache TTL, CLI pathProvider internal defaults
DOCKYARD_CURSOR_CLI / DOCKYARD_CURSOR_ENDPOINT / CURSOR_API_BASE_URLEnv VariableCursor provider internal endpoint, CLI path, API baseProvider internal defaults

FAQ

Q: Does dockyard-dsh add new model APIs to DSH or add an account pool to DSH?

A: It adds an account pool. It connects multiple official OAuth client sessions to the same shared runtime, making requests within DSH by account selection strategy. It does not replace DSH's core.

Q: Which DSH profile should I install to get the GUI?

A: Install to DSH's built-in web profile to see the Dockyard account/quota interface; creating an empty profile won't start the Web GUI.

Q: Why does Antigravity browser authorization report missing client info?

A: Antigravity uses Google loopback OAuth, requiring DOCKYARD_ANTIGRAVITY_CLIENT_ID and DOCKYARD_ANTIGRAVITY_CLIENT_SECRET. These variables are not in the repository and need to be set in the shell that starts DSH; do not commit them.

Q: Can it be used on platforms other than macOS?

A: DSH itself is a web host and cross-platform; but credentials are stored in macOS Keychain by default. On non-macOS, default credential storage will fail closed and requires the host DSH Credentials service to take over, otherwise tokens cannot be persisted. Windows EXE is being built but release assets have not been verified in the repository README.

Q: Where is data saved, is uninstall clean?

A: Account strategy and metadata are written to ~/.dockyard-dsh/state.json (path can be changed via DOCKYARD_DSH_HOME), OAuth tokens are written to macOS Keychain service com.dockyard-dsh.credentials or host DSH Credentials. After uninstall, delete state.json and the service entry in Keychain for complete cleanup.

Q: How to add new accounts?

A: Use /dockyard login <provider> in DSH web to start the official browser authorization page; to import locally existing official client login states, first run /dockyard scan <provider> then /dockyard add <provider>, they are independent operations, existing accounts won't be silently duplicated by Add.

Q: Which strategy is better?

A: Use manual for single person with single account; use round_robin for rotating across multiple accounts; use failover for automatic switching on failure; use sticky_session for staying on the same account within a session. Use /dockyard policy <provider> <policy> to switch online.

Getting Started Difficulty

Beginner — One command to install and use, provides account pool, real-time quota, and model catalog out of the box; only Antigravity OAuth requires preparing your own credentials, other providers can be used directly via /dockyard login.

Known Issues & Limitations

  • DSH upstream is still developer preview, version upgrades may introduce breaking changes, bundle is locked to @deepseek-ai/[email protected]
  • Each provider's official CLI, client paths, OAuth return fields, and quota interfaces may change; when fields are missing, dockyard-dsh will keep them as unknown/null, not fake them
  • Windows EXE is marked "build complete but still uploading/verifying" in README, do not use in production before verification
  • macOS is the full credential persistence platform; non-macOS default UnavailableSecretStore will explicitly throw errors on write, will not silently fall back to unsafe storage (if host DSH Credentials is not connected, tokens cannot be saved)
  • Antigravity's official CLI detection requires a real TTY, internally wraps a pseudo-terminal via Python pty module; this path requires Python3 + pty module available, can specify other Python via DOCKYARD_ANTIGRAVITY_PTY_PYTHON

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/AITabby/dockyard-dsh)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory