Skip to content

Commit 1e5fdac

Browse files
authored
feat(config): route deepseek/ OpenRouter family (deepseek-v4-flash) (#90)
1 parent cdac5ba commit 1e5fdac

4 files changed

Lines changed: 10 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ See [Releases](README.md#releases) for how a release is cut.
88

99
## [Unreleased]
1010

11+
### Added
12+
- **Route the `deepseek/` OpenRouter family.** Added `deepseek/` to the OpenRouter
13+
provider's prefix allowlist so `deepseek/deepseek-v4-flash` (and other
14+
`deepseek/…` models) route instead of silently falling back to NRP. Enables the
15+
fleet-wide "DeepSeek V4 Flash (OpenRouter)" picker option.
16+
1117
### Fixed
1218
- **Strip leaked `<arg_key>`/`<arg_value>` (GLM) and `<parameter=…>` (qwen) tool-call
1319
arg dialect from responses (#85).** Some open-weight backends (`z-ai/glm-5.2`, the

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Configured in `config.json`. Most deployments only need NRP:
3838
| Provider | Models | Notes |
3939
|---|---|---|
4040
| **NRP** (`ellm.nrp-nautilus.io`) | `kimi`, `qwen3`, `glm-5`, `minimax-m2`, `gpt-oss`, `gemma` | Default; supports `enable_thinking` for applicable models |
41-
| **OpenRouter** | `anthropic/…`, `mistralai/…`, `openai/…`, `qwen/…`, `nvidia/…`, `amazon/…`, `z-ai/…`, `minimax/…`, `moonshotai/…` | Prefix match; requires separate API key |
41+
| **OpenRouter** | `anthropic/…`, `mistralai/…`, `openai/…`, `qwen/…`, `nvidia/…`, `amazon/…`, `z-ai/…`, `minimax/…`, `moonshotai/…`, `deepseek/…` | Prefix match; requires separate API key |
4242
| **Anthropic** | `claude-…` (default `claude-sonnet-4-6`; `claude-opus-4-8`, `claude-haiku-4-5` also route) | Direct via Anthropic's OpenAI-compatible `/v1/chat/completions`; prefix match. Bills the Developer Platform API (not the Claude.ai Team plan) — set `ANTHROPIC_API_KEY`. The default model is chosen app-side (`llm_model`); the proxy just routes whatever `claude-*` it receives. **No prompt caching** — see below |
4343
| **Nimbus** | `nemotron` | Private vLLM instance; requires separate API key |
4444

config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
"nvidia/",
3333
"z-ai/",
3434
"minimax/",
35-
"moonshotai/"
35+
"moonshotai/",
36+
"deepseek/"
3637
],
3738
"extra_headers": {
3839
"HTTP-Referer": "https://open-llm-proxy.nrp-nautilus.io",

llm_proxy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ def load_config() -> dict:
330330
"openrouter": {
331331
"endpoint": "https://openrouter.ai/api/v1/chat/completions",
332332
"api_key_env": "OPENROUTER_KEY",
333-
"models": ["anthropic/", "mistralai/", "amazon/", "openai/", "qwen/", "nvidia/", "z-ai/", "minimax/", "moonshotai/"],
333+
"models": ["anthropic/", "mistralai/", "amazon/", "openai/", "qwen/", "nvidia/", "z-ai/", "minimax/", "moonshotai/", "deepseek/"],
334334
"extra_headers": {
335335
"HTTP-Referer": "https://wetlands.nrp-nautilus.io",
336336
"X-Title": "Wetlands Chatbot"

0 commit comments

Comments
 (0)