Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Self-hosted LLM router with a managed safety net. OpenAI-compatible. BYOK. Single-workspace. Streaming. For more advanced routing choose hosted OrcaRouter
| Date | Stars |
|---|---|
| 2026-07-31 | 411 |
| 2026-08-06 | 411 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# OrcaRouter Lite
**Self-hosted LLM router with a managed safety net.**
OpenAI-compatible. BYOK. Single-workspace. Streaming. `model="auto"`.

[](#testing)
[](#model-catalog)
[](#license)
## Languages
- [English](./README.md)
- [日本語](./README.ja.md)
- [中文](./README.zh.md)
- [한국어](./README.ko.md)
- [Deutsch](./README.de.md)
- [Français](./README.fr.md)
- [Español](./README.es.md)
- [Italiano](./README.it.md)
- [Русский](./README.ru.md)
- [Português](./README.pt.md)
- [Tiếng Việt](./README.vi.md)
- [हिन्दी](./README.hi.md)
OrcaRouter Lite is the open-source single-workspace edition of [OrcaRouter](https://www.orcarouter.ai). Run it on your laptop, ship it in your product, or use hosted `api.orcarouter.ai` directly for the long tail of models you don't want to manage keys for.
> **Why us?** LiteLLM is a library; OpenRouter is closed-source hosted; Ollama is local-only. We're the **self-hosted server with a managed fallback** — a sentence none of those can say.
## 60-second quickstart
Two ways to use OrcaRouter:
### Path A — Self-hosted (BYOK)
Run Lite on your own machine; bring your own provider keys.
```bash
git clone https://github.com/Continuum-AI-Corp/OrcaRouter-Lite.git
cd OrcaRouter-Lite
cp .env.example .env
# add at least one: OPENAI_API_KEY=sk-... (or ORCAROUTER_API_KEY=...)
docker compose up
# logs: ✓ orcarouter-lite ready. API key: sk-orca-abc123...
```
Base URL: `http://localhost:8000/v1`. Use the `sk-orca-*` key printed at startup.
### Path B — Hosted (account required)
No clone, no docker. Register, get a key, point any OpenAI SDK at hosted.
```bash
# 1. Register at https://www.orcarouter.ai and copy your sk-orca-* key
# 2. Use https://api.orcarouter.ai/v1 as the base URL
```
**Account required.** Hosted handles routing, billing, and the long tail of providers — billed per-token on your OrcaRouter account. See [docs.orcarouter.ai/introduction](https://docs.orcarouter.ai/introduction).
### Then call it from any OpenAI SDK
Examples below use Path A's localhost base URL — swap for `https://api.orcarouter.ai/v1` if you're on Path B.
<details>
<summary><b>Python</b></summary>
```python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="sk-orca-abc123...",
)
r = client.chat.completions.create(
model="auto", # or "gpt-4o-mini", "claude-3-5-sonnet-latest", ...
messages=[{"role": "user", "content": "Hello!"}],
)
print(r.choices[0].message.content)
```
</details>
<details>
<summary><b>Node.js</b></summary>
```js
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://localhost:8000/v1",
apiKey: "sk-orca-abc123...",
});
const r = await client.chat.completions.create({
model: "auto",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(r.choices[0].message.content);
```
</details>
<details>
<summary><b>curl</b></summary>
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Authorization: Bearer sk-orca-abc123..." \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
</details>
Open `http://localhost:8000/` for the dashboard — providers, routing, analytics, keys (Path A only).
## Why?
| | OrcaRouter Lite | LiteLLM library | OpenRouter | Ollama |
|---|---|---|---|---|
| Self-hosted server | ✓ | as a library | ✗ | ✓ |
| OpenAI-compatible | ✓ | ✓ | ✓ | ✓ |
| Multi-provider (OpenAI/Anthropic/Google/…) | ✓ | ✓ | ✓ | ✗ |
| Built-in dashboard | ✓ | ✗ | ✓ | ✗ |
| `model="auto"` (cheapest capable) | ✓ | ✗ | ✗ | n/a |
| Streaming | ✓ | ✓ | ✓ | ✓ |
| BYOK | ✓ | ✓ | ✗ | n/a |
| Hosted-as-fallback | ✓ | ✗ | n/a | ✗ |
| No Postgres / no Redis reExcerpt of 12,139 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:14511e488105f68a, llm:description: 'Self-hosted LLM router with a managed safety net. OpenAI-compatible. BYOK. Single-workspace. Streaming.'
matched fp:14511e488105f68a, llm:description: 'Self-hosted LLM router with a managed safety net. OpenAI-compatible. BYOK. Single-workspace. Streaming.'
matched fp:14511e488105f68a, llm:description: 'Self-hosted LLM router with a managed safety net. OpenAI-compatible. BYOK. Single-workspace. Streaming.'