Skip to content

CATALOG

Your keys. Your catalog.

Add a ChatGPT or Claude key, or any Responses / Anthropic API. DeepSeek is one builtin wrapper — not the product. Failover walks an ordered list. The stream does not restart.

Your catalog

Point sveda-server at OpenAI, Anthropic, or any compatible endpoint. Failover walks an ordered list without restarting the stream on the client.

ChatGPT

OpenAI key, Responses

Claude

Anthropic key, messages

Custom

any compatible URL

The problem

Hardcoding a provider SDK in the widget means a new stream parser when the vendor flakes. Failover becomes a UI rewrite. Custom endpoints never join the same ordered list as the builtins. The catalog should live on the runtime.

Model id in the frontend

Shipping a provider name in the Vue tree couples deploy to catalog. Keys and URLs live on sveda-server. The client may pass model on a turn; it does not own the list.

Failover as a new session

Drop the primary, remount the chat, lose tool state. Sveda walks failover_ids on the same POST /sveda/stream. Event types do not change.

One protocol only

A Responses-only client cannot take an Anthropic URL. Catalog rows speak responses or anthropic — ChatGPT, Claude, a custom host, or the DeepSeek wrapper.

How Sveda does it

Put an OpenAI or Anthropic key on the sidecar, or a catalog row with any Responses / Anthropic-compatible URL. DeepSeek wrappers are optional builtins in the same list. Failover walks failover_ids.

ChatGPT / Responses

OpenAI key on the sidecar, protocol responses. Same stream as every other catalog row.

  • your OpenAI key
  • protocol responses
  • POST {url}/responses

Claude / Anthropic

Anthropic key on the sidecar, protocol anthropic. Failover can walk here without a new client.

  • your Anthropic key
  • protocol anthropic
  • POST {url}/messages

Custom URL or wrapper

Any compatible host, or the optional DeepSeek wrapper. Not a new widget — a catalog row.

  • url + protocol + key
  • DeepSeek is one wrapper
  • failover_ids stay an ordered list
FAILOVER PATH primary live
  • ChatGPT responses
  • Claude anthropic
  • Custom URL your endpoint

Stream held. Event types unchanged.

Swap a provider. Keep send.

session.send may include model or provider. Failover is still the ordered list on the runtime. You do not rebuild the widget when ChatGPT times out and Claude continues the turn.

This is not a hosted model marketplace. Keys and custom URLs stay on sveda-server. The marketing site is not a chatbot SaaS. Point a custom row at any Responses or Anthropic-compatible URL and put it in failover_ids if it should catch a drop.

Ids and env are in the models docs. Model failover is the same catalog, written as a job to keep the stream up.

CATALOG responses | anthropic
  • ChatGPT openai
  • Claude anthropic
  • Custom URL your endpoint
  • DeepSeek wrapper optional

Related

Keep the catalog on the runtime.

ChatGPT, Claude, or a custom Responses / Anthropic URL. DeepSeek is one wrapper. Same session.send.

Get started