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.

Provider — DSH Plugin for DeepSeek Harness
← Plugins

@tokenlabai/dsh-provider

Provider

TokenLab provider bundle for DeepSeek Harness with native Responses, Messages and Chat routing plus multimodal and async tools.

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

npx -y @deepseek-ai/dsh plugin --profile web add @tokenlabai/dsh-provider@0.1.3
READMECompatibilityVersions

Compatibility and provenance

Provider is published as @tokenlabai/dsh-provider and currently resolves to version 0.1.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/16/2026

Versions

0.1.3stable
9/16/2026
0.1.1stable
8/27/2026

Related plugins

Loading related plugins…

Latest
0.1.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
114.4 kB
Files
9
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
9/16/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
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in models-usage.

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 the current session provider's today usage on the sidebar entryUsage Stats@ychris12138/dsh-usage-statsToken usage heatmap, provider balances, and subscription quotas for the dsh web GUICodex Connectdsh-codex-connectChatGPT OAuth and Codex models for DeepSeek Harness.Ui Usage Billing@kenz1117/dsh-ui-usage-billingUsage billing dashboard for DeepSeek Harness: sidebar cost metrics plus a full dashboard modal, priced from a current multi-provider catalog with real usage aggregated from session logs.

README

TokenLab for DeepSeek Harness

@tokenlabai/dsh-provider is an installable DeepSeek Harness profile bundle. It provides TokenLab model routes plus catalog, creation, and task tools.

The bundle keeps model traffic on the most native protocol DeepSeek Harness currently supports:

  • OpenAI-owned models that declare openai_responses use /v1/responses.
  • Anthropic-owned models that declare anthropic_messages use /v1/messages.
  • All remaining compatible chat models use /v1/chat/completions.
  • Gemini-native generateContent is not configurable in the current Harness custom-provider adapter, so Gemini models use their declared Chat Completions compatibility path.

Protocol eligibility comes from each model's public TokenLab detail contract at GET /v1/models/{id}. The generator never classifies a model by substring or provider-internal route data.

What is included

SurfaceImplementationCurrent bundled contract
Model pickerExisting DSH llm-pi-ai adapter124 public chat models on three exclusive protocol routes
ResponsesNative openai-responses route23 models
MessagesNative anthropic-messages route9 models
ChatOpenAI Chat Completions route92 models
Multimodal and developer toolsOfficial DSH MCP bridge + @tokenlabai/mcp-server@0.6.19 core profile31 MCP tools by default; catalog 6 / full 80 available
Async completionNative tokenlab_wait_task toolimage, video, music, and 3D task polling with cancellation and bounded retries

The full MCP profile covers public model discovery and pricing, Chat Completions, Responses, Anthropic Messages, Gemini generateContent, image generation/edit/variation, video, music, 3D, TTS, STT, files, tasks, embeddings, rerank, translation, response lifecycle, batches, Seedance assets/groups, worlds, and other allowlisted developer operations in the pinned TokenLab MCP contract.

Requirements

  • DeepSeek Harness 0.1.5-rc.1 (the verified target for bundle 0.1.3)
  • Node.js 22.19+ or 24+
  • A TokenLab API key for inference, media, files, tasks, embeddings, rerank, and translation

Public catalog and pricing tools remain available without a key, but this bundle starts the core tool profile and is intended for authenticated use.

Install

Version 0.1.2 was tagged but was not published to npm because its release workflow stopped at the dependency-age check. Install 0.1.3 for the current bundle.

Put the key in the project .env or the Harness-home .env. DSH loads those files into the launch environment before resolving bundle configuration and before starting the MCP child process.

TOKENLAB_API_KEY=sk-your-tokenlab-key

Then install the bundle into the profile you use:

dsh plugin --profile web add --workspace-root @tokenlabai/dsh-provider@0.1.3

For a headless profile:

dsh plugin --profile headless add --workspace-root @tokenlabai/dsh-provider@0.1.3

Restart that profile after installation. In the model picker, TokenLab appears as three provider routes:

  • TokenLab · Responses
  • TokenLab · Messages
  • TokenLab · Chat

Each model ID appears on exactly one route.

Dependency release age

Harness forwards plugin commands to your installed pnpm. The normal pnpm 11 fresh-add flow records exact exceptions for selected releases that are less than a day old. A frozen install or an explicitly strict age policy can still reject them; this package's repository settings do not configure your Harness profile.

If an age check rejects this release, wait for your configured age window, or review the exact published versions and merge only these entries into the profile's existing pnpm-workspace.yaml (under $DSH_HOME/profiles/web for the web profile):

minimumReleaseAgeExclude:
  - '@tokenlabai/dsh-provider@0.1.3'
  - '@tokenlabai/mcp-server@0.6.19'

Replace older exclusions for these same two package names instead of adding duplicate selectors; preserve unrelated settings and exclusions, then repeat the same dsh plugin command. This does not disable age checks for other packages or versions.

Use multimedia and async tasks

The model sees TokenLab MCP tools under the mcp__tokenlab__... namespace. A typical async media flow is:

  1. Discover a currently enabled model with mcp__tokenlab__list_models or mcp__tokenlab__compare_models.
  2. Submit with mcp__tokenlab__create_video, create_music, create_3d_model, or an image tool.
  3. Read delivery.mode; do not assume every image result is synchronous.
  4. If delivery.mode is async, pass delivery.task_id to tokenlab_wait_task.
  5. Use the returned status, full response, and result_urls. A timed-out wait returns the latest state so another call can resume polling.

tokenlab_wait_task forwards the Harness caller's AbortSignal through every fetch and cancellable delay. It treats completed, failed, succeeded, cancelled, and expired as terminal, retries only bounded transient HTTP failures, and never changes task state. Use the generated mcp__tokenlab__cancel_task tool when cancellation is supported and intended.

Configuration

Optional environment variables:

VariableDefaultPurpose
TOKENLAB_MCP_TOOL_PROFILEcorecatalog for discovery only (6 tools), core for common creation and task workflows (31), full for all pinned developer operations (80)
TOKENLAB_MCP_SCHEMA_MODEportableportable, exact, or strict; execution still validates the complete API contract
TOKENLAB_API_KEYnoneShared TokenLab credential for model routes, MCP tools, and async wait
TOKENLAB_API_BASEhttps://api.tokenlab.shMCP and async-task API root
TOKENLAB_OPENAI_BASE_URLhttps://api.tokenlab.sh/v1Responses and Chat adapter base URL
TOKENLAB_ANTHROPIC_BASE_URLhttps://api.tokenlab.shMessages adapter base URL; the adapter appends /v1/messages

The default core profile includes catalog and pricing, native chat protocols, images, video, music, 3D, audio, files, task status/cancellation, embeddings, rerank, and translation. Use TOKENLAB_MCP_TOOL_PROFILE=full when you need the additional response lifecycle, batches, Seedance assets/groups, or worlds tools. Use catalog for discovery without generation tools. The separate tokenlab_wait_task poller remains available in every profile.

Existing llm-pi-ai settings

Harness 0.1.5-rc.1 merges saved llm-pi-ai.providers by provider key. Existing providers with different keys remain alongside the three bundled TokenLab routes. Saved entries using tokenlab-responses, tokenlab-messages, or tokenlab-chat take precedence for that route; review those entries when upgrading an older catalog. Do not replace your entire settings document with the bundle patch.

Reasoning levels

The current TokenLab public model-detail response identifies reasoning capability but does not enumerate supported effort values per model. The bundle therefore leaves reasoningEfforts undeclared instead of guessing levels from model names or enabling every level. With custom provider keys, Harness has no matching built-in catalog to inherit; its effort picker will not offer levels for those entries. This does not disable a model's server-side reasoning behavior.

If you have separately verified a model's effort contract, configure reasoningEfforts on that model entry in its provider's models list. Harness maps each displayed level to the wire value, for example high: high only when that model accepts high; off: null means omit an effort value, not proof that the server disables reasoning. Preserve the other models when overriding a saved route. Do not add modelOverrides to these routes: Harness reserves that field for catalog-backed routes without an explicit models list. xhigh or max must not be enabled merely because a model supports reasoning.

Security and side effects

  • Keep TOKENLAB_API_KEY in .env or another trusted launch environment. Never commit it.
  • The MCP server runs locally over stdio with the same Node executable as Harness. No credential is sent to a hosted MCP service, and startup does not use npx or a shell.
  • DSH treats MCP commands as trusted executables outside the agent sandbox. This bundle pins @tokenlabai/mcp-server@0.6.19; review an upgrade before changing the pin.
  • Core and full tools include billable generation and destructive operations such as file deletion or task cancellation. Keep Harness approval policy enabled for those calls.
  • Tool and model outputs are untrusted external content. Do not treat returned text or URLs as instructions.
  • The async waiter includes request IDs in diagnostics but never includes the API key in errors or tool results.

Model catalog maintenance

The checked-in generated/model-routes.json is the machine-readable route snapshot, and cordis.patch.yml is generated from it.

npm run routes:source-check  # read-only comparison with the live public model contract
npm run routes:sync          # refresh the snapshot and generated bundle patch
npm run routes:check         # offline generated-file consistency check

The routing policy is deterministic:

  1. Prefer the exact owned_by native format when both TokenLab and Harness declare it.
  2. Otherwise use a declared Harness-supported compatibility format.
  3. Never place one model on more than one provider route.
  4. Fail the source check when an active model has no Harness-supported format.

Development and verification

corepack pnpm install
pnpm peers check
pnpm run check
pnpm run build
npm pack --dry-run

The test suite covers native-route selection, route exclusivity, generated patch consistency, core-default MCP configuration and explicit profile selection, structured HTTP failures, task-id fencing, result URL extraction, transient retry limits, and caller cancellation.

Uninstall

dsh plugin --profile web remove --workspace-root @tokenlabai/dsh-provider

Restart the profile. Removing the bundle removes its TokenLab routes, MCP tool namespace, and async waiter; it does not delete your TokenLab account or API key.

Links

  • TokenLab
  • TokenLab documentation
  • TokenLab model catalog
  • TokenLab MCP server
  • DeepSeek Harness

License

MIT