Welle 3 · Doku (Bedienung, Betrieb, offene Fäden) und Oberfläche: Rückfragen im Meldungstext, Sprung zu Lucy
- BEDIENUNG.md: Welle 1 bis 3 für den Alltag (Rückfragen, Antworttasten, Lucys Freiheiten, Wartungsfenster, Zertifikate, Neu entdeckt, Docker-Dienste, Was ist neu, Zeitleiste, Strg+K, Zeitpläne, neue Telegram-Nachrichten) - BETRIEB.md: Lucy (Freiheiten, Rückfragen, Untersuchungen, Wochenbericht, Hermes-Neustart für neue Werkzeuge), Wartungsfenster im Homelab-Teil - OFFENE-FAEDEN.md: Welle 2 und 3 erledigt, was am 27.09. zu beobachten ist - Einstellungen: Meldungen-Karte nennt Rückfragen und Wochenbericht; #lucy fasst nach, wenn Karten nachladen Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
6904bcbfb0
commit
67c82f5f73
@@ -21,5 +21,5 @@ Session-Token der früheren Desktop-Anbindung ist weg.
|
||||
Die alte Unit `hermes-dashboard.service` (abgeschaltet, alte Umgebung) steht als Altrest im Aufräumen-Panel.
|
||||
|
||||
`soul-orchestrator.md` (seit 25.09.2026 abends): der Abschnitt „Homelab Orchestrator“ in `~/.hermes/SOUL.md` — Lucys
|
||||
Freiheiten je Aktionsart und wie sie „ja 7“ weitergibt. Von Hand eingesetzt (Sicherung `SOUL.md.bak-20260925-freiheiten`);
|
||||
Freiheiten je Aktionsart und wie sie „ja 7“ weitergibt. Von Hand eingesetzt (Sicherung `SOUL.md.bak-20260926-freiheiten`);
|
||||
SOUL.md selbst gehört Hermes und liegt nicht im Repo.
|
||||
|
||||
+65
-5
@@ -1,10 +1,12 @@
|
||||
# Bedienung — der Homelab Orchestrator im Alltag
|
||||
|
||||
_Stand 24.09.2026. Für dich als Nutzer. Technische Einzelheiten stehen in [BETRIEB.md](BETRIEB.md)._
|
||||
_Stand 26.09.2026. Für dich als Nutzer. Technische Einzelheiten stehen in [BETRIEB.md](BETRIEB.md)._
|
||||
|
||||
**Kurz gesagt:** Die KI-Box kümmert sich selbst um sich. Du bekommst Nachrichten auf Telegram. Handeln musst du nur,
|
||||
wenn eine Nachricht es sagt oder in einem Cockpit etwas gelb oder rot leuchtet. Updates im Homelab spielst du selbst
|
||||
per Knopf ein.
|
||||
wenn eine Nachricht es sagt oder in einem Cockpit etwas gelb oder rot leuchtet. Im Homelab spielt der Orchestrator
|
||||
sonntags früh (03:00–04:15) die Sicherheitsupdates selbst ein; alles andere per Knopf oder mit „ja“ in Telegram.
|
||||
Lucy, deine Systemadministratorin, sieht bei roten Hinweisen selbst nach, erklärt dir Ursache und Weg und fragt, bevor
|
||||
sie etwas Größeres tut. Sonntags um 07:30 kommt ihr Wochenbericht.
|
||||
|
||||
Der Orchestrator hat zwei getrennte Bereiche: **KI-Box** (der Box-Wart) und **Homelab** (der Proxmox-PC mit seinen
|
||||
Containern und Arcane).
|
||||
@@ -24,6 +26,9 @@ hinter dem Menü-Knopf oben links:
|
||||
Jeder Bereich zeigt oben, ob er online ist, und neben „Updates“ die Zahl der Updates, die bereitstehen. Frühere
|
||||
Adressen wie `/updates` und `/modelle` leiten auf die neuen weiter.
|
||||
|
||||
**Suchen mit Strg+K** (oder die Lupe oben): findet Seiten, Geräte und Aktionen — etwa „gitea zeit“ für die Zeitleiste
|
||||
von Gitea oder „lucy“ für ihre Freiheiten. `typ:lxc`, `typ:vm` oder `update:ja` filtern die Geräte.
|
||||
|
||||
## Übersicht
|
||||
|
||||
- **Gesamtlage** oben: ein Satz, wie es steht („Alles läuft“, „1 Hinweis“, „Störung“), dazu vier Zahlen — Updates
|
||||
@@ -33,6 +38,9 @@ Adressen wie `/updates` und `/modelle` leiten auf die neuen weiter.
|
||||
App → 0.79.0 (ab 26.09. 08:06) · 48 Pakete“ — und die Hinweise. Ein Klick auf den Kopf führt ins Cockpit, ein
|
||||
Klick auf eine Update-Zeile zur Updates-Seite des Bereichs.
|
||||
- **Als Nächstes** (die geplanten Läufe) und **Zuletzt eingespielt** (die letzten Updates beider Bereiche).
|
||||
- **Rückfragen an dich** (seit 26.09.): erscheint ganz oben, wenn Lucy, der Wächter oder der Wochenbericht auf dein Ja
|
||||
warten. „Ja, ausführen“ fragt noch einmal nach und löst dann genau diese Aktion aus, „Nein“ legt sie ab. In Telegram
|
||||
geht dasselbe mit „ja 7“ (die Nummer steht in der Nachricht). Eine Rückfrage gilt 24 Stunden.
|
||||
|
||||
Wichtige Knöpfe fragen vorher nach. Was du auslöst, bestätigt eine kurze Meldung unten rechts.
|
||||
|
||||
@@ -119,6 +127,21 @@ Werte zu jedem Zeitpunkt; „Werte als Tabelle“ klappt die letzten Punkte als
|
||||
oder der Kernel für den nächsten Start; die Gäste laufen weiter. Alle Snapshots stehen dort seit 25.09. als **ein**
|
||||
Vorschlag („5 Snapshots des Orchestrators — verwalten unter Homelab → Snapshots“) mit dem Verweis „Zu den
|
||||
Snapshots“.
|
||||
- **Voll in etwa N Tagen** (seit 25.09.): Pool, NAS, Systemplatte, Container und VMs sagen, wann sie beim Tempo der
|
||||
letzten Woche voll wären — gelb unter 14 Tagen, rot unter 3. Sichtbar, sobald zwei Tage Verlauf da sind.
|
||||
- **Sicherungen je Gerät:** ob ein Sicherungsauftrag das Gerät erfasst, die letzte Sicherung, ob der PBS sie geprüft
|
||||
hat und die wöchentliche Probe-Wiederherstellung („Jetzt prüfen“ startet sie sofort).
|
||||
- **Zertifikate:** alle HTTPS-Zertifikate (NPMplus, Proxmox, PBS) mit Ablauf. Gelb, wenn eine Erneuerung hängt, rot
|
||||
kurz vor dem Ablauf. NPMplus erneuert seine alle knapp sieben Tage.
|
||||
- **Neu entdeckt:** neue Container, VMs und Docker-Stacks, die der Orchestrator noch nicht kennt. „Für Updates
|
||||
freigeben“ setzt in Proxmox das Etikett `watcher` (danach darf er dort Snapshots anlegen und Updates einspielen),
|
||||
„Nur beobachten“ nimmt es nur in die Liste, „Nicht anfassen“ setzt `watcher-aus`.
|
||||
- **Docker-Dienste:** die Container unter Arcane je Stack mit Zustand, Gesundheit und Update-Stand, dazu die Lücken aus
|
||||
Arcanes Scan (sonntags 02:00).
|
||||
- **Live-Zahlen auf den Kacheln**, etwa „letzte Sicherung vor 15 h“ oder „7 von 7 Containern an“; bei AdGuard der
|
||||
Anteil geblockter Anfragen, sobald unter Einstellungen ein Zugang eingetragen ist.
|
||||
- **Hinweise mit Ablauf:** „Gesehen“ nimmt einem Hinweis die Farbe, „24 h stumm“ schaltet Erinnerungen ab (wird er rot,
|
||||
meldet er sich trotzdem), „Wieder melden“ hebt das auf. Kurze Wackler lösen keinen Alarm mehr aus.
|
||||
|
||||
## Homelab · Updates
|
||||
|
||||
@@ -137,6 +160,15 @@ Werte zu jedem Zeitpunkt; „Werte als Tabelle“ klappt die letzten Punkte als
|
||||
Schluss der Proxmox-Host — neu gestartet wird er nicht. Ist eine Prüfung rot, geht dieser Schritt zurück und der Rest
|
||||
bleibt stehen. Während des Laufs zeigt ein Kasten jeden Schritt mit Zustand; am Ende kommt eine Nachricht.
|
||||
- **Verlauf:** die letzten Updates im Homelab mit Ergebnis.
|
||||
- **Was ist neu?** (seit 25.09.) vor jedem App- oder Host-Update: die Änderungen der neuen Version und Lucys
|
||||
Kurzfassung, was davon dich betrifft (Handarbeit ganz oben).
|
||||
- **Version überspringen:** Diese Version gilt als aktuell, bis eine neuere kommt; „wieder anbieten“ hebt es auf.
|
||||
- **Sicherheitsupdates** sind in der Zeile markiert („davon 3 Sicherheitsupdates“).
|
||||
- **Wartungsfenster** (seit 26.09.): sonntags 03:00–04:15 spielt der Orchestrator ein, was die Regel des Geräts
|
||||
erlaubt — ab Werk bei allen Geräten nur die Sicherheitsupdates, immer mit Snapshot vorher und Rückweg bei Rot. Den
|
||||
Proxmox-Host startet er nie von selbst neu. Fenster und Regel je Gerät stellst du unter Einstellungen → Homelab ein;
|
||||
solange das Fenster läuft, zeigt das Cockpit „Wartung“ statt „Störung“. Erfolge kommen gesammelt als eine
|
||||
Nachricht, Fehler sofort.
|
||||
|
||||
## Homelab · Snapshots
|
||||
|
||||
@@ -172,7 +204,8 @@ Was der Homelab-Teil getan hat, neueste zuerst und nach Tagen: Aufträge an den
|
||||
Update-Läufe, was auf der Seite Snapshots geschah, Hinweise des Wächters, gesendete Meldungen und die nächtliche
|
||||
Paketsuche. Oben filterst du nach Art;
|
||||
„Berichte zeigen“ blendet auch die Berichte ein, die alle zehn Minuten kommen. „Ausgabe zeigen“ klappt die Ausgabe
|
||||
eines Auftrags auf.
|
||||
eines Auftrags auf. Seit 25.09. gibt es die **Zeitleiste je Gerät**: oben ein Gerät wählen (oder mit Strg+K
|
||||
„Gitea · Zeitleiste“) — dann steht nur, was an diesem Gerät geschah, Updates mit „von → nach“.
|
||||
|
||||
## KI-Box · Dienste und Protokolle
|
||||
|
||||
@@ -193,9 +226,25 @@ startet ihn neu, „Starten" einen gestoppten oder gescheiterten Dienst; „Weck
|
||||
nächsten Neustart der Box. Jeder dieser Knöpfe fragt vorher nach. Die Spracherkennung und die Konsole schlafen seit
|
||||
24.09. mit Absicht; die Android-App wird sie später wieder brauchen.
|
||||
|
||||
**Zeitpläne** (seit 25.09.): alle geplanten Abläufe — Sicherung, Sonntags-Updates, Morgenmeldung, Wochenbericht,
|
||||
Modell-Radar, Hermes-Jobs, die Gitea-Ampel — mit letztem und nächstem Lauf. Läuft einer nicht, obwohl er müsste, wird
|
||||
er „überfällig“ und ein Hinweis.
|
||||
|
||||
## Einstellungen
|
||||
|
||||
Eine eigene Seite mit vier Karten: KI-Box, Homelab, Meldungen, Software-Stand.
|
||||
Eine eigene Seite mit fünf Karten: KI-Box, Homelab, Lucy, Meldungen, Software-Stand.
|
||||
|
||||
- **Lucy (seit 26.09.):** wie selbstständig sie je Aktionsart handelt — „Nur lesen“ (sie erklärt, tut aber nichts),
|
||||
„Erst fragen“ (eine Rückfrage an dich, dein „ja“ löst genau das aus) oder „Selbst handeln“ (danach bekommst du eine
|
||||
Meldung). Ab Werk untersucht sie rote Hinweise, startet Dienste neu, spielt Sicherheitsupdates ein und geht bei Rot
|
||||
auf den Snapshot zurück selbst; andere Updates, alte Kernel, Modell-Tests und den Neustart des Proxmox-Hosts nur
|
||||
nach deinem Ja. Wer eine Art freier stellt als ab Werk, wird noch einmal gefragt. Bittest du Lucy ausdrücklich um
|
||||
etwas, tut sie es unabhängig davon. Darunter die offenen und zuletzt beantworteten Rückfragen und der
|
||||
Wochenbericht (nächster Termin, den letzten lesen, „Jetzt schicken“).
|
||||
- **Wartungsfenster und Regel je Gerät (Homelab):** Tag und Uhrzeit des Fensters, die Regel für alle Geräte („Nur
|
||||
melden“, „Sicherheitsupdates automatisch“, „Alles automatisch im Fenster“) und je Gerät eine eigene.
|
||||
- **AdGuard Home (Homelab):** ein Zugang (am besten ein eigener Benutzer), mit dem die Kachel zeigt, wie viel AdGuard
|
||||
blockt. „Prüfen und speichern“ fragt AdGuard erst damit; das Passwort wird nie wieder angezeigt.
|
||||
|
||||
- **Arcane-API-Schlüssel (Homelab):** in Arcane unter Einstellungen → API-Schlüssel anlegen und hier einfügen. „Prüfen
|
||||
und speichern“ fragt Arcane zuerst, ob der Schlüssel gilt; erst dann wird er gespeichert — im Homelab-Teil, nicht
|
||||
@@ -229,6 +278,11 @@ Eine eigene Seite mit vier Karten: KI-Box, Homelab, Meldungen, Software-Stand.
|
||||
Nachts zwischen 0 und 7 Uhr sammelt die Box alles und schickt es um 7 Uhr als eine Nachricht („Guten Morgen,
|
||||
Commander. Heute Nacht gab es …"). Sofort kommen nachts nur dringende Nachrichten.
|
||||
|
||||
**Antworten (seit 26.09.):** Endet eine Nachricht mit „Antworte „ja 7“ oder „nein 7““, schreibst du genau das —
|
||||
oder tippst auf eine der Antworttasten, die dann unter dem Eingabefeld stehen. Lucy gibt es weiter, und der
|
||||
Orchestrator führt genau die gefragte Aktion aus, nichts anderes. Ohne Nummer geht „ja“ nur, wenn gerade eine
|
||||
einzige Rückfrage offen ist.
|
||||
|
||||
| Nachricht | Bedeutung | Was du tust |
|
||||
|---|---|---|
|
||||
| „[Morgenmeldung] Guten Morgen, Commander …" | alles aus der Nacht in einer Nachricht | lesen |
|
||||
@@ -241,6 +295,12 @@ Commander. Heute Nacht gab es …"). Sofort kommen nachts nur dringende Nachrich
|
||||
| „[Box-Update] Sonntags-Update mit Fehler beendet" oder „Auto-Update abgebrochen" | der Update-Lauf selbst ist abgebrochen, nichts wurde eingespielt | Seite Updates ansehen, Hilfe holen |
|
||||
| „[Box-Problem] …" | der Wächter hat etwas Rotes gefunden | Cockpit der KI-Box öffnen, in der Checkliste den Knopf drücken |
|
||||
| „[Box wieder ok] Erledigt: …" | das Problem ist weg | nichts |
|
||||
| „Commander, eine Rückfrage. … Antworte „ja 7“ oder „nein 7“" | Lucy, der Wächter oder der Wochenbericht warten auf dein Ja | „ja 7“ oder „nein 7“ schreiben oder die Taste antippen |
|
||||
| „Commander, auf der Box stimmt etwas nicht. … Antworte „ja 3“, dann starte ich …" | roter Hinweis mit Knopf (etwa ein gestoppter Dienst) | „ja 3“, wenn du es so willst |
|
||||
| „Commander, ich habe nachgesehen. …" | Lucy hat einen roten Hinweis untersucht: Ursache, Betroffenes, Weg | lesen; steht eine Rückfrage darunter, mit „ja“ und Nummer antworten |
|
||||
| „Commander, das habe ich selbst erledigt. …" | Lucy hat im Rahmen ihrer Freiheiten gehandelt (was, warum, Ergebnis) | lesen |
|
||||
| „Commander, dein Wochenbericht." (sonntags 07:30) | die Woche in einer Nachricht, offene App-Updates zum Beantworten | lesen, bei Bedarf „ja“ mit Nummer |
|
||||
| „[Homelab-Wartung] Wartung So 03:00–04:15: …" | was das Wartungsfenster eingespielt oder zurückgerollt hat | nichts; bei „Gescheitert“ ins Cockpit schauen |
|
||||
| „[Modell-Radar] … hat den Nachttest bestanden" | ein besseres Modell wartet | Seite Modelle: „Übernehmen" oder „Verwerfen" |
|
||||
| „[Stack-Radar] …" (samstags) | Wochenbericht über die Box und Neuigkeiten | lesen |
|
||||
| Daily News (07:00, Text und Sprachnachricht) | die Nachrichten des Tages von Lucy | lesen oder hören |
|
||||
|
||||
@@ -294,12 +294,58 @@ laufen lassen. Achtung: `ausfuehrer-einrichten.sh` schreibt `/etc/mc2-ausfuehrer
|
||||
Berichte des Ausführers. Die Quellen bleiben die Dateien in `/var/lib/mc2` (`ausfuehrer-auftraege.json` hebt jetzt
|
||||
die letzten 500 erledigten Aufträge auf, `ausfuehrer-berichte.json` die Eingänge der letzten 150 Berichte) und das
|
||||
Melde-Log `/var/lib/mc2/notify.log`.
|
||||
- **Wartungsfenster (seit 26.09.):** Der Steward (`services/homelab/wartung.py`) prüft jede Minute, ob das Fenster
|
||||
offen ist (ab Werk So 03:00–04:15), und arbeitet dann einmal am Tag den Plan ab: je Gerät nach seiner Regel
|
||||
(`melden`, `sicherheit`, `alles`; Standard `sicherheit`) über dieselben Update-Läufe wie die Knöpfe, mit Snapshot
|
||||
vorher und Rückweg bei Rot; nach Fensterende beginnt kein Schritt mehr, der Host startet nie von selbst neu. Laufen
|
||||
gerade „Alle aktualisieren“ oder ein Update, wartet es eine Minute. Einstellungen: `/var/lib/mc2/homelab-wartung.json`
|
||||
(Oberfläche: Einstellungen → Homelab), Stand des letzten Fensters: `/var/lib/mc2/homelab-wartung-stand.json`. Die
|
||||
Läufe schreiben Oberfläche und Steward in dieselbe Datei — seit 26.09. unter `flock`.
|
||||
- **Wöchentliches Suchen:** Der Steward legt für jeden freigegebenen, laufenden Container, dessen Paketlisten älter als
|
||||
7 Tage sind, den Auftrag `suchen` an (nur `apt-get update` bzw. `apk update` im Gast, es wird nichts installiert):
|
||||
nachts 02:00–05:00, höchstens einmal je Gast und Tag, nicht während eines Updates; war die Instanz nachts aus, gleich
|
||||
nach dem Start. Stand in `/var/lib/mc2/homelab-pflege.json` (Nacht, je Gast: letzter Tag, Fehlschläge, letzter
|
||||
Fehler). Schreibt nur der Steward; zum Zurücksetzen die Datei löschen und `systemctl restart mc2-homelab-steward`.
|
||||
|
||||
## Lucy: Freiheiten, Rückfragen, Untersuchungen, Wochenbericht (seit 26.09.)
|
||||
|
||||
Ausbauplan Welle 3 (User-Entscheid 25.09. „mehr Freiheit“). Alles liegt auf der KI-Box; der Homelab-Teil meldet seine
|
||||
roten Hinweise per HTTP dorthin (`MC_PARTNER_URL` aus `/etc/mc2/homelab.env`).
|
||||
|
||||
- **Freiheiten je Aktionsart** (`backend/services/lucy_autonomie.py`, Datei `/srv/models/lucy-autonomie.json`, nur
|
||||
was der Commander umgestellt hat): `lesen`, `fragen`, `selbst`. Lucys Werkzeuge (`mcp/orchestrator_werkzeuge.py`) fragen
|
||||
`GET /api/lucy/autonomie`, bevor sie aus eigenem Antrieb handeln; mit `auf_bitte=true` (der Commander hat
|
||||
ausdrücklich gebeten) gilt die Stufe nicht. Lässt sich die Stufe nicht lesen, gilt `fragen`. Jede Aktion steht
|
||||
mit Grund und Stufe in `~/.hermes/logs/orchestrator-werkzeuge.log`; „selbst“ meldet über `POST /api/lucy/gehandelt`.
|
||||
- **Rückfragen** (`backend/services/rueckfragen.py`, `/srv/models/lucy-rueckfragen.json`, die letzten 200):
|
||||
nummeriert, 24 h gültig, nur Pfade aus `ERLAUBT` (die Knöpfe der Oberfläche; nie Löschen, Einstellungen, Zugänge).
|
||||
Ein „ja“ führt die gespeicherte Aktion per HTTP an MC2 selbst aus (`MC_EIGENE_URL`, Standard
|
||||
`http://127.0.0.1:9001`); danach steht sie auf erledigt/fehler, ein zweites „ja“ tut nichts. Gehört sie zu einem
|
||||
Hinweis, der schon weg ist: „hinfällig“; nach dem Ausführen prüft sie sechs Minuten nach und meldet, wenn er bleibt.
|
||||
Ansehen: `curl -s http://127.0.0.1:9001/api/rueckfragen | jq`.
|
||||
- **Antworttasten:** `notify.sh -k "ja 7|nein 7"` schickt die Nachricht direkt an die Bot-API mit einer
|
||||
Antworttastatur (`reply_markup`); ein Tipp sendet nur den Text „ja 7“, den Lucy mit `rueckfrage_beantworten`
|
||||
weitergibt. Scheitert der Direktweg, geht die Nachricht ohne Tasten über `hermes send`. Nachts wie jede andere
|
||||
nicht dringende Meldung in die Morgenmeldung.
|
||||
- **Rote Hinweise an Lucy:** Der Wächter beider Teile ruft vor seiner Telegram-Nachricht `POST /api/lucy/befund`
|
||||
(`backend/services/ermittlung.py`). Hat der Hinweis einen Knopf (Neustart, Job wiederholen, Freigeben), wird er zur
|
||||
Rückfrage; steht „ermitteln“ auf `selbst`, fragt MC2 Lucy über den api_server von Hermes (`HERMES_API_URL`, Schlüssel
|
||||
aus der Hermes-Config) — dieselbe Lucy mit allen Werkzeugen, auch `geraet_logs` (Aktion `journal` des Ausführers,
|
||||
nur lesend) und `dienst_logs`. Ihre Antwort und was sie dabei auslöst, kommen als eine Nachricht. Bremsen: je
|
||||
Hinweis einmal in 6 h, höchstens 8 am Tag, eine nach der anderen. In Tests abgeschaltet (`MC_LUCY_BEFUND=0`,
|
||||
`MC_EIGENE_URL` ins Leere, `backend/tests/conftest.py`) — auf der Box liefe das Prüftor sonst gegen das echte MC2.
|
||||
- **Wochenbericht** (`backend/services/wochenbericht.py`, Timer `mc2-wochenbericht.timer`, sonntags 07:30): feste
|
||||
Sätze aus der REST-API beider Teile, ein Absatz vom Modell `fast`, offene App-Updates des Homelabs als Rückfragen
|
||||
(dazu „Alle aktualisieren“, wenn mehr ansteht). Der letzte liegt in `/srv/models/wochenbericht.json`. Von Hand:
|
||||
`curl -s -X POST http://127.0.0.1:9001/api/lucy/wochenbericht` (verschickt wirklich). Nur ansehen, ohne zu senden:
|
||||
`cd ~/mission-control-v2/backend && MC_MODELS_DIR=/srv/models .venv/bin/python -c "from services import
|
||||
wochenbericht; print(wochenbericht.bauen(mit_angeboten=False)['text'])"`.
|
||||
- **Hermes:** Der Abschnitt „Homelab Orchestrator“ in `~/.hermes/SOUL.md` sagt Lucy, wie sie mit Freiheiten und
|
||||
„ja 7“ umgeht (Kopie: `deploy/nur-box/soul-orchestrator.md`), der Skill `homelab_orchestrator` die Einzelheiten.
|
||||
Neue oder geänderte Werkzeuge sieht Hermes erst nach `systemctl --user daemon-reload && systemctl --user restart
|
||||
hermes-gateway` (der Deploy startet das Gateway bewusst nicht neu). Prüfen:
|
||||
`grep "homelab-orchestrator" ~/.hermes/logs/agent.log | tail -1` nennt die Zahl der Werkzeuge.
|
||||
|
||||
## Messwerte (Monitoring, seit 24.09.)
|
||||
|
||||
Jede Minute ein Punkt je Gerät, gelesen als letzte Stunde, letzter Tag oder letzte Woche (Aufbau in
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Offene Fäden — die eine Liste
|
||||
|
||||
_Stand 25.09.2026 nachmittags. Neues hier rein, Erledigtes raus (die Git-Historie behält es). Entschiedenes steht in
|
||||
_Stand 26.09.2026 vormittags. Neues hier rein, Erledigtes raus (die Git-Historie behält es). Entschiedenes steht in
|
||||
[VERDIKTE.md](VERDIKTE.md), nicht hier. Die Liste bis 04.09.2026, samt den Lucy-Fäden, liegt im Archiv:
|
||||
[2026-09-04-offene-faeden-alt.md](../archiv/2026-09-04-offene-faeden-alt.md)._
|
||||
|
||||
@@ -42,6 +42,22 @@ Zertifikats-Wache (Grenzen nach Laufzeit, NPMplus kurzlebig 6,7 Tage) und Live-Z
|
||||
Offen beim User: den **AdGuard-Zugang** unter Einstellungen → Homelab eintragen (am besten ein eigener Benutzer), dann
|
||||
zeigt die Kachel „% geblockt“.
|
||||
|
||||
**Welle 2 erledigt (25.09.2026 abends, `main` `363bc21`):** Neu entdeckt (neue Gäste und Docker-Stacks, „Für Updates
|
||||
freigeben“ setzt das Etikett `watcher`, App-Katalog aus den Update-Skripten der Community-Scripts), Docker-Dienste je
|
||||
Stack, „Was ist neu?“ mit Lucys Kurzfassung, Befundliste mit Ablauf (gesehen, 24 h stumm, drei Takte Puffer),
|
||||
Sicherheits-Markierung (Debian, Alpine) und Arcanes Lücken-Scan (erster Lauf So 27.09. 02:00), Zeitleiste je Gerät,
|
||||
Suche mit Strg+K.
|
||||
|
||||
**Welle 3 erledigt (26.09.2026 vormittags, `main` `6904bcb`):** Wartungsfenster So 03:00–04:15 mit Regel je Gerät
|
||||
(ab Werk Sicherheitsupdates automatisch; erster Lauf **So 27.09.**), „Version überspringen“; Lucys Freiheiten je
|
||||
Aktionsart (Start „mehr Freiheit“), Rückfragen mit Nummer und Antworttasten in Telegram („ja 7“), Lucy untersucht
|
||||
rote Hinweise selbst (api_server, Protokolle über die neue Ausführer-Aktion `journal`), Wochenbericht sonntags
|
||||
07:30 (erster **So 27.09.**). Hermes neu gestartet (25 Werkzeuge im Orchestrator), SOUL-Abschnitt ersetzt
|
||||
(Sicherung `SOUL.md.bak-20260926-freiheiten`). Nebenbei: Die Box zählte beim Hermes-Update 42 044 statt 281 neuer
|
||||
Commits (flacher Klon, `--ancestry-path`).
|
||||
Beobachten am 27.09.: das erste Wartungsfenster (6 Sicherheitsupdates am Proxmox-Host, weitere in Gästen), der erste
|
||||
Wochenbericht und der Sonntagslauf der Box mit dem Hermes-Update (281 Commits über den neuen Paketmanager).
|
||||
|
||||
## Offene Einzelpunkte (Homelab)
|
||||
|
||||
- **Zugang von außen:** Der Eintrag `mc.tobisniceshomelab.ddnsfree.com` in NPMplus (Proxy-Host 14 → Box :9001) hatte
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1 +1 @@
|
||||
import{i as e,r as t}from"./dist-aE7UmubC.js";import{G as n,W as r}from"./index-Bumw6krN.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-DG7u1mB-.js";var l=t(),u=e();function d(e){let t=(0,l.c)(8),{onSchliessen:d}=e,f;t[0]===d?f=t[1]:(f=e=>!e&&d(),t[0]=d,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(r,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=p):p=t[2];let m;t[3]===d?m=t[4]:(m=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-7 border-white/[0.06] bg-[#0a0d14] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[p,(0,u.jsx)(n,{onGewaehlt:d})]}),t[3]=d,t[4]=m);let h;return t[5]!==f||t[6]!==m?(h=(0,u.jsx)(c,{open:!0,onOpenChange:f,children:m}),t[5]=f,t[6]=m,t[7]=h):h=t[7],h}export{d as MenueSchublade};
|
||||
import{i as e,r as t}from"./dist-aE7UmubC.js";import{G as n,W as r}from"./index-DRAkqVZT.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-DG7u1mB-.js";var l=t(),u=e();function d(e){let t=(0,l.c)(8),{onSchliessen:d}=e,f;t[0]===d?f=t[1]:(f=e=>!e&&d(),t[0]=d,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(r,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=p):p=t[2];let m;t[3]===d?m=t[4]:(m=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-7 border-white/[0.06] bg-[#0a0d14] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[p,(0,u.jsx)(n,{onGewaehlt:d})]}),t[3]=d,t[4]=m);let h;return t[5]!==f||t[6]!==m?(h=(0,u.jsx)(c,{open:!0,onOpenChange:f,children:m}),t[5]=f,t[6]=m,t[7]=h):h=t[7],h}export{d as MenueSchublade};
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+2
-2
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -9,7 +9,7 @@
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||
<title>Homelab Orchestrator</title>
|
||||
<script type="module" crossorigin src="/assets/index-Bumw6krN.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-DRAkqVZT.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/dist-aE7UmubC.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/button-BHVKhtQ6.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/dist-CakcBaML.js">
|
||||
|
||||
@@ -228,6 +228,10 @@ function Meldungen() {
|
||||
07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und
|
||||
schreibt es in den Verlauf.
|
||||
</p>
|
||||
<p className="text-sm text-text-2">
|
||||
Fragt Lucy vorher, antwortest du in Telegram mit „ja“ und der Nummer oder tippst auf die Antworttaste unter dem
|
||||
Eingabefeld — das löst genau die gefragte Aktion aus. Sonntags um 07:30 kommt ihr Wochenbericht.
|
||||
</p>
|
||||
<p className="text-sm text-text-2">
|
||||
Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.
|
||||
</p>
|
||||
@@ -647,9 +651,13 @@ export function EinstellungenSeite() {
|
||||
const box = useEinstellungenStand(true)
|
||||
const boxProps = { e: box.data, laedt: box.isPending, fehler: box.error?.message }
|
||||
// Strg+K „Lucys Freiheiten“ führt mit #lucy hierher (beim Öffnen der Seite; ohne Router-Hook, damit die Seite auch
|
||||
// allein testbar bleibt).
|
||||
// allein testbar bleibt). Die Karten darüber laden nach und schieben Lucy nach unten — deshalb zweimal nachfassen.
|
||||
useEffect(() => {
|
||||
if (window.location.hash === "#lucy") document.getElementById("lucy")?.scrollIntoView({ block: "start" })
|
||||
if (window.location.hash !== "#lucy") return
|
||||
const hin = () => document.getElementById("lucy")?.scrollIntoView({ block: "start" })
|
||||
hin()
|
||||
const zeiten = [700, 1800].map((ms) => window.setTimeout(hin, ms))
|
||||
return () => zeiten.forEach((z) => window.clearTimeout(z))
|
||||
}, [])
|
||||
return (
|
||||
<div className="grid gap-5 md:gap-6 xl:grid-cols-2">
|
||||
|
||||
Reference in New Issue
Block a user