docs(v9): Hermes-Agent-Adoption entschieden + Phase 0 live

- ROADMAP: neue v9 (Nous Hermes Agent als Runtime, Mission Control = Control-Plane),
  5-Phasen-Plan; alte v8.4 (Windows-SSH) + altes v9 (Agentic-OS-Eigenbau) als
  ueberholt markiert; Phase 0 abgehakt mit Details
- CLAUDE: hermes_agent.py als DEPRECATED ab v9 markiert; Stack- und Status-Abschnitt
  auf die Adoption aktualisiert
- Phase 0 (Bosgame, 2026-06-23): Hermes Agent v0.17.0 installiert, coder-Modell um
  --jinja ergaenzt (Backup angelegt), auf llama-swap verdrahtet (provider=custom);
  Tool-Call-Proof erfolgreich (free -h, exakt deckungsgleich mit Live-Wert)
- docs/: alte README + Screenshot entfernt (nach Root-README konsolidiert)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-06-23 19:09:41 +02:00
parent c6fb8210b3
commit 02615f16ae
4 changed files with 35 additions and 27 deletions
+3 -2
View File
@@ -13,7 +13,7 @@ FastAPI-Backend + Svelte 5-Frontend (Vite-Build). **Leitprinzip: KISS — SoC oh
- **`llamaswap.py`** — spricht `llama-swap` an und liest/schreibt dessen `config.yaml` per `ruamel.yaml`.
- **`hw_math.py`** — Odysseus-Fit-Mathe: VRAM/RAM-Bedarf, tps-Schätzung, `max_ctx_for`, `extract_params_b`.
- **`recipes.py`** — kuratierte Use-Case-Stacks fürs Cookbook 2.0.
- **`hermes_agent.py`** — Kern des Hermes-Agenten: Tool-Definitionen, Tool-Dispatcher, LLM-Loop (ReAct), Modell-Routing.
- **`hermes_agent.py`** — Kern des Hermes-Agenten: Tool-Definitionen, Tool-Dispatcher, LLM-Loop (ReAct), Modell-Routing. **⚠️ DEPRECATED ab v9** — wird durch das Nous Hermes-Agent-Framework ersetzt (siehe ROADMAP v9). Bleibt bis Phase 3 bestehen, dann löschen.
- **`mcp_memory.py`** — stdio-MCP-Server: Gedächtnis-Tools für Cline/OpenCode/Claude Code.
- **`routers/*.py`** — ein Router je Bereich:
- `models.py` — status/download/register/update_model/unload/chat
@@ -40,7 +40,7 @@ FastAPI-Backend + Svelte 5-Frontend (Vite-Build). **Leitprinzip: KISS — SoC oh
- **3 Modelle / 5 Rollen**: `coder` (Qwen3-30B-A3B), `scout` (Qwen3-8B), `vision` (Qwen3-VL).
- **Mission Control**: Produktiv unter `/opt/mission-control`, Source unter `~/mission-control`.
- **Gedächtnis**: SQLite unter `/srv/models/mission-control-memory.db` (5 Kategorien: user/instruction/stable/versioned/ephemeral).
- **Hermes Agent**: läuft als Teil von Mission Control (kein separater Dienst), Voice via Whisper (CPU) + Piper TTS.
- **Hermes Agent**: aktuell Eigenbau als Teil von Mission Control; **ab v9 das Nous Hermes-Agent-Framework** als eigener Dienst (`hermes-agent.service`, OpenAI-API auf `:8642`, base_url → llama-swap, MCP-Client bindet `mcp_memory.py` ein). Voice (Whisper STT + Piper TTS) bleibt in Mission Control und wrappt :8642.
## Entwickeln & Deployen
@@ -124,6 +124,7 @@ Oder über den Self-Update-Button in Mission Control (empfohlen).
**v8.1 (Bug-Fix)**: system_status-Keys, Model-Routing, asyncio, sudo-PW für Engine-Update, Chat-History in sessionStorage.
**v8.2 (UX)**: Guide-Tabs + Begriffe oben, Mobile Bottom-Nav (≤520px), Download-Links, ConnectPanel-Fixes.
**v8.3 (Memory Import)**: Import aus Cloud-KIs (Claude/Gemini/ChatGPT) — zeilenweiser Batch-POST.
**v9 (Hermes-Agent-Adoption, IN ARBEIT, Entscheidung 2026-06-23)**: Eigenbau-Agent → Nous Hermes-Agent-Framework (MIT). MC wird Control-Plane. Eigenes Memory bleibt via MCP erhalten. 5 Phasen, siehe ROADMAP v9. Aktuell: Phase 0 (Proof auf Bosgame).
Offene v8-Einrichtungsschritte (kein Code, nur Setup):
- Piper Binary + Kerstin-Stimme installieren (Befehle im Hermes-Tab → ⚙ Setup)
+32 -12
View File
@@ -5,6 +5,31 @@
---
## v9 — Hermes-Agent-Adoption (🔜 IN ARBEIT, Entscheidung 2026-06-23)
**Strategiewechsel:** Der hand-gebaute Agent (`hermes_agent.py`) wird durch das **Nous Research Hermes Agent**-Framework (MIT, [github.com/nousresearch/hermes-agent](https://github.com/nousresearch/hermes-agent)) ersetzt. Mission Control wird zur **Control-Plane** darum herum.
**Warum:** Der Eigenbau ist schwach wegen Scaffolding (blinde DuckDuckGo-Suche, Memory-Voll-Dump in den Prompt, Fake-Streaming) — *nicht* wegen des Modells (Qwen3 ist SOTA bei Tool-Calling). Hermes Agent liefert die gesamte alte v9-Wunschliste fertig & gepflegt: Cron-Scheduler, Cross-Session-Memory (FTS5), Skills (procedural memory), 40+ Tools.
**Verifizierte Kompatibilität (Primärquelle):**
- 100 % lokal: spricht jeden OpenAI-kompatiblen Endpoint → llama-swap/llama.cpp (Agent-Modell braucht `--jinja`).
- MCP-Client (≥v0.2.0) **und** MCP-Server (≥v0.6.0) → eigenes `mcp_memory.py` plugt als MCP-Server ein, **v7/v8.3-Memory + MemoryPanel bleiben erhalten**.
- OpenAI-API-Server auf **:8642** (`API_SERVER_ENABLED=true`, `API_SERVER_KEY`) → HermesPanel-Chat + Voice (Whisper/Piper) zeigen dorthin.
- Config: `~/.hermes/config.yaml`. Braucht Python 3.11, Node.js, ripgrep, ffmpeg.
**Phasen:**
- [x] **Phase 0 — Proof auf echter HW (✅ 2026-06-23):** Hermes Agent **v0.17.0** installiert (`~/.hermes/`, Code in `~/.hermes/hermes-agent`). `coder` (Qwen3-Coder-30B-A3B) in llama-swap um `--jinja` ergänzt (Backup: `/etc/llama-swap/config.yaml.bak-pre-jinja`). `hermes config`: provider=custom, base_url=`http://127.0.0.1:8080/v1`, ctx 65536. Proof via `hermes -z … --yolo`: echter Tool-Call (`free -h` → „21 GiB frei", exakt deckungsgleich mit Live-Wert). Befunde: ripgrep fehlt (grep-Fallback, später `apt install ripgrep`); Hermes hat **eigenes lokales STT** (faster-whisper); terminal.backend=local; Version nicht sauber pinbar → v0.17.0 in `~/.hermes/PINNED_VERSION`, **kein** `hermes update`.
- [ ] **Phase 1 — Memory-Bridge:** `mcp_memory.py` als MCP-Server eintragen, Lesen/Schreiben gegen bestehende DB verifizieren.
- [ ] **Phase 2 — Control-Plane:** systemd-Dienst `hermes-agent.service` + MC-Panels (Agent-Status, Chat→:8642, Voice-Wrap).
- [ ] **Phase 3 — Aufräumen:** `hermes_agent.py` + tote Tools löschen, `routers/hermes.py` zu Proxy verschlanken, Self-Update auf beide Dienste erweitern.
- [ ] **Phase 4 — Auszahlung:** Cron-Scheduler + Skills im Dashboard sichtbar machen (das geschenkte v9).
**Entscheidungen (gesetzt):** Memory via MCP einbinden (nicht migrieren) · HermesPanel behalten (nicht hermes-webui, das ist an Interna gekoppelt) · erst Qwen3-coder behalten, dann Hermes-4.3-36B A/B-testen · WebUI = Lockstep-Falle, stattdessen stabiler OpenAI-API-Server.
**Risiken:** sehr junges Projekt (hohes Release-Tempo) → Version pinnen · zwei Memory-Schichten (eigene via MCP + Hermes-Session-Recall) im Blick behalten.
---
## v8.3 — Memory Import (✅ UMGESETZT & live, Stand 2026-06-23)
- **MemoryPanel**: Import-Button öffnet Formular — Text einfügen, jede Zeile wird ein eigener Eintrag (Batch-POST).
@@ -80,23 +105,18 @@ Details in Git-History.
## Nächste Features (Vorschläge)
### v8.4 — Hermes Windows-SSH
- [ ] Hermes kann Dateien auf Windows-PC lesen/schreiben via paramiko SSH
- [ ] Tool: `read_file_windows(path)`, `write_file_windows(path, content)`, `run_command_windows(cmd)`
- [ ] Hermes updated opencode.jsonc / Zed-Settings automatisch wenn neue Modelle verfügbar
- [ ] Setup-Wizard: SSH-Test-Button mit grünem Haken
### ~~v8.4 — Hermes Windows-SSH~~ (❌ überholt durch v9-Adoption)
Hermes Agent bringt SSH-Terminal-Backend von Haus aus mit — Eigenbau-SSH-Tools unnötig.
~~read_file_windows / write_file_windows / run_command_windows via paramiko~~
### v8.5 — `.well-known/opencode` Remote Config
### ~~v9 (alt) — Agentic OS Orchestrierung Eigenbau~~ (❌ ersetzt durch Hermes-Agent-Adoption)
Cron, Task-Queue, Push-Notifications, Multi-Step-Workflows — alles im Hermes-Agent-Framework bereits enthalten, siehe v9-Adoption oben.
### v8.5 — `.well-known/opencode` Remote Config (bleibt relevant)
- [ ] `GET /.well-known/opencode` — vollständige, dynamisch generierte OpenCode-Config (providers + models + MCP)
- [ ] OpenCode Desktop lädt beim Start automatisch alle Configs von Mission Control
- [ ] Einmalig: `OPENCODE_REMOTE_CONFIG=http://192.168.178.151:9000/.well-known/opencode` setzen
### v9 — Agentic OS Orchestrierung
- [ ] Hermes kann geplante Tasks ausführen (Cron-artig, z.B. täglich Modell-Updates prüfen)
- [ ] Task-Queue: Aufgaben übergeben, Ergebnis später abholen
- [ ] Push-Notifications: Hermes meldet sich wenn er fertig ist
- [ ] Multi-Step-Workflows: "Recherchiere X, schreibe Zusammenfassung, speichere ins Gedächtnis"
### v9.1 — Guides & Connect weiter verbessern
- [ ] Zed als primäre Editor-Empfehlung (Inline-Completion + Agent, lokal)
- [ ] Antigravity entfernen oder als "Cloud-first, lokal wackelig" markieren
-13
View File
@@ -1,13 +0,0 @@
# docs
Referenz-Material für Mission Control.
## `mission-control-overview.png` (vom User nachzulegen)
Das Design-2.0-Referenzbild („Gateway Control Plane"-Dashboard). Das in Schritt 1 umgesetzte
Layout ist daran angelehnt: linke Icon-Sidebar, Topbar mit Status-Pill, Alert-Banner, Hero-Karte
mit Mini-Stats, Reihe getönter KPI-Kacheln, Multi-Spalten-Panels (Health-Signale als Key-Value
+ Progress-Bar, Listen im „Session-Router"-Stil, Aktivität als „Incident-Stream").
**Einfach die PNG-Datei hier als `mission-control-overview.png` ablegen.** ROADMAP.md und CLAUDE.md
verweisen bereits darauf.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB