From c3851f8e253f9043eed9790ff689d7b9dfbb61ea Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 7 Aug 2026 11:33:41 +0200 Subject: [PATCH] refactor(docs): remove obsolete mem0 and governor references, update AGENTS.md for Hermes --- AGENTS.md | 3 +- docs/wissen/FALLEN.md | 11 ------- docs/wissen/GEDAECHTNIS-BEREICHE.md | 45 ----------------------------- docs/wissen/STACK.md | 10 +++---- docs/wissen/VERDIKTE.md | 5 ++-- 5 files changed, 8 insertions(+), 66 deletions(-) delete mode 100644 docs/wissen/GEDAECHTNIS-BEREICHE.md diff --git a/AGENTS.md b/AGENTS.md index 71e0ff8..41ebe60 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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. diff --git a/docs/wissen/FALLEN.md b/docs/wissen/FALLEN.md index 1c1376d..4bf14ee 100644 --- a/docs/wissen/FALLEN.md +++ b/docs/wissen/FALLEN.md @@ -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 diff --git a/docs/wissen/GEDAECHTNIS-BEREICHE.md b/docs/wissen/GEDAECHTNIS-BEREICHE.md deleted file mode 100644 index aacbdd3..0000000 --- a/docs/wissen/GEDAECHTNIS-BEREICHE.md +++ /dev/null @@ -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": }` 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"). diff --git a/docs/wissen/STACK.md b/docs/wissen/STACK.md index f22ce04..16f970c 100644 --- a/docs/wissen/STACK.md +++ b/docs/wissen/STACK.md @@ -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 | diff --git a/docs/wissen/VERDIKTE.md b/docs/wissen/VERDIKTE.md index 87ef3c6..2e9ed92 100644 --- a/docs/wissen/VERDIKTE.md +++ b/docs/wissen/VERDIKTE.md @@ -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 89–94. 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 — 44–50 t/s mit Draft (Q8 wie BF16) vs. 59–60 ohne, trotz 68–76 % Akzeptanz: 3B-aktiv-Decode ist billiger als das Draften. heavy WARTET — gpt-oss-120b-Draft konvertiert (liegt in `/srv/models/DFlash-drafts/`),