Overview¶
The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” For developers who want to integrate the SenseNova API, they typically need to manually handle route registration, model list retrieval, and rate limiting across multiple accounts. The alaxrpg/dsh-sensenova-provider plugin provides an alternative to the official DSH routes: it registers the sensenova route, integrates a real-time model catalog, supports an OpenAI-compatible streaming interface, and implements automatic rotation of multi-account API keys with Web UI management.
Core Features¶
- Route registration: Registers the
sensenovaprovider route in DSH (display name: SenseNova). - Real-time model catalog: Retrieves the list of available SenseNova models via
GET {apiBase}/v1/models. - OpenAI-compatible streaming output: Supports standard
POST {apiBase}/v1/chat/completions(SSE) requests. - Automatic multi-account rotation: Manages multiple API keys under a single shared Base URL and automatically handles rate limiting:
429 Too Many Requests: Enters a cooldown period (respectsRetry-After, default 60s).401 Unauthorized: Disables the key until credentials are updated.- All keys exhausted: Reports
RATE_LIMITorINVALID_CREDENTIAL. - Web settings page: Provides a model page card and a standalone settings area.
Environment Requirements¶
- DSH host version:
>= 0.1.2-alpha.3(Alpha line). - Node.js version:
>= 22.
Installation and Activation¶
Use the official CLI to install the plugin:
dsh plugin --profile <name> add dsh-sensenova-provider
You can also install it from a local path:
dsh plugin --profile <name> add ./dsh-sensenova-provider
Configuration¶
After installation, the plugin adds an llm-sensenova section to the settings. The default configuration is as follows:
- API Base: https://token.sensenova.cn/v1.
- Default credential environment variable: SENSENOVA_API_KEY.
Configuration field details:
| Field | Type | Default | Description |
|---|---|---|---|
apiBase |
string | https://token.sensenova.cn/v1 |
The base URL shared by all accounts. |
apiKeyEnv |
credential-ref | SENSENOVA_API_KEY |
Default account credential reference. |
accounts[] |
array | [] |
Additional account list, in the format { id, label, apiKeyEnv }. |
activeAccount |
string | "" |
Specifies the preferred account ID (an empty string means automatically select the first available account). |
API keys are stored through the DSH credential service and are not sent directly to the model.
Usage¶
- On the DSH Models page, select the SenseNova provider.
- Enter the configured Base URL and API Key.
- The plugin automatically loads the model list and supports streaming conversations.
Notes¶
- Unofficial plugin: This plugin is maintained by community developers and is not an official DeepSeek product.
- Runtime dependencies: The runtime import interface is a stable subset of
@deepseek-ai/dsh-llm. - ToolCallId: The symbol is defined locally in
src/brand.tswithout a direct dependency on the core library.
Summary¶
By standardizing the SenseNova integration process, this plugin addresses the rate-limiting pain points in multi-account management, making it suitable for developers who need to use SenseNova services reliably in DSH.
- Repository: alaxrpg/dsh-sensenova-provider