Back to home@BitDG

dsh-cloud-model-providers

DSH bundle for Ant Digital MaaS and NVIDIA NIM streaming model providers

Stars
0
Language
TypeScript
Created
Sep 1, 2026
Updated
Sep 1, 2026
GitHub repo

Introduction


description: "Install Ant Digital MaaS and NVIDIA NIM streaming model routes into a DeepSeek Harness profile without adding another HTTP proxy." kind: "package-bundle"

dsh-cloud-model-providers

English | 中文

Summary

This bundle adds Ant Digital MaaS and NVIDIA NIM model routes to a base-backed DeepSeek Harness profile. It uses the llm-pi-ai adapter already shipped by DSH, so Chat Completions, Responses, SSE streaming, tool calls, usage, cancellation, and credential handling stay on the maintained DSH path. The package contains only a declarative profile patch: a GitHub installation runs no package build script and stores no API key.

Table of Contents


Use this package

Install the bundle into an existing web or headless profile, provide credentials through DSH or the launch environment, and select one of the added routes.

Install into a profile

dsh plugin --profile web add github:BitDG/dsh-cloud-model-providers

The command installs this repository and activates its declared cordis.patch.yml layer. Remove the layer and dependency together with:

dsh plugin --profile web remove dsh-cloud-model-providers

The bundle requires a base-backed profile because it replaces the dormant llm-pi-ai row supplied by @deepseek-ai/dsh-base. Confirm the layer without starting an application:

dsh --profile web --dump-config

The output includes # == @deepseek-ai/dsh-base, patched by dsh-cloud-model-providers above the configured llm-pi-ai row.

Provide credentials

Use the Web Models settings page to store credentials, or export the references named by the bundle before starting DSH:

export MAAS_API_KEY='replace-with-your-key'
export NVIDIA_API_KEY='replace-with-your-key'

PowerShell uses $env:MAAS_API_KEY and $env:NVIDIA_API_KEY. Do not put either secret in cordis.patch.yml, Git, logs, screenshots, or issue reports.

Select a model

The Web Models page exposes the three provider routes after the bundle loads. A headless profile can choose a default through its own later cordis.patch.yml layer:

- id: agent-default-model
  config:
    provider: ant-maas-responses
    model: lingdt-3.0-flash

The same row can select ant-maas-chat/qwen3.6-plus or a model from the nvidia catalog.


Provider routes

RouteProtocolEndpointCredentialInitial model source
ant-maas-responsesOpenAI Responses over SSEhttps://maas-api.antdigital.com/v1/responsesMAAS_API_KEYlingdt-3.0-flash
ant-maas-chatOpenAI Chat Completions over SSEhttps://maas-api.antdigital.com/v1/chat/completionsMAAS_API_KEYqwen3.6-plus
nvidiaCatalog-owned OpenAI Chat Completions over SSEhttps://integrate.api.nvidia.com/v1/chat/completionsNVIDIA_API_KEYInstalled pi-ai NVIDIA catalog

MaaS assigns protocol support per model. Put a model documented for Responses on ant-maas-responses, and put a Chat Completions model on ant-maas-chat; one DSH provider route cannot switch wire protocol per request. The Models page can interrogate OpenAI-compatible /v1/models endpoints, but discovery does not prove that every returned model supports Responses, tools, images, or reasoning controls.

The NVIDIA route inherits endpoint details, model metadata, compatibility flags, and required headers from the pi-ai catalog bundled with the installed DSH version. The bundle overrides only the display name, credential reference, and explicit SSE transport.


Verify streaming

The keyless suite starts local data-only SSE endpoints and drives all three routes through the published DSH LlmRuntime and llm-pi-ai adapter. It verifies the request path, stream: true, Bearer authorization, incremental text, usage, and terminal event order.

pnpm install
pnpm test
pnpm run typecheck

The live suite is separate because each request uses provider quota. It skips a platform whose credential is absent and accepts model overrides for a changing online catalog:

MAAS_API_KEY='...' NVIDIA_API_KEY='...' pnpm run test:e2e

Use DSH_MAAS_MODEL or DSH_NVIDIA_NIM_MODEL to replace the live-test defaults. A passing keyless test proves DSH protocol integration; only a passing live test proves that the selected account, endpoint, and model work at that time.


Understand the implementation

Implementation internals — click to expand

The package declares dsh.bundle.patch in package.json. DSH adds cordis.patch.yml after the selected profile's existing bundle layers, and the patch replaces the llm-pi-ai row's complete configuration. The adapter resolves MAAS_API_KEY or NVIDIA_API_KEY for each request and translates provider SSE events into DSH stream chunks; this repository owns no network client and no credential storage.

PathResponsibility
cordis.patch.ymlProvider identities, protocols, endpoints, credential references, and SSE preference
tests/bundle.spec.tsBundle registration and keyless Chat/Responses streaming behavior
tests/live.e2e.spec.tsCredential-gated calls to the two online platforms

Further Exploration


Model Experience

Indirect. This bundle selects model providers but adds no model-visible prompt, tool, command, or transcript content. @deepseek-ai/dsh-llm-pi-ai owns provider conversion and streamed model output.

Known Limitations and Deferred Work

  • MaaS model availability and protocol support can change independently of this repository; verify the selected model against the official catalog.
  • The preconfigured MaaS model list is intentionally small. Add other models through DSH settings only after confirming their protocol and capacity.
  • Real API tests require user-owned credentials and consume platform quota; CI runs only the keyless protocol suite.
  • This bundle configures hosted APIs. It does not deploy a self-hosted NVIDIA NIM container.
  • A later profile patch or llm-pi-ai settings section can replace the bundle's complete provider configuration.

Dev Note

Working context for maintainers — click to expand

None.