refactor(docs): remove obsolete mem0 and governor references, update AGENTS.md for Hermes
Ampel / ampel (push) Failing after 21s

This commit is contained in:
Hitonabi
2026-08-07 11:33:41 +02:00
parent 29f8797fbf
commit c3851f8e25
5 changed files with 8 additions and 66 deletions
+2 -1
View File
@@ -6,8 +6,9 @@ Kurz gehalten, nur die Wahrheiten, die man sonst schmerzhaft lernt. Details: `RE
## Was das ist
Lokaler Local-AI-Stack für die Box (Bosgame M5, Strix Halo, Vulkan/RADV). Schichten:
Engine (llama-swap) · Builtin-Routing-Gateway (`model: auto`) · MC2 (FastAPI + React/shadcn) ·
Hermes-Agent. Backend Python (Box läuft Python 3.14), Frontend Vite/React/shadcn/Tailwind.
**Hermes-Agent (das autonome Gehirn "Lucy")**. Backend Python (Box läuft Python 3.14), Frontend Vite/React/shadcn/Tailwind.
**WICHTIG:** Alle alten Dienste wie `mem0`, `governor` oder `eigenleben` sind komplett gelöscht. Hermes ist das EINZIGE "Gehirn" und läuft autonom. Es nutzt keine alte Mem0-DB, sondern sein eigenes System.
## Sprache (nicht verhandelbar)
- **Alles User-Sichtbare ist Deutsch:** UI-Texte, Fehlermeldungen, Update-/Radar-Meldungen,
Skills, LLM-Summaries, Commit-Messages, Code-Kommentare.
-11
View File
@@ -88,17 +88,6 @@ Neue Fallen: hier eintragen, mit Datum und Symptom._
- **Werkstatt-Gate:** `git -C ~/mission-control-v2 status --porcelain -uno` MUSS leer sein
(curl /api/health allein ist ein Loch — alter Code läuft im RAM weiter).
## Mem0 / Gedächtnis
- `mem0_service/requirements.txt` ist GEPINNT (wir nutzen Interna: NoThink-Swap, Roh-Chroma) —
blindes Upgrade bricht still; vorher/nachher `smoke_test.py`, Prozedur `docs/UPGRADE.md`.
- Qwen3.6 ist ein Thinking-Modell: JSON-Extraktion nur mit `enable_thinking:false`
(NoThinkLLM im Sidecar), sonst leere Extraktion.
- **Delete-Resurrection:** gelöschter Fakt kann beim nächsten learn() wieder auftauchen,
solange die Original-Nachricht in history.db liegt (mem0-Design, kein Bug).
- `sync_turn` läuft im Hintergrund → in kurzlebigen Prozessen (`hermes -z`) verpufft das
Lernen; nur langlebige Sessions lernen zuverlässig.
- Frontend: `reagraph` auf 4.22.0 gepinnt (4.23+ zieht React 19 → Crash).
## Lucy / Windows-PC
-45
View File
@@ -1,45 +0,0 @@
# Gedächtnis-Bereiche: alltag vs. projekt (Stand 19.07.2026)
## Warum
Lucys mem0 sammelte Coding-/Ops-Schutt (execute_code-Bugs, Session-Zahlen,
Hardware-Debugging) — Rauschen im Alltags-Recall. Entscheid (Commander, 19.07.):
**KEIN zweites mem0** (das Coding-Gedächtnis ist das Repo: AGENTS.md, Code, Git,
Karten). Stattdessen bekommt jeder Fakt ein Bereichs-Feld — die Trennung liegt in
den Daten, nicht in einer zweiten Datenbank.
## Was seit 19.07. existiert (gebaut, live)
- `mem0_service/app.py``classify_facts()` ordnet jeden neu gelernten Fakt
zusätzlich einem **Bereich** zu: `alltag` (Nutzer als Person: Vorlieben, Leben,
Arbeitsweise, Grundsatz-Entscheidungen) oder `projekt` (Technik: Code, Modelle,
Server, Infrastruktur, Fehler-/Projektstände). Gespeichert als Metadatum
`bereich`, ausgegeben in jedem `/memory`-Item.
- `GET /memory?bereich=alltag|projekt` filtert. **Alt-Fakten ohne Feld laufen bei
jedem Filter MIT** (nichts verschwindet durch die Umstellung).
- Quellen-Hygiene: Die IDE-Welt (Zed+OpenCode) schreibt seit 19.07. GAR NICHT mehr
ins mem0; Junk-Guard + Lern-Bündelung + monatliche Konsolidierung (3., 06:40)
laufen. Der Neuzugang an Schutt sollte dadurch bereits stark sinken.
## Selbstprüfung nach 4 Wochen (Cron „gedaechtnis-check", einmalig Mitte August)
Auftrag an Lucy: Die 50 neuesten Fakten ansehen (`GET /api/memory` sortiert
neueste zuerst). Frage: Wie viele davon sind Tool-/Fehler-/Momentaufnahmen-Schutt
(Muster: Tool-Namen, Fehlermeldungen, Session-/Commit-Zahlen, „blockiert/behoben"-
Zustände)? **> 10 von 50 → Werkstatt-Karte anlegen** mit Verweis auf dieses
Dokument und den Bauauftrag unten. Sonst: kurze Entwarnung an den Commander.
## Bauauftrag FALLS nötig: Recall-Filter (klein, KEINE neue Schicht)
Ziel: In Alltags-Gesprächen streut kein Projekt-Schutt in den Recall.
Umsetzung in `hermes/plugins/mc2-memory/__init__.py`, Funktion `prefetch()`:
1. Neuer Env-Schalter `MC2_MEMORY_RECALL_BEREICH` (leer = aus, Default).
2. Wenn gesetzt: an den Request `params={"q": q, "bereich": <wert>}` anhängen —
der Sidecar filtert serverseitig (Fakten ohne Feld laufen mit, siehe oben).
3. Setzen NUR für Lucys Voice-/Chat-Gateway (Umgebung der hermes-gateway-Unit),
NICHT für Worker-Profile — Worker sollen Projekt-Fakten ja sehen.
4. Verify: zwei Test-Learns (ein Alltags-, ein Projekt-Fakt), dann `/memory?q=…`
mit und ohne Filter vergleichen; Latenz unverändert (< 1 s Overhead).
Aufwand: < 1 Stunde. Regeln: deploy braucht Commander-Ja; Plugin-Änderung =
Gateway-Neustart.
## Bewusst NICHT tun
- Kein zweites mem0/zweite Collection (doppelte Pflege, doppelte Konsolidierung).
- Keinen Alt-Bestand automatisch umtaggen (die Monats-Konsolidierung räumt ohnehin;
der Filter behandelt ungetaggte Fakten konservativ als „immer sichtbar").
+4 -6
View File
@@ -32,7 +32,6 @@ diese Datei. Wer sie ändert: erst messen, dann schreiben._
| `mission-control-2` (User) | `:9001` | MC2 Backend+Frontend; `/v1` = OpenAI-Gateway; `/hermes-ui/` = Desktop-Gateway-Proxy |
| `hermes-gateway` (User) | `:8642` | Hermes Agent API (Lucys Lane) |
| `hermes-builtin-ui` (User) | `:9119` (loopback) | Eingebaute Hermes-GUI; LAN-Zugang NUR via MC2-Proxy `/hermes-ui/` (statischer Token im systemd-Drop-in) |
| `mem0-service` (User) | `:8765` (loopback) | Mem0-Sidecar (Gedächtnis), Py 3.12 `~/.mem0/venv` |
| `voice-service` (User) | `:8650` | STT (Parakeet/Whisper) + Turn-Check für Lucy |
| `box-console` (User) | `:7682` | ttyd-Login-Shell hinter MC2-Proxy |
@@ -48,7 +47,6 @@ Qwen3.6-35B-A3B + Qwen3-Embedding-0.6B + Qwen3-Reranker-0.6B. Sonst NICHTS dauer
| Alias/Rolle | Modell | ttl | Notizen |
|---|---|---|---|
| `hermes` + `fast` | Qwen3.6-35B-A3B (UD-Q4_K_M, MTP) | 0 | Agent-Hirn. `-c 131072 --parallel 2`**65536/Slot**, KV **q8_0**, `--spec-draft-n-max 3` |
| `embed` | Qwen3-Embedding-0.6B (Q8_0) | 0 | Mem0-Embeddings (1024 dim) |
| `reranker` | Qwen3-Reranker-0.6B (q8_0, **Mungert-GGUF**) | 0 | Gedächtnis-Sortierer (`/v1/rerank`); Community-GGUFs liefern oft Nullscores |
| `coder` | Qwen3-Coder-Next (Q4_K_M) | 600 | 131k ctx; Werkstatt-/Orchestrator-Worker + IDE „bauen"; auch `delegation.model` |
| `heavy` | gpt-oss-120b (mxfp4) | 600 | 32k ctx! Planer/Chef-Gutachter/Radar-Analyst — nur Ein-Schuss, lädt seit der LLM-Diät in ~28 s |
@@ -73,7 +71,7 @@ per Mini-Request anwärmen (direkt curlen ist zuverlässiger als warmup.sh).
- MCP-Server (aus `~/mission-control-v2/mcp/`): mission-control-memory, mission-control-stack
(mcp_mc.py, 23 Tools), hermes-pc-control, hermes-web-fetch, mcp_voice (dünn, für Voice-Lane).
- **Hermes Desktop am PC:** lokales PC-Hermes mit Box-Gateway als Hirn (`:9001/v1`), Profil
`pc` für F:\-Arbeit, geteiltes Mem0 via mc2-memory-Plugin. Remote-Gateway der Box =
`pc` für F:\-Arbeit. Remote-Gateway der Box =
`http://192.168.178.151:9001/hermes-ui`.
## Automatik-Fahrplan (was nachts von allein läuft)
@@ -82,14 +80,14 @@ per Mini-Request anwärmen (direkt curlen ist zuverlässiger als warmup.sh).
|---|---|
| 02:30 | PBS sichert alle Proxmox-LXCs |
| 03:15 | **Traum-Cron** (dreaming-feed.sh → Wissens-Vault, fremdblick-Gate, propose-only) |
| 03:30 | Tarball-Backup (mem0+Configs+Secrets+`~/.hermes/cron`+state → `/srv/models/mc2-backups`, 14 Tage; rsync-Spiegel → Proxmox) |
| 03:50 | PBS-Host-Backup der Box (`host/aibox`: mem0+hermes+vault+llamaswap.pxar) |
| 03:30 | Tarball-Backup (Configs+Secrets+`~/.hermes/cron`+state → `/srv/models/mc2-backups`, 14 Tage; rsync-Spiegel → Proxmox) |
| 03:50 | PBS-Host-Backup der Box (`host/aibox`: hermes+vault+llamaswap.pxar) |
| 04:30 | **Chef-Gutachter** (gpt-oss richtet über die autonome Arbeit → Morgenlage) |
| 05:15 Mo | **Release-Radar** (hermes-Releases gegen die Eigenbau-Landkarte; erster Lauf 13.07.) |
| 05:15 Sa | **Trend-Radar** (Live-Puls ALLER Modell-Rollen + Engine-A/B gegen neuen llama.cpp-Build + Watch-Liste [ROCm/MMQ/Community-Grid] + HF-Kandidaten-Suche → max. 1 Prüfstand-Kandidat/Woche; Frühwarnung vor dem So-Auto-Update) |
| 01:00 So | **Prüfstand** (volles Programm für Modell-Kandidaten: echte Coding-/Agenten-/Recherche-/Deutsch-/Vision-Prüfungen + Tempo auf :5899 gegen die Amtsinhaber-Baseline; Download-Deckel 35 GB, Cache räumt sich selbst, Ergebnis = Karte — Rollen-Wechsel bleibt Commander-Klick. Erkennt Engine-Drift → Tempo-Baseline-Refresh) |
| 06:40, 1. d. M. | **Restore-Probe** (stellt WIRKLICH wieder her: PBS-Canary aus hermes.pxar via --pattern + Tarball-Probe + Frische-Check < 36 h; ⚠️-Alarm, wenn ein Backup nicht zurückkommt) |
| 06:40, 2. d. M. | **Venv-Audit** (pip outdated + pip-audit-CVEs für mem0-/voice-venv; Funde = Karte, Update bleibt Commander-Entscheid) |
| 06:40, 2. d. M. | **Venv-Audit** (pip outdated + pip-audit-CVEs für voice-venv; Funde = Karte, Update bleibt Commander-Entscheid) |
| 07:00 | QNAP-Volume-Snapshot (7 behalten) |
| 07:15 | self-smoke (Gateway/Tools/Voice/:9119; Alarm nur bei Rot) |
| 08:00 | Daily-Briefing |
+2 -3
View File
@@ -12,8 +12,7 @@ einen User-Entscheid — kein „Best Practice sagt aber…" (siehe ARBEITSWEISE
- **Agent-Runtime: Hermes bleibt.** ZeroClaw-PoC gebaut + abgerissen (01.07.) — der echte
Latenz-Fix war das Hirn (gemma→Qwen3.6), nicht die Runtime. (ZeroClaw-Messwerte für den
Fall „Hermes-Latenz wird wieder Thema": `docs/ZEROCLAW_POC_RESULTS.md`.)
- **Memory-Layer: Mem0 bleibt.** Zep/Letta/Hindsight benchen höher, sind aber schwerer/teils
closed; Mem0 = beste Framework-Integration + v3-Algorithmus + läuft deployt.
- **Memory-Layer: Mem0 ENTFERNT (07.08.2026).** Hermes-Agent ist die Single Source of Truth für Gedächtnis und Autonomie.
- **Telegram bleibt DER Mobil-Kanal; WhatsApp VERWORFEN (09.07.).** Baileys-Bridge = Meta-ToS-
Verstoß mit Bann-Risiko auf der Privatnummer + fragiler Dauerprozess; Alarmkette/Crons sind
simple Bot-API-Calls. Neu bewerten nur bei offizieller Personal-Bot-API.
@@ -41,7 +40,7 @@ einen User-Entscheid — kein „Best Practice sagt aber…" (siehe ARBEITSWEISE
8994. Draft: `giocom-…-DFlash-Q8_0.gguf` (Mainline-kompatibel; abhinand-Konvertierung ist es
NICHT — fehlendes `target_layers`-Metadatum). Rollback-Backup `config.yaml.bak-dflash-*`.
KV **q8_0** (Entscheid 07.07.: Qualität > ein paar GB; der q4_k-Commit lief nie live).
`--parallel 2` = bewusster Trade (Mem0-Lernen blockiert nie den nächsten Voice-Turn).
`--parallel 2` = bewusster Trade (Lernen blockiert nie den nächsten Voice-Turn).
- **DFlash je Rolle (gemessen 22.07., nicht neu aufrollen):** coder NEIN — 4450 t/s mit Draft
(Q8 wie BF16) vs. 5960 ohne, trotz 6876 % Akzeptanz: 3B-aktiv-Decode ist billiger als das
Draften. heavy WARTET — gpt-oss-120b-Draft konvertiert (liegt in `/srv/models/DFlash-drafts/`),