DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
S

@alaxrpg/dsh-sensenova-provider

Sensenova Provider

Unofficial DeepSeek Harness LLM provider plugin for SenseNova (OpenAI-compatible). Registers the 'sensenova' provider route with multi-account API-key rotation, a Models-page card, and a live model catalog.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:alaxrpg/dsh-sensenova-provider#3b2e2d5993bcebc550d761ce6068e15e614c01c8
READMECompatibilityVersions

Compatibility and provenance

Sensenova Provider is published as @alaxrpg/dsh-sensenova-provider and currently resolves to version 0.2.0-alpha.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/10/2026

Versions

0.2.0-alpha.2prerelease
10/10/2026
Show 8 more versionsCollapse versions
0.2.0-alpha.1prerelease
10/9/2026
0.1.0-alpha.8prerelease
9/26/2026
0.1.0-alpha.7prerelease
9/8/2026
0.1.0-alpha.6prerelease
9/4/2026
0.1.0-alpha.5prerelease
9/4/2026
0.1.0-alpha.4prerelease
9/4/2026
0.1.0-alpha.3prerelease
9/3/2026
0.1.0-alpha.2prerelease
9/3/2026

Related plugins

Loading related plugins…

Latest
0.2.0-alpha.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/10/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in models-usage.

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundleExperimental machine translation of expanded reasoningWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editinOur Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — Install this plugin in dsh to use cutting-edge models including DeepSeek V4.1 Flash and Kimi K3, with no login, registration, or API Key required. The desktop version also offers an EAC co-payment channel; starting with 2.0, it supports ten account channels: LobsterAI, Qoder, TRAE, Usage@linxin666/dsh-usageUsage statistics plugin for the dsh web GUI: per-provider balance and coding-plan quota detection plus a live token usage ledger, with a compact price glance card above the sidebar's Settings row

README

@alaxrpg/dsh-sensenova-provider

Unofficial DeepSeek Harness (DSH) LLM provider plugin for SenseNova (OpenAI-compatible API). Registers the sensenova provider route with a Models-page card, a live model catalog, and multi-account API-key rotation on a single shared base URL.

Reference implementation: @mars-sea/dsh-commandcode-provider (MIT). This plugin keeps only the multi-account connection feature; it drops login flows, usage dashboards, plan windows, and command-line tools.

Features

  • Registers provider route sensenova (display name SenseNova).
  • Live model catalog via GET {apiBase}/v1/models.
  • Streaming over both wire protocols: POST {apiBase}/v1/responses (default, see below) and POST {apiBase}/v1/chat/completions (SSE; automatic fallback).
  • Multiple API keys (accounts) on one shared base URL:
    • 429 Too Many Requests → does not cool down or rotate the key (protects the server-side per-key prompt cache); raises RATE_LIMIT with providerRetryAfterMs for the host retry layer (honors Retry-After, capped at 60 s; quota-class 429s carry a backoff floor). With quotaRotation enabled, quota-class 429s stickily switch to the next untried key.
    • 401 Unauthorized → rotate to the next key; the rejected key stays disabled until the stored credential changes.
    • All keys exhausted → surfaces RATE_LIMIT / INVALID_CREDENTIAL.
  • Web settings page (Models-page card + dedicated settings section).
  • Default wire protocol is Responses (auto mode): used whenever the request can be expressed faithfully, and automatically downgraded to Chat Completions when semantics would be lost (e.g. a stop sequence, or a reasoning effort away from the model's Responses default). Notable Responses differences: max_output_tokens counts reasoning tokens, temperature defaults to 0.6 (Chat uses 1), reasoning is replayed as a summary only, and stop is not supported (auto-downgrades to Chat).
  • Image inputs: outbound images in production depend on a host-side attachment bridge (the 0.1.7-rc.2 adapter type surface has no channel for it yet). In this version images are sent as host-generated text placeholders — never silently dropped; the bridge is a follow-up host dependency.

Requirements

  • DSH host >=0.1.2-alpha.3 (alpha line).
  • Node.js >=22.

Compatibility note: the runtime import surface is a stable subset of @deepseek-ai/dsh-llm present since 0.1.1-rc.2 (LlmAdapter, LlmError, ReasoningEffortId, assertUsableApiKey, attributionHeaders, errorChain, resolveRetryPolicy); the drifting ToolCallId symbol is defined locally (src/brand.ts, identity-backed). Runtime loading on 0.1.1-rc.2 hosts works; the declared peer floor >=0.1.2-alpha.3 is the type-level support start (the ToolCallId type first appears there).

Install

dsh plugin --profile <name> add dsh-sensenova-provider

Or install from a local path:

dsh plugin --profile <name> add ./dsh-sensenova-provider

Then configure SenseNova in the Models page: the default credential environment variable is SENSENOVA_API_KEY, and the default base URL is https://token.sensenova.cn/v1.

Configuration

The plugin installs a llm-sensenova settings section with these fields:

FieldTypeDefaultMeaning
apiBasestringhttps://token.sensenova.cn/v1Shared base URL for all accounts.
apiKeyEnvcredential-refSENSENOVA_API_KEYDefault account credential reference.
accounts[]array[]Extra accounts: { id, label, apiKeyEnv }.
activeAccountstring""Preferred account id; empty means auto / first usable.
wireProtocolauto/responses/chat-completionsautoWire protocol mode: auto prefers Responses and downgrades to Chat when semantics would be lost; forcing responses errors on requests it cannot express; chat-completions is the legacy escape hatch.
reasoningSummaryauto/concise/detailedautoResponses-only: verbosity of the reasoning summary (reasoning.summary).

API keys are stored through the DSH credentials service; they are never logged and never sent to the model.

Development

pnpm install
pnpm run typecheck
pnpm run build    # tsdown → lib/
pnpm test         # node --import tsx --test tests/**/*.test.ts

License

MIT