{% extends "base.html" %} {% block title %}CC Profile — MoE Admin{% endblock %} {% block flash %} {% if flash %} {% endif %} {% endblock %} {% block content %}
{{ t(request, 'page.profiles') }}
{% if not profiles %}
{{ t(request, 'empty.no_profiles') }}
{% endif %}
{% for p in profiles %} {% set is_enabled = p.get('enabled', True) %}
{{ p.name }} {% if is_enabled %} {{ t(request, 'status.enabled') }} {% else %} {{ t(request, 'status.disabled') }} {% endif %}
{% if p.tool_timeout %} {% endif %} {% if p.expert_template_id %} {% endif %} {% if p.system_prompt_prefix %} {% endif %}
{{ t(request, 'lbl.models') }} {% if p.accepted_models %} {{ p.accepted_models | join(', ') }} {% else %} {% endif %}
Tool-Modell {{ p.tool_model or '—' }}
Endpoint {{ p.tool_endpoint or '—' }}
MoE-Modus {% if p.moe_mode == 'native' %} native {% elif p.moe_mode == 'moe_reasoning' %} moe_reasoning {% else %} moe_orchestrated {% endif %}
Think-Stream {% if p.stream_think %} on {% else %} off {% endif %}
Limits & Ctx Tool Out: {{ p.tool_max_tokens or 8192 }} / Reasoning Out: {{ p.reasoning_max_tokens or 16384 }} / Ctx: {{ p.context_window or 'auto' }}
Timeout {{ p.tool_timeout }}s
Template {% set tmpl = expert_templates | selectattr('id', 'equalto', p.expert_template_id) | first | default(none) %} {% if tmpl %}{{ tmpl.name }}{% else %}{{ p.expert_template_id }}{% endif %}
Prefix {{ p.system_prompt_prefix[:60] }}…
{% endfor %}
{# ── Profil-Modal (Create / Edit) ── #} {# Sync notification banner — shown after profile save/delete #} {# Spinner overlay shown while the orchestrator restarts after a toggle #}

Updating profile — restarting orchestrator…

{% endblock %} {% block scripts %} {% endblock %}