Introduction

When developing agents with DeepSeek Harness, if you need to call models from multiple different vendors, you usually need to configure independent routes for each vendor. The LLMTR plugin provides a unified AI gateway interface, allowing you to connect to more than 170 chat models through a single API Key. It registers the LLMTR model list as a DSH llm provider route, enabling the model selector to manage these gateway models in the same way as local models.

Feature Overview

  • OpenAI-Compatible Gateway: As an OpenAI-compatible AI gateway, it supports model invocation through standard interfaces.
  • Unified Route Registration: The plugin registers models under ctx.llm, making them available in DSH’s model selector.
  • Rich Model Support: Supports more than 170 chat models from OpenAI, Anthropic, Google, Qwen, Mistral, xAI, and others.
  • Turkish Localization: Supports models hosted by LLMTR on Turkish infrastructure, suitable for scenarios with data residency requirements.
  • Chat Completion and Text Interaction: Only supports chat completions and plain text input/output. Image, video, reranking, and other models may appear in the list but cannot be routed.

Installation and Enabling

  1. Install the plugin via CLI:
    dsh plugin add dsh-plugin-llmtr
The package includes a patch, and `plugin add` automatically inserts the configuration line.
  1. In DSH, open Settings -> Models and find the LLMTR card.

  2. Paste the LLMTR API Key and save. The key is stored in $DSH_HOME/.credentials.yaml.

Configuration

All plugin configuration items are located in the llm-llmtr section of $DSH_HOME/settings.yaml (or inside the config field of the plugin line). Changes take effect on the next request without a restart.

1. API Key Reference

llm-llmtr:
  apiKeyEnv: LLMTR_API_KEY

Configure apiKeyEnv to specify the environment variable name. DSH reads the API Key from this environment variable at runtime. The default value is LLMTR_API_KEY.

2. Model List Filtering

Use catalogScope to control the scope of the model list:
* chat: Display chat models only (default).
* turkey-hosted: Display models hosted by LLMTR on Turkish infrastructure only.
* all: Display all models (including embeddings, images, etc., but the latter cannot be routed).

3. Fixed Model List

If you need to strictly limit the available models, use the models array. A non-empty array completely replaces the gateway’s real-time list:

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

4. Reasoning Capability Configuration

  • Reasoning Output: No configuration is required. The plugin automatically parses and displays the reasoning_content and reasoning fields of reasoning models.
  • Reasoning Level Selection: Selecting a reasoning level (such as low, medium, high) is optional. You must declare the supported levels in reasoningEfforts for the selector to provide the corresponding options.

5. Context Window

If the gateway does not provide context window information, the default is 131072. You can adjust this for specific models via modelOverrides:

llm-llmtr:
  modelOverrides:
    openai/gpt-5.4:
      contextWindow: 400000

Notes

  • Feature Scope: This plugin only supports chat completions and text input/output. Image, video, reranking, and other models may appear in the list but cannot be routed.
  • Privacy: Request headers contain only the standard User-Agent, x-llmtr-client, and API Key; they do not carry session IDs, prompt text, file paths, or user identifiers.
  • License: The plugin is released under the MIT License, with some code references from DeepSeek Harness (see NOTICE).
  • Runtime Permissions: Before installing, confirm that the plugin source code and license comply with your usage policies.

Summary

By introducing the LLMTR gateway, this plugin solves the problem of uniformly managing multiple heterogeneous model endpoints in DSH. It preserves DSH’s modular plugin architecture and enables the model selector to seamlessly support third-party gateways.