An OpenClaw provider plugin for LLMTR, an OpenAI-compatible AI gateway that serves over 230 models behind a single API key: global passthrough routes across Anthropic, OpenAI, Google, Qwen, Z.AI, Mistral, DeepSeek, MiniMax, Moonshot, Meta and NVIDIA, plus a Turkey-hosted set for workloads that need Turkish data residency or Turkish-language models.
openclaw plugins install openclaw-llmtr-provider
openclaw gateway restartCreate an API key at llmtr.com, then set it:
export LLMTR_API_KEY="<your-llmtr-api-key>"Or store it through OpenClaw's auth flow:
openclaw onboard --auth-choice llmtr-api-keyModel refs are llmtr/<upstream-route-id>:
openclaw agent --local --model llmtr/anthropic/claude-sonnet-5 -m "Hello"
openclaw agent --local --model llmtr/zai/glm-5.2 -m "Hello"
openclaw models list --provider llmtrTurkey-hosted routes are named llmtr/<name> upstream, so their refs collapse to
a single prefix — the Trendyol model is llmtr/trendyol-asure-12b, not
llmtr/llmtr/trendyol-asure-12b.
| Setting | Value |
|---|---|
| Provider id | llmtr |
| Base URL | https://llmtr.com/v1 |
| Env var | LLMTR_API_KEY |
| Default model | llmtr/anthropic/claude-sonnet-5 |
The plugin refreshes its catalog from GET /v1/models and keeps only routes
whose supported_operations include CHAT_COMPLETIONS, so embedding-only
(voyageai, llmtr/embeddinggemma-300m), image (recraft, krea) and
/v1/responses-only routes never appear. Context windows, output caps,
modalities, pricing and reasoning support are read from the same response, so
they track the gateway instead of being hard-coded. A snapshot of 49 routes
ships with the plugin as the offline fallback.
Turkey-hosted:
llmtr/gemma-4llmtr/qwen3-5-4bllmtr/qwen3-6-35bllmtr/trendyol-asure-12bllmtr/muse-glimmer-30b-trllmtr/magibu-11b-v8llmtr/medgemma-4b
Global passthrough (snapshot selection):
-
llmtr/anthropic/claude-opus-5,claude-sonnet-5,claude-opus-4.8,claude-haiku-4.5 -
llmtr/openai/gpt-5.4,gpt-5.4-mini,gpt-5.2 -
llmtr/google/gemini-3.7-flash,gemini-3.5-flash,gemini-3.1-pro-preview -
llmtr/zai/glm-5.2,glm-5.1,glm-5,glm-5-turbo,glm-4.7,glm-4.6,glm-4.6v(vision) -
llmtr/qwen/qwen3.7-max,qwen3.7-plus,qwen3.6-flash,qwen3.5-plus,qwen3-coder-plus -
llmtr/deepseek/deepseek-v4-pro,deepseek-v4-flash,deepseek-reasoner,deepseek-chat -
llmtr/moonshot/kimi-k3,kimi-k2.7-code,kimi-k2.6 -
llmtr/minimax/minimax-m3,minimax-m2.7,minimax-m2.7-highspeed,minimax-m2.5,minimax-m2.5-highspeed -
llmtr/mistral/mistral-large-latest,mistral-medium-latest -
llmtr/meta/muse-spark-1.2,llama-3.3-70b-instruct -
llmtr/stepfun/step-3.7-flash,llmtr/mimo/mimo-v2.5-pro,llmtr/kwaikat/kat-coder-pro-v2.5,llmtr/nvidia/nemotron-3-super-120b-a12b
Discovery surfaces every chat-capable route the gateway serves, so the list above
is a floor rather than a limit. To pin one explicitly, or to override a published
value, add it under models.providers.llmtr.models in your OpenClaw config:
{
"models": {
"providers": {
"llmtr": {
"models": [{ "id": "perplexity/sonar-pro", "contextWindow": 131072, "maxTokens": 32768 }]
}
}
}
}Check supported_operations in curl https://llmtr.com/v1/models first: routes
LLMTR serves solely through /v1/responses reject chat-completions requests, as
do embedding, image, video and audio routes.
-
401/403— verify the key in the LLMTR dashboard, and re-runopenclaw onboard --auth-choice llmtr-api-keyif the stored profile is stale. - An id that used to work now errors — LLMTR retires routes, and retired ids drop
out of
GET /v1/modelsfirst.llmtr/sincapandllmtr/trendyol-7bare both gone;llmtr/trendyol-asure-12breplaces the latter. Use the ids fromopenclaw models list --provider llmtr. - A model is on llmtr.com but not in OpenClaw — it is most likely a
/v1/responses-only or non-chat route. Confirm withcurl https://llmtr.com/v1/modelsand checksupported_operations. -
502or idle timeouts on Turkey-hostedllmtr/*routes — those run on smaller capacity and can be briefly unavailable. Retry, or fall back to a global route; the same key serves both.
npm install
npm run build # bundles index.ts -> dist/index.js
npm run typecheck
npm testopenclaw is an optional peer dependency: the plugin imports the host's
openclaw/plugin-sdk/* subpath exports at runtime and is installed into an
existing OpenClaw instance.
This is a community-maintained package. A proposal to ship LLMTR as an official provider is open upstream at openclaw/openclaw#110917.
MIT