Skip to main content

Dify plugin

The NuRoute model provider plugin lets Dify apps and agents route their LLM calls through your NuRoute gateway — model auto lets NuRoute's routing engine pick the best model for each request, or specify one directly. With auto, Artemis Task picks the model for each request.

How it works​

Dify plugins run as a separate process the Dify platform talks to over its own plugin protocol — not something you host yourself. This plugin is a thin subclass of the Dify Plugin SDK's own OpenAI-compatible model base class, since NuRoute's /v1/chat/completions endpoint already speaks that format; the SDK handles the actual request/response/streaming plumbing.

Install​

Once listed on the Dify Marketplace: in Dify, go to Plugins → Marketplace, search for NuRoute, and install it. Self-hosting Dify? You can also install it from a .difypkg file directly (Plugins → Install from local package).

Setup​

  1. Settings → Model Provider → NuRoute → Add Model.
  2. Model Name: auto, or a specific model ID from your NuRoute catalog (e.g. gpt-4o, claude-sonnet-4-6).
  3. NuRoute Gateway URL: your gateway's base URL, including /v1 (e.g. https://your-nuroute-gateway/v1).
  4. API Key: an aicp-... key from your project's (or org's) API Keys page.
  5. Model context size: the context window of the model you're routing to.

Add it again with a different Model Name to make several NuRoute-routed models available side by side in Dify's model dropdown — for example, auto for most apps and a pinned model for one that needs a specific provider.

Function calling​

Tool/function calling is on by default in the plugin's settings, since NuRoute's gateway supports OpenAI-style tools/tool_choice. Turn it off only if the specific model you're routing to doesn't support tool calls.

Which models can I use?​

The same catalog as everywhere else. See Providers & Models for the full list, and the dashboard's Model Catalog tab for the live view (providers your admin has connected platform-wide, plus any you've connected yourself via BYOK).

What's not supported​

This is a model provider only — it sends chat completions through NuRoute, nothing else. Projects, routing configuration, policies, budgets, and API keys are all still managed from the NuRoute dashboard.