Overview¶
The core of DeepSeek Harness (DSH) provides authorization services and credential storage, but lacks a UI for interactive login flows (e.g., device codes, external URLs, and text/secret/choice prompts). The dsh-model-account-login plugin fills this gap by providing a persistent authorization UI for llm-pi-ai login flows such as ChatGPT and Claude.
Plugin Role¶
This is a Cordis composition plugin maintained by developer hongbaiqi. It bridges host-side authorization services to a private JSON-RPC channel and provides a settings panel on the Web side to manage the state machine for login attempts.
Core Features¶
The plugin consists of two parts: the Host side and the Web client.
-
Host side
- Bridges the official
authorizationservice to the private JSON-RPC channel/model-account-login. - Tracks the status of each login attempt using
AttemptRegistry:running(in progress),authorized(authorized),cancelled(cancelled), andfailed(failed). - Persists login results through
credentialsandsettings.
- Bridges the official
-
Web client
- Registers a “Model Accounts” panel on the settings page. Each login flow is displayed as a card, including logged-in/routing-enabled status.
- Provides action buttons: Login, Re-login, Logout, and Enable/Disable routing.
- An in-progress login expands into an inline panel, displaying notifications, external URLs, device codes, and text/secret/choice prompts.
Installation and Enabling¶
This is a Cordis composition plugin and must be mounted into the DSH host composition.
- Use the bundled
cordis.patch.ymlfile to mount it:
# cordis.patch.yml (bundled)
- insert:
- id: model-account-authorization
name: '@deepseek-ai/dsh-authorization'
inject: [credentials]
- id: model-account-login
name: 'dsh-model-account-login'
inject: [authorization, credentials, settings, connection]
- The Web client entry is declared in
package.jsonunderdsh.client. After the host row is mounted, it is automatically added to the Web module graph.
Environment Requirements¶
- Node.js: >= 20
- Peer Services: DSH deployment must provide the following services (with matching versions):
@deepseek-ai/cordis^4.0.1@deepseek-ai/dsh-authorization^0.1.1-rc.2@deepseek-ai/dsh-credentials^0.1.1-rc.2@deepseek-ai/dsh-settings^0.1.1-rc.2@deepseek-ai/dsh-client-connection/dsh-client-runtime/dsh-client-ui-settings^0.1.1-rc.2react^18.2.0
Notes¶
- Source Code Status: The current repository only publishes compiled artifacts (JS + type declarations); the TypeScript source code has not been made public.
- Storage Location: Credentials are stored in the
llm-pi-aiscope, and settings are stored in thellm-pi-ainamespace.
Summary¶
This plugin provides DSH with a complete solution for interactive model account login. Through persistent UI and state management, developers can retain sessions after restart and manage login routing for different models uniformly from the settings page.
- Directory page: dsh-model-account-login - SkillHub
- GitHub repository: hongbaiqi/dsh-model-account-login