OrcaRouter provider support for Junie
- 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