DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Provider — DeepSeek Harness 插件(DSH Plugin)
← Plugins

@tokenlabai/dsh-provider

Provider

适用于 DeepSeek Harness 的 TokenLab 提供商包,支持原生 Responses、Messages 和 Chat 路由,以及多模态和异步工具。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add @tokenlabai/dsh-provider@0.1.3
README兼容性版本

兼容性与来源证明

Provider 以 @tokenlabai/dsh-provider 发布,当前版本为 0.1.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/16

版本

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

相关插件

正在加载相关插件…

最新版
0.1.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
114.4 kB
文件数
9
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/9/16
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Usage@linxin666/dsh-usage用于 dsh Web GUI 的使用统计插件:检测各提供商的余额和编码计划配额,并提供实时令牌使用记录,同时在侧边栏条目中显示当前会话提供商今日的使用量Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额Codex Connectdsh-codex-connect用于 DeepSeek Harness 的 ChatGPT OAuth 和 Codex 模型。Ui Usage Billing@kenz1117/dsh-ui-usage-billingDeepSeek Harness 的用量计费仪表板:侧边栏成本指标和完整的仪表板模态窗口,依据当前多提供商目录定价,并汇总会话日志中的实际用量。

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