Provider integration

Use OpenRouter models in every coding agent

OpenRouter gives you hundreds of models behind one key. AutoJev puts them behind one local endpoint for all your agents — and can use OpenRouter Jev to decide which model each request should go to.

  • Built-in preset: https://openrouter.ai/api (no trailing /v1)
  • Agents see models as openrouter/<vendor>/<model>
  • Your OpenRouter key can also drive Jev intelligent selection
  • Only routing metadata is sent to Jev, never the conversation

Providers

+ Providers

OpenRouter

https://openrouter.ai/api

DeepSeek

https://api.deepseek.com

OpenAI

https://api.openai.com/v1

Ollama

http://127.0.0.1:11434

One catalog, every agent, your rules

OpenRouter already solves "many models, one bill". What it does not solve is the agent side: Codex wants Responses, Claude Code wants Anthropic Messages, Gemini CLI wants the Gemini API, and each one keeps its own config file. AutoJev connects them all to one gateway at http://127.0.0.1:9527/v1 and converts protocols as needed.

On top of that, AutoJev adds routing that lives on your machine: group OpenRouter models into routes such as `autojev/fast` or `autojev/quality`, load-balance by weight, fail over on errors, and mix in models from DeepSeek, OpenAI or a local Ollama in the same route.

Add OpenRouter

  1. 1

    Create the provider

    Providers → Add provider → OpenRouter. The base URL is preset to https://openrouter.ai/api. Do not add /v1 — AutoJev appends the API path itself.

    text
    Provider type: OpenRouter Provider name: openrouter Base URL: https://openrouter.ai/api API type: OpenAI Chat Completions API key: sk-or-…
  2. 2

    Test with a model you have access to

    Enter any OpenRouter model slug as the test model and click Test. The test endpoint shown is https://openrouter.ai/api/v1/chat/completions.

  3. 3

    Add models by their OpenRouter slug

    Add each model with the slug OpenRouter lists, for example `anthropic/claude-sonnet-4` or `qwen/qwen3-coder-flash`, plus prices, tier, capability flags and context window. Agents see them as `openrouter/anthropic/claude-sonnet-4`.

  4. 4

    Route and connect

    Put the models into a route, then connect agents on the Agents page. Already using CC Switch or Termany? Import providers from them instead; OpenRouter URLs are normalized without the trailing /v1.

OpenRouter also powers the Jev decision model

Intelligent selection routes can ask a decision model which candidate should handle a request. By default that is OpenRouter Jev, called through OpenRouter’s Decisions API with your own OpenRouter API key. Configure it under Settings → Gateway & routing → Decision model: a decision model ID and your OpenRouter key.

Jev receives derived task features and candidate model metadata such as tier, price and capabilities — only routing metadata is sent, not conversation content. Balanced and Higher quality preferences use Jev, and Lower cost uses it to judge the needed tier before comparing prices locally; Lower latency is decided locally from measured speed tests without calling Jev. If Jev is unavailable, or returns a confidence below 0.5, AutoJev falls back to weighted load balancing within the highest-priority group.

A route built on OpenRouter

Any client can request a route by its ID. AutoJev picks the model, calls OpenRouter, and records the choice in Logs.

Chat Completions request to an AutoJev route
curl http://127.0.0.1:9527/v1/chat/completions \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer autojev-local-terminal' \ -d '{"model": "autojev/quality", "messages": [{"role": "user", "content": "Review this diff for race conditions"}]}'

Why route OpenRouter through AutoJev

Protocol conversion

Codex (Responses) and Claude Code (Messages) both work with OpenRouter models configured as Chat Completions.

Session affinity

Once a session lands on a model, follow-up turns stay on it while it is eligible, so long agent loops do not hop between models.

Local logs and cost

Every OpenRouter call is logged with tokens, latency and estimated cost from your configured prices — prompts and responses are not stored.

Routes mixing OpenRouter with other providers

Load balancing or intelligent selection, with per-model priority and weight; single models can also be called directly as <provider>/<model_id>.

Routes

Create reusable routes and bind your agents to a route ID.

+ Add route

fast

autojev/fast

quality

autojev/quality

cheap

autojev/cheap

balanced

autojev/balanced

lb

autojev/lb

Frequently asked questions

Should the OpenRouter base URL end with /v1?

No. Use https://openrouter.ai/api. AutoJev appends /v1/chat/completions (or /v1/responses, /v1/messages) based on the model’s API type.

What is Jev and do I need it?

Jev is OpenRouter’s decision model. AutoJev uses it only for intelligent selection routes with the Balanced, Lower cost or Higher quality preference. Load-balancing routes, direct <provider>/<model_id> calls and the Lower latency preference never call it.

What does AutoJev send to Jev?

Derived task features and candidate metadata such as tier, prices and capabilities. Conversation content is not sent. Jev is called with your own OpenRouter key.

What happens if Jev is down or unsure?

If the call fails or the confidence is below 0.5, AutoJev falls back to weighted load balancing within the highest-priority group, so requests keep flowing.

Can I use Claude models from OpenRouter in Claude Code?

Yes. Add the model by its OpenRouter slug and connect Claude Code. Claude Code calls /v1/messages and AutoJev converts to the model’s API type.

Keep exploring

Updated 2026-10-14

Give every agent the right model.

Install AutoJev, add the providers you already pay for, and connect your agents in one click. Everything stays on your machine.

Free & open source · macOS · Windows · Linux