Zentrale: "Lucys Augen"-Check ergaenzt (Vision-Modell im Blick)
Nutzer-Fund: Die Faehigkeiten-Liste zeigte Hirn/Gedaechtnis/Gateway/Agent/ Stimme, aber nicht die Augen — obwohl das Vision-Modell seit heute zum Immer-bereit-Set gehoert. Neuer Check (nicht kritisch): gruen wenn das vision-Modell geladen ist, sonst Warnung mit 1-Klick-"Augen aufwecken". Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
+46
-46
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
<link rel="manifest" href="/manifest.webmanifest" />
|
<link rel="manifest" href="/manifest.webmanifest" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
<title>Mission Control 2.0</title>
|
<title>Mission Control 2.0</title>
|
||||||
<script type="module" crossorigin src="/assets/index-C3HWS1JY.js"></script>
|
<script type="module" crossorigin src="/assets/index-BsGulpv8.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-_Rap01H_.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-_Rap01H_.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// Lucy-Fähigkeiten in Klartext, inkl. Gesamt-Verdikt, Speicher-Ampel und einer
|
// Lucy-Fähigkeiten in Klartext, inkl. Gesamt-Verdikt, Speicher-Ampel und einer
|
||||||
// konkreten 1-Klick-Reparatur pro Problem. EINE Quelle für das Status-Panel.
|
// konkreten 1-Klick-Reparatur pro Problem. EINE Quelle für das Status-Panel.
|
||||||
|
|
||||||
import { Brain, BookMarked, Plug, Bot, Mic, type LucideIcon } from "lucide-react"
|
import { Brain, BookMarked, Eye, Plug, Bot, Mic, type LucideIcon } from "lucide-react"
|
||||||
import { useHealth, useServices, useModels, useSystemStatus } from "./queries"
|
import { useHealth, useServices, useModels, useSystemStatus } from "./queries"
|
||||||
|
|
||||||
export type CheckStatus = "ok" | "warn" | "down" | "loading"
|
export type CheckStatus = "ok" | "warn" | "down" | "loading"
|
||||||
@@ -83,7 +83,26 @@ export function useLucyHealth(): LucyHealth {
|
|||||||
return { ...base, status: "ok", detail: "Wach und ansprechbar." }
|
return { ...base, status: "ok", detail: "Wach und ansprechbar." }
|
||||||
})())
|
})())
|
||||||
|
|
||||||
// 2) Lucys Gedächtnis — Mem0-Dienst.
|
// 2) Lucys Augen — das Vision-Modell (Rolle `vision`, Teil des Immer-bereit-Sets seit
|
||||||
|
// ttl 0 am 03.07.). Nicht kritisch: Reden geht auch blind — aber ehrlich anzeigen.
|
||||||
|
checks.push(((): LucyCheck => {
|
||||||
|
const base = { id: "vision", label: "Lucys Augen", icon: Eye, critical: false }
|
||||||
|
if (!loaded || !modelsResp) return { ...base, status: "loading", detail: "Wird geprüft …" }
|
||||||
|
const vm = modelsResp.models.find((m) => m.role === "vision")
|
||||||
|
if (!vm)
|
||||||
|
return { ...base, status: "warn", detail: "Kein Augen-Modell eingerichtet — Lucy kann keine Bilder ansehen." }
|
||||||
|
const warm = (modelsResp.running ?? []).includes(vm.name)
|
||||||
|
return warm
|
||||||
|
? { ...base, status: "ok", detail: "Sieht Bildschirm und Bilder." }
|
||||||
|
: {
|
||||||
|
...base,
|
||||||
|
status: "warn",
|
||||||
|
detail: "Lucys Augen sind eingeschlafen — das erste Bild-Ansehen dauert dann kurz.",
|
||||||
|
repair: { kind: "loadModel", model: vm.name, label: "Augen aufwecken" },
|
||||||
|
}
|
||||||
|
})())
|
||||||
|
|
||||||
|
// 3) Lucys Gedächtnis — Mem0-Dienst.
|
||||||
checks.push(((): LucyCheck => {
|
checks.push(((): LucyCheck => {
|
||||||
const base = { id: "memory", label: "Lucys Gedächtnis", icon: BookMarked, critical: true }
|
const base = { id: "memory", label: "Lucys Gedächtnis", icon: BookMarked, critical: true }
|
||||||
const ok = svcOk("mem0")
|
const ok = svcOk("mem0")
|
||||||
@@ -98,7 +117,7 @@ export function useLucyHealth(): LucyHealth {
|
|||||||
}
|
}
|
||||||
})())
|
})())
|
||||||
|
|
||||||
// 3) Verbindung (Gateway) — der integrierte OpenAI-Gateway, über den Apps/IDEs Lucy erreichen.
|
// 4) Verbindung (Gateway) — der integrierte OpenAI-Gateway, über den Apps/IDEs Lucy erreichen.
|
||||||
checks.push(((): LucyCheck => {
|
checks.push(((): LucyCheck => {
|
||||||
const base = { id: "gateway", label: "Verbindung (Gateway)", icon: Plug, critical: true }
|
const base = { id: "gateway", label: "Verbindung (Gateway)", icon: Plug, critical: true }
|
||||||
const ok = health ? health.gateway_reachable : svcOk("integriert")
|
const ok = health ? health.gateway_reachable : svcOk("integriert")
|
||||||
@@ -113,7 +132,7 @@ export function useLucyHealth(): LucyHealth {
|
|||||||
}
|
}
|
||||||
})())
|
})())
|
||||||
|
|
||||||
// 4) Lucys Agent (Hermes) — der Dienst, der als Lucy antwortet (Terminal/Telegram/Sprechen).
|
// 5) Lucys Agent (Hermes) — der Dienst, der als Lucy antwortet (Terminal/Telegram/Sprechen).
|
||||||
checks.push(((): LucyCheck => {
|
checks.push(((): LucyCheck => {
|
||||||
const base = { id: "agent", label: "Lucys Agent (Hermes)", icon: Bot, critical: true }
|
const base = { id: "agent", label: "Lucys Agent (Hermes)", icon: Bot, critical: true }
|
||||||
const ok = svcOk("hermes-gateway")
|
const ok = svcOk("hermes-gateway")
|
||||||
@@ -128,7 +147,7 @@ export function useLucyHealth(): LucyHealth {
|
|||||||
}
|
}
|
||||||
})())
|
})())
|
||||||
|
|
||||||
// 5) Lucys Stimme — Voice-Dienst (STT/TTS). Nicht kritisch: Chat geht auch ohne.
|
// 6) Lucys Stimme — Voice-Dienst (STT/TTS). Nicht kritisch: Chat geht auch ohne.
|
||||||
checks.push(((): LucyCheck => {
|
checks.push(((): LucyCheck => {
|
||||||
const base = { id: "voice", label: "Lucys Stimme", icon: Mic, critical: false }
|
const base = { id: "voice", label: "Lucys Stimme", icon: Mic, critical: false }
|
||||||
const ok = svcOk("voice")
|
const ok = svcOk("voice")
|
||||||
|
|||||||
Reference in New Issue
Block a user