{% extends "admin/base.html" %} {% from "partials/_macros.html" import pill, empty_state %} {% block page %}
{{ icon('layers') }}Registered providers {{ icon('chevron-right') }}
{{ overview.providers|length }}
{{ icon('sparkles') }}Model tiers {{ icon('chevron-right') }}
{{ overview.tier_count }}
{{ icon('shield-check') }}Auth {{ icon('chevron-right') }}
{{ overview.api_keys_count }}
{{ icon('zap') }}Rate limit / min {{ icon('chevron-right') }}
{% if overview.rate_limit_per_minute %} {{ overview.rate_limit_per_minute }} {% else %}∞{% endif %}

{{ icon('layers') }} Model tiers

How brains classifies requests by quality & cost.

{% if overview.models %} {% for tier, route in overview.models.items() %} {% endfor %}
TierProviderModel
{{ tier }} {{ pill(route.provider, tone='accent') }} {{ route.model }}
{% else %} {{ empty_state('No tiers defined', body='Add a tier in Config to start routing requests.', icon_name='layers') }} {% endif %}

{{ icon('network') }} Task routing

Which tier each named task is sent to.

{% if overview.routes %} {% for task, tier in overview.routes.items() %} {% endfor %}
TaskTier
{{ task }} {{ tier }}
{% else %} {{ empty_state('No routes mapped', body='Map at least one task to a tier.', icon_name='network') }} {% endif %}

{{ icon('key-round') }} Auth & secrets

Snapshot of who’s authorised to call the gateway.

Primary admin key
{% if overview.api_key_set %}{{ pill('configured', tone='success', dot=True) }} {% else %}{{ pill('unset', tone='danger', dot=True) }}{% endif %}
Rotation keys
{{ pill(overview.api_keys_count, tone='neutral') }}
OpenAI-compatible key
{% if overview.openai_compatible_api_key_set %}{{ pill('resolved', tone='success', dot=True) }} {% else %}{{ pill('none', tone='warning', dot=True) }}{% endif %}
Anonymous API access
{% if overview.allow_unauthenticated_api %}{{ pill('allowed', tone='danger', dot=True) }} {% else %}{{ pill('blocked', tone='success', dot=True) }}{% endif %}

{{ icon('hard-drive') }} Runtime overlay

Every admin-UI edit lands here. Secrets stay as ${ENV:NAME} refs.

{{ overview.overlay_path }}

{% endblock %}