JetBrains / JetBrains/junie

OrcaRouter provider support for Junie

Open
#104 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
437
Forks
32
Avg merge
4h 43m
Merged PRs (30d)
7

Description

# OrcaRouter provider support for Junie

## Summary

Junie — the LLM-agnostic coding agent by JetBrains that ships code from your terminal, IDE, or CI/CD pipeline — makes a strong case for letting users pick the model behind the agent. The Bring Your Own Key path (Anthropic, OpenAI, Google, xAI, OpenRouter, or Copilot) and custom model profiles in `$JUNIE_HOME/models/*.json` are a developer-first choice: you describe a task in natural language, and the model doing the work stays yours.

I'm an engineer on the OrcaRouter team. Because Junie already runs on "powered by any LLM you choose," an optional OrcaRouter provider would slot into that BYOK and custom-model story as one more entry, not a replacement. I'd like to gauge maintainer interest before writing any code.

## Proposal

Add [OrcaRouter](https://www.orcarouter.ai) as an optional provider. It would sit beside the existing BYOK providers and custom model profiles; nothing about the current providers would change.

OrcaRouter exposes an OpenAI-compatible API (`base_url https://api.orcarouter.ai/v1`, Chat Completions) and uses standard API-key authentication (`sk-orca-...`), so it fits Junie's existing `apiType: "OpenAICompletion"` abstraction — a user would set `baseUrl` to the OrcaRouter endpoint, `apiKey` to an `ORCAROUTER_API_KEY`, and `id` to a model or the `orcarouter/auto` router model. Exactly like the documented LiteLLM/Ollama/LM Studio profiles.

Relevant capabilities for Junie users:

- **Multiple models through one endpoint** — 200+ chat, reasoning, image, and video models behind a single `baseUrl`, plus adaptive routing (`orcarouter/auto`) that picks the best model per prompt; useful for the `primaryModel` / `fasterModel` split Junie already defines.
- **Provider failover** — if a provider is down or rate-limited, requests retry against healthy fallback capacity, which keeps CI/CD and IDE tasks from dying on a transient upstream outage.
- **Usage tracking and budgets** — per-request logs with model, latency, and cost, plus spend caps; helpful for teams that share a single Junie setup.

OrcaRouter is already entering the open-source ecosystem — projects such as Dify, models.dev, and OpenCode ship provider entries. It is one more option, not a lock-in: users who don't pick it see no change.

## Disclosure

OrcaRouter runs an optional open-source partner program: approved OSS projects can receive a 5% revenue share from OrcaRouter usage attributed to their integration. Participation in that program is **not** a prerequisite for integration, and I'd be glad to follow whatever disclosure or governance rules Junie has for this kind of relationship. If maintainers are interested, I can open an implementation PR.

More about the program and current integrations: https://www.orcarouter.ai/built-with

Looking forward to maintainers' thoughts.

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue does not name implementation files, tests, or an entry point; start by locating Junie's existing BYOK provider and custom model profile handling. Before coding, get maintainer direction on whether OrcaRouter should be supported through configuration alone or with a dedicated integration; done should include the agreed provider behavior, documentation, and tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.