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.

Ai Services — DSH Plugin for DeepSeek Harness
← Plugins

@klarkxy/dsh-ai-services

Ai Services

AI Services: shared model routing, bounded auxiliary calls, and usage receipts for other plugins.

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

npx -y @deepseek-ai/dsh plugin --profile web add @klarkxy/dsh-ai-services@0.1.4
READMECompatibilityVersions

Compatibility and provenance

Ai Services is published as @klarkxy/dsh-ai-services and currently resolves to version 0.1.4. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

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

Versions

0.1.4stable
9/28/2026
0.1.3
stable
9/25/2026
0.1.2stable
9/23/2026
Show 2 more versionsCollapse versions
0.1.1stable
9/23/2026
0.1.0stable
9/23/2026

Related plugins

Loading related plugins…

Latest
0.1.4
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
180.5 kB
Files
21
Surface
any
License
SEE LICENSE IN LICENSE
Source
npm
GitHub
★ 13
Weekly downloads
30
Last push
10/16/2026
View source ↗Project homepage ↗
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.

Whale 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 editinUsage@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 rowClient Ui Model Capabilities@linxin666/dsh-client-ui-model-capabilitiesPer-model capability declarations (image input and reasoning efforts) for custom pi-ai providers, edited in place on the Models settings cards; writes the official llm-pi-ai settings namespace, no DSH source changes.Plugin@opencode2dsh/dsh-pluginFree OpenCode Zen models for DeepSeek Harness (DSH): native dsh-llm adapter plugin, no API key.

README

@klarkxy/dsh-ai-services

Shared Cordis service for model-role routing, bounded auxiliary calls, cancellation, and usage receipts. It is a supporting service, not a user-facing feature. Loading it does not start inference.

简体中文

Install

Requires Node.js ≥22 and DSH 0.1.7-rc.2. The host must provide llm, storageDomain, connection, webServer, agents, sessionProjections, and agentDefaultModel.

npm install @klarkxy/dsh-ai-services
dsh plugin --profile web add @klarkxy/dsh-ai-services

This package is a locked core service of the host. Feature plugins call ctx.aiServices.activate(plugin) when they need a model; this package never calls the model by itself.

Routing

Roles weak, normal, strong, and fantasy represent the Quick, Chat, Thinking, and Fantasy tiers: Quick for cheap latency-sensitive auxiliary calls, Chat as the everyday default, Thinking for heavier reasoning, and Fantasy as the highest-cost creative tier. They can bind models from any provider. Built-in plugins never default to Fantasy; it is reserved for explicit user selection. Unbound tiers inherit Chat, falling back to the host default chat model if Chat is unset. The host default is read on each call, so standalone plugins need no application-specific initialization. A missing default chat model fails visibly. An explicit invalid provider/model/reasoning choice fails without switching to another route. Session targets use the native Host projection, the request header, and the host default model; they do not call the removed session.models RPC.

Policy is one storage-domain record with compare-and-swap revision. It does not copy provider credentials. Host compatibility imports use importPurposes to persist missing defaults and a one-time marker atomically.

Auxiliary calls are plain text with no tools. Limits cap input size, output tokens, wall time, attempts, and per-provider concurrency. Interactive work is queued ahead of background work. Native agent-loop requests, when present, occupy the same provider's foreground so background jobs wait. run({ insert: { maxChars } }) supports bounded text candidates; other auxiliary calls still require a successful complete stream.

Usage receipts store token counts when the adapter reports them. Cost is null when unknown. Prompts and secrets are not stored.

Host RPC is /dsh-ai-services (status, update, resolve, usage) and requires the host authorization policy.

API / Exports

  • . — Cordis plugin entry (name, inject, apply), AiServicesRuntime, registerHostRpc, the RPC channel and seat constants, and every contract type re-exported from ./contracts.
  • ./contracts — browser-safe shared contracts with no host implementation.
  • ./host-rpc — registerHostRpc and HostRpcContext for hosts that mount the /dsh-ai-services channel.
  • ./client-utils — web client helpers: NativeSurfaceClient, useNativeSeat, useFeatureRefresh, selectedSessionId.
  • ./insert-output — bounded insert candidate helpers: sanitizeInsert, collectInsertText, createInsertCollector.

AiServices

Feature plugins reach the service as ctx.aiServices:

  • activate(plugin) — returns an AiFeatureScope (registerPurpose, run, dispose) bound to the plugin; disposed when the plugin unloads.
  • importPurposes(migrationId, defaults, roles?) — host-only compatibility entrypoint; persists missing purpose defaults and a one-time marker atomically.
  • getPolicy() / updatePolicy(policy, expectedRevision) — read the policy, or write it with compare-and-swap revision.
  • resolve(purpose, sessionId?, override?) — resolve a purpose to a ResolvedRoute without calling a model.
  • purposes() — every registered PurposeSpec with its owning plugin.
  • usage() — stored usage receipts.

Shared contracts (./contracts)

ExportPurpose
MemoryService, MemoryRecordMemory storage contract implemented by the memory plugin; observations stay candidates until explicitly accepted
TaskContract, TaskCheckpoint, EvidenceRefRequirements-clarification contract and checkpoint shapes shared with the Mood and Recap plugins
CHAT_EVENTS_SLOTChat events seat name (dsh-editor.chat.events)
MODEL_SETTINGS_SLOTModel settings seat name (dsh-editor.settings.models)
AI_RPC_CHANNELHost RPC channel name (/dsh-ai-services)
projectIdFromCwdDerive a project key from the host-validated session directory

From the repository root:

pnpm --filter @klarkxy/dsh-ai-services typecheck
pnpm exec vitest run packages/dsh-ai-services/src
pnpm --filter @klarkxy/dsh-ai-services build

Publishing · License