{% extends "admin/_layout.html" %} {% from "_macros.html" import icon, model_avatar %} {% set section = "models" %} {% block title %}Models - {{ brand.name }}{% endblock %} {% block heading %}Models{% endblock %} {% block admin_content %}

Every model discovered across your connections. The order here is the order users see in the picker. {{ t("Pinning") }} does not reorder anything — it puts a shortcut in the chat sidebar. The {{ t("default") }} is what a new chat starts with.

{% if saved %}
{{ icon("check", "icon--sm") }} {{ saved }}
{% endif %} {% if not total %}
{{ icon("server", "empty__mark") }}

No models yet. Add a connection and run “Test & refresh”.

{% else %} {# Filters are links, so a filtered view is a real URL you can keep or share. #}
{% for key, label in filters.items() %} {{ label }} {{ counts[key] }} {% endfor %}
{% if q or connection_id or active_filter != "all" %} Clear {% endif %}
{% if not models %}

{{ t("Nothing matches that filter.") }}

{% else %}
{{ t("With selected:") }}
{% for model in models %}
{{ page_start + loop.index }} {{ model_avatar(model, cls="model-row__avatar") }}
{{ model.label }} {% if model.model_id == default_model %} {{ t("default") }} {% endif %} {% if model.pinned %}{{ t("pinned") }}{% endif %} {% if not model.enabled %}{{ t("disabled") }}{% endif %} {% if not model.public %}{{ t("restricted") }}{% endif %} {% for name, on in (model.capabilities_json or {}).items() %} {% if on %}{{ name }}{% endif %} {% endfor %}
{{ model.model_id }} · {{ model.connection.name }}
{# formaction lets these post elsewhere without nesting a second form. #} Edit
{% endfor %}
{% endif %} {% endif %} {% endblock %}