{% extends "base.html" %} {% block title %}Providers - Invincible{% endblock %} {% block content %}

Provider connections

Chat requests route only through providers you connect here. The model you save per connection is just the default — any request that names a model is routed with that model instead, so you can use any model your provider offers.

{% if connected %}{% endif %} {% if tested == 'ok' %} {% elif tested == 'failed' %}{% endif %} {% if test_error %}{% endif %}

Connect a provider

{% for c in catalog %}
{{ c.label[0] | upper }}
{{ c.label }} {% if c.key in connected_keys %}

Connected

{% else %}

Not connected

{% endif %}
{% if c.key not in connected_keys %}
{% endif %}
{% endfor %}
+ Add a custom provider

Connected providers

{% if rows %}
{% include "_provider_rows.html" %}
NameModelBase URL KeyStatus
{% else %}

No providers connected yet. Connect your first provider →

{% endif %} {% if rows %}

Routing

How requests pick among your connected providers.

{% if routing_saved %}{% endif %}
{% for r in rows %}
{# formaction rides the routing form's submit to the move endpoint (nested would be invalid HTML); the endpoint ignores the routing fields and only reads direction. #} {{ r.provider_name[0] | upper }} {{ r.provider_name }}
{% endfor %}
{% endif %} {% endblock content %}