diff --git a/src/index.html b/src/index.html
index 123b3d3..f077f15 100644
--- a/src/index.html
+++ b/src/index.html
@@ -144,6 +144,9 @@ h1 {
}
.status-dot.connected { background: #a6e3a1; }
+.status-dot.online { background: #a6e3a1; box-shadow: 0 0 6px #a6e3a1; }
+.status-dot.offline { background: #f38ba8; }
+.status-sep { color: #45475a; }
.legend {
display: flex;
@@ -175,6 +178,9 @@ h1 {
connecting...
+ ·
+
+ LLM ...
@@ -295,8 +301,32 @@ function connectSSE() {
};
}
+const llmDot = document.getElementById('llmDot');
+const llmText = document.getElementById('llmText');
+
+async function pollLlm() {
+ try {
+ const res = await fetch('/llm/status');
+ const d = await res.json();
+ if (d.online) {
+ llmDot.className = 'status-dot online';
+ llmText.textContent = d.latency_ms != null
+ ? `LLM online · ${d.latency_ms}ms`
+ : 'LLM online';
+ } else {
+ llmDot.className = 'status-dot offline';
+ llmText.textContent = 'LLM offline';
+ }
+ } catch {
+ llmDot.className = 'status-dot offline';
+ llmText.textContent = 'LLM unknown';
+ }
+}
+
loadHistory();
connectSSE();
+pollLlm();
+setInterval(pollLlm, 15000);