{% extends "settings_base.html" %} {% import "_status_badge.html" as badges %} {% import "_fallback_defaults_form.html" as fallback_forms %} {% import "_icons.html" as icons %} {% block settings_content %}

Incoming Server

Persisted for the next process startup.

{{ badges.status_badge("Active") }}
{% if expose_all_ips %}

Network exposed. Use only on trusted networks.

{% endif %}

Settings Areas

Primary registries now live on focused tabs.

{{ fallback_forms.fallback_defaults_form( "Global Upstream Fallback Defaults", "Used when no exact or prefix route matches a request.", providers, default_provider_slug, default_model, fallback_enabled, upstream_url, "/admin/settings/server", "Save upstream defaults", true, "When no route matches, the proxy can send the request to " ~ (fallback.provider_name | default("the selected provider", true)) ~ " as " ~ (default_model | default("the configured model", true)) ~ "." ) }}

Default Compatibility Fixes

Applied to fallback requests and routes that opt into the default behavior.

{{ badges.status_badge("Configured" if default_compat_fixes else "Inactive") }}
{% for fix in available_compat_fixes %} {% endfor %}
Advanced manual edit

Model Routes Summary

Showing up to 10 recently used models from the last {{ days }} days. Use lookup for any configured model.

{{ icons.icon("plus", class_name="button-icon") }}Manage routes
Enter a model to preview the proxy route and sample request.
{% for route in recent_model_routes %} {% else %} {% endfor %}
Requested model Requests Last used Route Send as model Provider API key Status
{{ route.model }} {{ route.requests | compact_number }} {% if route.last_used_at %}{% else %}Never{% endif %} {{ route.matched_route | default("global fallback", true) }}{% if route.match_type %}{{ route.match_type }}{% endif %} {{ route.upstream_model }} {{ route.provider_name | default(route.provider_slug | default("Auto", true), true) }} {{ route.api_key_state }} {{ badges.status_badge(route.status | title) }}
No recent model traffic in this window. Use lookup to inspect any configured route.

Test Route / Diagnostics

Send a sample chat request through the configured resolution path.

{{ icons.icon("diagnostics", class_name="button-icon") }}Diagnostics tab
{% if test_result %}
{{ test_result.status_code | default('error', true) }} {{ test_result.kind }} {{ test_result.model_route | default('global fallback', true) }} {{ test_result.duration_ms | duration_ms }}
{{ test_result.url }} {% if test_result.error %}

{{ test_result.error }}

{% else %}
{{ test_result.body }}
{% endif %}
{% endif %}

Data Retention

Delete older request records and attached image payloads.

{{ badges.status_badge("Warning") }}

Older than {{ days }} days: {{ trim_count | compact_number }} row{{ "" if trim_count == 1 else "s" }} will be deleted.

{{ icons.icon("runs", class_name="button-icon") }}Refresh count
{% endblock %}