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 sensenova provider 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 (respects Retry-After, default 60s).
  • 401 Unauthorized: Disables the key until credentials are updated.
  • All keys exhausted: Reports RATE_LIMIT or INVALID_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

  1. On the DSH Models page, select the SenseNova provider.
  2. Enter the configured Base URL and API Key.
  3. 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.ts without 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.