feat(ai): curated OpenRouter model picker for hybrid backend
Add OPENROUTER_ALLOWED_MODELS env var and GET /insights/openrouter/models endpoint returning the curated list verbatim. Drop the live capability precheck in hybrid mode — trust the operator's allowlist; bad ids surface as a chat-call error. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
23
README.md
23
README.md
@@ -50,6 +50,29 @@ The following environment variables configure AI-powered photo insights and dail
|
||||
- `OLLAMA_URL` - Used if `OLLAMA_PRIMARY_URL` not set
|
||||
- `OLLAMA_MODEL` - Used if `OLLAMA_PRIMARY_MODEL` not set
|
||||
|
||||
#### OpenRouter Configuration (Hybrid Backend)
|
||||
The hybrid agentic backend keeps embeddings + vision local (Ollama) while routing
|
||||
chat + tool-calling to OpenRouter. Enabled per-request when the client sends
|
||||
`backend=hybrid`.
|
||||
|
||||
- `OPENROUTER_API_KEY` - OpenRouter API key. Required to enable the hybrid backend.
|
||||
- `OPENROUTER_DEFAULT_MODEL` - Model id used when the client doesn't specify one
|
||||
[default: `anthropic/claude-sonnet-4`]
|
||||
- Example: `openai/gpt-4o-mini`, `google/gemini-2.5-flash`
|
||||
- `OPENROUTER_ALLOWED_MODELS` - Comma-separated curated allowlist exposed to
|
||||
clients via `GET /insights/openrouter/models`. The mobile picker shows only
|
||||
these. Empty/unset = no picker, server default is used.
|
||||
- Example: `openai/gpt-4o-mini,anthropic/claude-haiku-4-5,google/gemini-2.5-flash`
|
||||
- `OPENROUTER_BASE_URL` - Override base URL [default: `https://openrouter.ai/api/v1`]
|
||||
- `OPENROUTER_EMBEDDING_MODEL` - Embedding model for OpenRouter
|
||||
[default: `openai/text-embedding-3-small`]. Only used if/when embeddings are
|
||||
routed through OpenRouter (currently embeddings stay local).
|
||||
- `OPENROUTER_HTTP_REFERER` - Optional `HTTP-Referer` for OpenRouter attribution
|
||||
- `OPENROUTER_APP_TITLE` - Optional `X-Title` for OpenRouter attribution
|
||||
|
||||
Capability checks are skipped for the curated allowlist — bad model ids surface
|
||||
as a 4xx from the chat call. Pick tool-capable models.
|
||||
|
||||
#### SMS API Configuration
|
||||
- `SMS_API_URL` - URL to SMS message API [default: `http://localhost:8000`]
|
||||
- Used to fetch conversation data for context in insights
|
||||
|
||||
Reference in New Issue
Block a user