Package reference
@dsh-ai-providers/core
Public contracts for embeddings, reranking, decisions, speech, images, providers, call options, and normalized errors. Consumer and vendor plugins should import shared types from this package.
See Core contract reference for the exported service boundary and lifecycle rules.
@dsh-ai-providers/openai-compatible
Protocol-level OpenAI-compatible transports, including OpenAI Decisions, request serialization, stream parsing, connection validation, and service implementations. It has no DSH plugin entry point. The OpenAI and LocalAI plugins compose the transports they need without depending on each other.
@dsh-ai-providers/runtime
The runtime coordination plugin provides the provider registry, selected capability services, settings and authenticated configuration APIs, health probes, DSH language-model route registration, concurrency scheduling, and embedding deduplication.
@dsh-ai-providers/openai
An OpenAI-compatible provider for embeddings, language-model chat and streaming, decisions, TTS, file and live STT, and image generation. Compatible servers may implement only a subset. In particular, the Decisions API is an OpenAI public-beta endpoint and should not be assumed to exist on a compatible server. Enable and select only the capabilities exposed by the server.
See OpenAI-compatible for endpoints and configuration.
@dsh-ai-providers/localai
A dedicated LocalAI provider for language models, embeddings, reranking, decisions, TTS, file and live STT, and image generation. It adds LocalAI defaults, native request fields, reranking, and decisions while reusing the shared OpenAI-compatible transports.
See LocalAI for configuration and native controls.
@dsh-ai-providers/jina
The Jina AI provider. It supplies reranking over /rerank and embeddings over /embeddings, with the query/document choice sent as Jina's own task. A server that copies the rerank API also works with a custom base URL. Connections and credentials are reusable in the same way as OpenAI connections.
See Jina for configuration and compatibility details.
@dsh-ai-providers/jina-cohere
A library, not a plugin: the /rerank transport that Jina, Cohere and compatible servers share, and the embedding transport for the Jina /embeddings and Cohere v2 /embed APIs. The Jina and Cohere providers both build on it, as the OpenAI and LocalAI providers build on openai-compatible, so neither depends on the other.
@dsh-ai-providers/typesafe
The TypeSafe AI provider for Jev, a hosted decision model. It sends typed questions about text to POST /systemone and returns their probabilities in one pass. The model can follow the jev-latest alias or use a pinned version, and the extended context window is optional. A server that implements the same API can be used through a custom base URL. Connections and credentials are reusable in the same way as OpenAI connections.
See TypeSafe for configuration and compatibility details.
@dsh-ai-providers/systemone
A library, not a plugin: the POST /systemone transport that TypeSafe's Jev, LocalAI, llama.cpp's server and other compatible servers share. The TypeSafe and LocalAI providers both build on it, so neither depends on the other.
@dsh-ai-providers/anthropic
The native Anthropic Messages API provider. It supplies language-model routes with streaming text, thinking, tool use, image input, usage reporting, and model discovery.
See Anthropic for configuration and native API behavior.
@dsh-ai-providers/ollama
The native Ollama provider. It supplies language-model routes over /api/chat with streaming text, thinking, tool use, image input, Ollama's own request controls, model discovery with reported capabilities, and model load and unload, plus embeddings over /api/embed.
See Ollama for configuration and native API behavior.
@dsh-ai-providers/cohere
The native Cohere provider. It supplies language-model routes over /v2/chat with streaming text, thinking, tool use (including enforced tool choice), image input, Cohere's own request controls, and model discovery, plus embeddings over /v2/embed and reranking over /v2/rerank. It reuses the embedding and rerank transports of the @dsh-ai-providers/jina-cohere library.
See Cohere for configuration and native API behavior.
@dsh-ai-providers/dashscope
The native Alibaba Cloud DashScope provider. It supplies language-model routes over the native generation API (text and multimodal endpoints) with streaming text, thinking, tool use, image input, DashScope's own request controls, and model discovery. It also provides embeddings, reranking, speech synthesis (Qwen-TTS over HTTP and CosyVoice over a WebSocket), file speech recognition, and image generation. Like the other vendor plugins, it registers through @dsh-ai-providers/runtime and uses the contracts from core.
See DashScope for configuration and native API behavior.
@dsh-ai-providers/all
The metadata-only DSH bundle. It installs the runtime and all eight provider plugins maintained by this project.
Choosing dependencies
| You are building | Depend on | Do not require |
|---|---|---|
| A plugin that consumes AI capabilities | @dsh-ai-providers/core | A specific vendor package |
| A third-party provider plugin | @dsh-ai-providers/core and the runtime as its DSH host | Another vendor package |
| An OpenAI-wire provider implementation | @dsh-ai-providers/openai-compatible plus the core contract | @dsh-ai-providers/openai |
| A profile using every maintained provider | @dsh-ai-providers/all | Individual bundle installation commands |
| A profile using selected providers | Runtime plus those vendor packages | The all-provider bundle |
Keep core as the public type boundary in consumer code. Runtime internals and transport helpers can change for implementation needs; importing them from a consumer would recreate the coupling this project is intended to remove.
Bundle versus library packages
The runtime and eight vendor packages are DSH plugins with bundle metadata. core, openai-compatible, jina-cohere, and systemone are libraries: they are installed as dependencies and are not rows a user enables in a profile. The all package contains bundle metadata rather than an additional runtime implementation, so it does not introduce another service layer.
All public packages in a release use the same version. Keep package versions aligned when declaring several direct dependencies, especially for a provider implementation compiled against the shared contract.