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.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-plugin-llmtr

Plugin Llmtr

LLMTR AI gateway provider for the DeepSeek Harness LLM seam: 170+ chat models and Türkiye-hosted LLMs behind one OpenAI-compatible key

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-plugin-llmtr@0.1.0
READMECompatibilityVersions

Compatibility and provenance

Plugin Llmtr is published as dsh-plugin-llmtr and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
11/4/2026

Versions

0.1.0stable
8/15/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
140.3 kB
Files
30
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
91
Last push
8/15/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

Related plugins

More verified plugins in models-usage.

Experimental Cot Translation Bundle@deepseek-ai/dsh-experimental-cot-translation-bundleExperimental machine translation of expanded reasoningWhale 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 editinOur Free Model@ebony-vinyl/dsh-our-free-modelOur Free Model — Install this plugin in dsh to use cutting-edge models including DeepSeek V4.1 Flash and Kimi K3, with no login, registration, or API Key required. The desktop version also offers an EAC co-payment channel; starting with 2.0, it supports ten account channels: LobsterAI, Qoder, TRAE, 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 a compact price glance card above the sidebar's Settings row

README

dsh-plugin-llmtr

English | Türkçe

An LLMTR provider route for DeepSeek Harness (dsh).

LLMTR is an OpenAI-compatible AI gateway. One API key reaches 170+ chat models from OpenAI, Anthropic, Google, Qwen, Mistral, xAI and others — plus the models LLMTR runs on its own infrastructure in Türkiye, for deployments that need their prompts to stay in-country.

This plugin registers those models as the llmtr provider route on ctx.llm, so they appear in the harness model picker and can be selected per session, per agent, and per subagent like any other route.

Install

dsh plugin add dsh-plugin-llmtr

The package ships a bundle patch, so plugin add inserts the row for you. Then open Settings → Models, find the LLMTR card, paste a key from llmtr.com, and save. The key is stored in $DSH_HOME/.credentials.yaml; settings retain only its reference.

The model picker fills itself from the gateway's live listing — nothing to type, and models LLMTR adds later appear without an upgrade.

Without the plugin CLI

Add the row to your own cordis.yml or --patch overlay:

- insert:
    - id: llm-llmtr
      name: dsh-plugin-llmtr

and export the key instead of storing it:

export LLMTR_API_KEY=llmtr-...

Model ids

Model ids are the gateway's own, owner/model, and are sent verbatim:

openai/gpt-5.4          anthropic/claude-...      google/gemini-3.7-flash
qwen/qwen3-8-...        mistral/...               deepseek/deepseek-v4-...
llmtr/muse-glimmer-30b-tr   llmtr/trendyol-asure-12b   llmtr/gemma-4

Ids starting with llmtr/ are the ones LLMTR hosts in Türkiye; the picker labels them "Hosted in Türkiye on LLMTR infrastructure". Everything else is routed to its upstream provider and processed under that provider's own terms — the plugin does not claim otherwise for them.

Data residency

To offer only the in-country models, narrow the catalog scope:

llm-llmtr:
  catalogScope: turkey-hosted

The picker then lists nothing else, so a session cannot be started on a model whose prompts leave the country.

Configuration

Every field is optional and lives in the llm-llmtr section of $DSH_HOME/settings.yaml (or in the plugin row's config). Changes reach the next request without a restart; an in-flight stream keeps the values it started with.

FieldDefaultWhat it decides
apiKeyEnvLLMTR_API_KEYCredential reference resolved per request
baseURLhttps://llmtr.com/v1Endpoint; $LLMTR_BASE_URL from a trusted launch layer overrides the default
headers{}Extra request headers; authentication and attribution names always win
catalogScopechatchat, turkey-hosted, or all
catalogTtlMs900000How long a fetched listing is reused
models[]A pinned list; non-empty replaces the live listing entirely
modelOverrides{}Per-model corrections applied over the live listing
reasoningEfforts[]Effort ids the gateway accepts for your models
maxTokens32768Default per-request output cap
defaultContextWindow131072Capacity assumed for a model you have not sized
streamIdleTimeoutMs300000Idle ceiling while a stream read is outstanding
retryPolicyharness defaultProvider-owned retry policy

Context windows

The LLMTR listing publishes ids and operations, not capacities, so every model is sized at defaultContextWindow until you say otherwise. Correct the ones you actually use:

llm-llmtr:
  modelOverrides:
    openai/gpt-5.4:
      contextWindow: 400000
    llmtr/muse-glimmer-30b-tr:
      contextWindow: 32768
      maxTokens: 8192

Reasoning effort

Reasoning output works out of the box: the adapter reads both reasoning_content and reasoning deltas, so a reasoning model's thinking shows up in the transcript with no configuration.

Selecting an effort level is opt-in, because the gateway fans requests out to upstreams that reject reasoning_effort on non-reasoning models. Declare what your models accept and the harness offers exactly those:

llm-llmtr:
  reasoningEfforts: [low, medium, high]

With the list empty, no selector is shown and nothing reaches the wire. A request carrying an undeclared effort is refused by name rather than silently dropped.

Pinning a model list

A deployment that must fix exactly which models its users can reach replaces the listing instead of filtering it:

llm-llmtr:
  models:
    - id: llmtr/muse-glimmer-30b-tr
      name: Muse Glimmer 30B
      contextWindow: 32768
    - id: llmtr/trendyol-asure-12b

With models non-empty the gateway listing is never fetched.

Scope

  • Chat completions only. Requests go to /v1/chat/completions with streaming and usage reporting on. LLMTR's embeddings, image, video, rerank, and realtime models are listed by catalogScope: all but cannot be routed by this adapter, which is why chat is the default.
  • Text in, text out. Image content is refused before it is sent, naming the model, rather than being flattened away.
  • One attempt per call. Retries belong to the harness retry policy, so a failure is visible once rather than hidden inside the adapter.

Privacy

The plugin sends the harness's standard User-Agent, an x-llmtr-client header naming this package and version, and your API key. No session id, prompt text, file path, or user identifier is added to any header.

Development

npm install
npm test          # 80 unit tests, no network and no key required
npm run typecheck
npm run build

tests/mock-server.ts stands in for the gateway, so the suite runs offline.

License

MIT. Portions derive from DeepSeek Harness — see NOTICE.