{% extends "base.html" %} {% block content %} {% include "aes_nav.html" %} {% if !configured %}
{{ error }}
{{ error }}
{{ note }}
Keine Projekte.
{% else %}| Projekt | Letzter Lauf |
|---|---|
| {{ p.name }} | {{ p.status }} |
Keine Aktivitaet.
{% else %}{{ bal_summary }}
{% if backends.is_empty() %}Keine Backends gemeldet.
{% endif %} {% for b in backends %}Noch keine Projekte.
{% else %}| Projekt | |
|---|---|
| {{ p.name }} | Oeffnen → |
Git-Server der AES-Suite. Zugriff erfolgt serverseitig mit dem AES-Token — kein eigenes Token noetig.
{% if repos.is_empty() %}Keine Repositories.
{% else %}| Repository | Branch | Sichtbarkeit | |
|---|---|---|---|
| {{ r.label }} | {{ r.value }} | {{ r.sub }} |
Runner-Status nicht verfuegbar. {{ runner_hint }}
Keine.
{% else %}Noch keine Laeufe aufgezeichnet (erscheinen beim naechsten Commit auf einem beobachteten Repo).
{% else %}| Repository | Branch | Commit | Ergebnis | Beendet |
|---|---|---|---|---|
| {{ r.repo }} | {{ r.branch }} | {{ r.sha }} | {{ r.ok_label }} | {{ r.finished_at }} |
Agenten sind llm-agent-Instanzen (je LLM-Host, mit lokalem Ollama), die sich beim Balancer anmelden und Inferenz + Host-Metriken liefern.
{{ bal_summary }}
{% if backends.is_empty() %}Kein Agent online. Starte einen Agenten auf einem GPU/CPU-Host: aes-suite agent --token <AGENT_TOKEN> (Ollama vorausgesetzt) und trage seine URL im Balancer (OLLAMA_HOSTS) ein.
| Host | Agent | Backend | CPU | RAM | VRAM | Latenz |
|---|---|---|---|---|---|---|
| {{ b.url }} | {{ b.agent }} | {{ b.badge }} | {{ b.cpu }}% | {{ b.ram }}% | {{ b.vram }}% | {{ b.latency }}ms |
{{ hinweis }}
{{ fehler }}
Der Balancer proxyt Inferenz OpenAI-/Ollama-kompatibel auf die Verbindungen; ohne gesundes Ollama-Backend greift der passende Cloud-/OpenAI-Provider.
Ollama-Hosts und OpenAI-kompatible Provider (OpenAI, InferX, Together, Groq, Infercom, …). base_url = OpenAI-Basis (…/v1). API-Key leer lassen = unveraendert. Speichern startet die aes-suite neu.
Presets base_url: InferX https://model.inferx.net/<endpoint>/v1 · Together https://api.together.xyz/v1 · Groq https://api.groq.com/openai/v1 · OpenAI https://api.openai.com/v1
Keine Antwort — Ursache siehe Fehlermeldung oben (kein gesundes Backend und kein Cloud-Fallback aktiv).
{% else %}Keine Modelle geladen (Backend offline oder leer).
{% else %}| Modell | |
|---|---|
| {{ m }} |
{{ bal_summary }}
{% if backends.is_empty() %}Keine Backends. Sobald ein llm-agent online ist, erscheinen hier Auslastung und Modelle.
{% else %}| Backend | Status | CPU | RAM | VRAM | Latenz | Modelle |
|---|---|---|---|---|---|---|
| {{ b.url }} | {{ b.badge }} | {{ b.cpu }}% | {{ b.ram }}% | {{ b.vram }}% | {{ b.latency }}ms | {{ b.models }} |
Live-Ansicht aller Dienste (aktualisiert sich automatisch). Externe Anbindung siehe Admin → Metrics.
Lade Live-Daten… (aktiviere JavaScript fuer die Live-Ansicht)
Keine Events.
{% else %}| {{ r.k }} | {% if r.class.is_empty() %}{{ r.v }}{% else %}{{ r.v }}{% endif %} |
Zum Anbinden eines externen Monitorings (Prometheus/Grafana o.ae.). Aufruf mit Header Authorization: Bearer <ITSM_AES_METRICS_TOKEN>.
| {{ r.k }} | {{ r.v }} |
{{ hinweis }}
{{ fehler }}
Secrets werden nie im Klartext angezeigt; Feld leer lassen = unveraendert. Speichern startet den betroffenen Dienst automatisch neu.
{% if comp != "runner" %} {% endif %} {% if comp.is_empty() || comp == "all" || comp == "runner" %} {% endif %} {% endif %} {% endif %} {% endblock %}