Document the bundled OpenRouter configuration
This commit is contained in:
@@ -14,8 +14,8 @@ A configuration document may contain top-level `backends`, `profiles`, and
|
||||
`prompts` lists, plus a `collections` mapping of namespaced resource groups.
|
||||
Each resource has an explicit literal `id`, not a filename-derived identity.
|
||||
IDs and references must be nonblank and remain exact: Promptkit does not trim or
|
||||
re-key them. Unknown fields are errors. Promptkit installs no provider or
|
||||
profile catalog; callers select the definitions they need.
|
||||
re-key them. Unknown fields are errors. Promptkit installs a default-on bundled
|
||||
OpenRouter underlay; callers still explicitly select a profile.
|
||||
|
||||
```yaml
|
||||
backends:
|
||||
@@ -332,9 +332,58 @@ For example, a runtime `extra_params["extends"]` key is ordinary provider
|
||||
data, not a configuration inheritance instruction. An explicit zero timeout
|
||||
does not disable the caller context or HTTP transport timeout.
|
||||
|
||||
### Bundled OpenRouter Configuration
|
||||
|
||||
The default bundle installs root backend `openrouter`, endpoint
|
||||
`https://openrouter.ai/api/v1`, optional credential environment name
|
||||
`OPENROUTER_API_KEY`, and smoke metadata selecting `gpt-luna-latest` with the
|
||||
`openrouter_key` authentication adapter. Existing diagnostic endpoint fallback
|
||||
applies. No prompt, implicit profile selection, or tuning defaults are installed.
|
||||
Disable the entire bundle with `WithBundledOpenRouter(false)`.
|
||||
|
||||
The root profile IDs and their models are:
|
||||
|
||||
| Profile | Model |
|
||||
| --- | --- |
|
||||
| `gpt-astra-latest` | `~openai/gpt-astra-latest` |
|
||||
| `gpt-sol-latest` | `~openai/gpt-sol-latest` |
|
||||
| `gpt-terra-latest` | `~openai/gpt-terra-latest` |
|
||||
| `gpt-luna-latest` | `~openai/gpt-luna-latest` |
|
||||
| `claude-fable-latest` | `~anthropic/claude-fable-latest` |
|
||||
| `claude-opus-latest` | `~anthropic/claude-opus-latest` |
|
||||
| `claude-sonnet-latest` | `~anthropic/claude-sonnet-latest` |
|
||||
| `claude-haiku-latest` | `~anthropic/claude-haiku-latest` |
|
||||
| `gemini-pro-latest` | `~google/gemini-pro-latest` |
|
||||
| `gemini-flash-latest` | `~google/gemini-flash-latest` |
|
||||
| `auto` | `openrouter/auto` |
|
||||
| `free` | `openrouter/free` |
|
||||
|
||||
The profiles `auto-low`, `auto-medium`, `auto-high`, `auto-xhigh`, and
|
||||
`auto-max` extend `auto` and add an `auto-router` plugin with the corresponding
|
||||
`cost_tier`. Replacing `auto` changes their inherited backend and model while
|
||||
retaining their plugins. These are root IDs even when a model contains `/`.
|
||||
For example, a caller can replace `auto` as a complete record and extend another
|
||||
bundled profile under a new ID:
|
||||
|
||||
```yaml
|
||||
profiles:
|
||||
- id: auto
|
||||
backend: openrouter
|
||||
model: openrouter/free
|
||||
- id: my-luna
|
||||
extends: {id: gpt-luna-latest}
|
||||
timeout_seconds: 60
|
||||
```
|
||||
|
||||
See OpenRouter's [alias examples](https://openrouter.ai/~openai/gpt-luna-latest),
|
||||
[auto router and cost tiers](https://openrouter.ai/docs/guides/routing/routers/auto-router),
|
||||
and [free router](https://openrouter.ai/docs/guides/routing/routers/free-router)
|
||||
for provider behavior and availability.
|
||||
|
||||
### Source And Profile Precedence
|
||||
|
||||
`NewEngine` composes caller underlays in their given order, followed by an
|
||||
`NewEngine` composes the bundled OpenRouter underlay first by default, then
|
||||
caller underlays in their given order, followed by an
|
||||
optional main input. Later layers overlay earlier ones. Inputs within one
|
||||
underlay group are strictly composed: conflicting contributions are errors,
|
||||
not priority signals. The directory helpers discover `.yaml` and `.yml` files recursively
|
||||
|
||||
Reference in New Issue
Block a user