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:
@@ -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`.
|
- **`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`.
|
- **`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.
|
- **`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.
|
- **`mcp_memory.py`** — stdio-MCP-Server: Gedächtnis-Tools für Cline/OpenCode/Claude Code.
|
||||||
- **`routers/*.py`** — ein Router je Bereich:
|
- **`routers/*.py`** — ein Router je Bereich:
|
||||||
- `models.py` — status/download/register/update_model/unload/chat
|
- `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).
|
- **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`.
|
- **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).
|
- **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
|
## 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.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.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.
|
**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):
|
Offene v8-Einrichtungsschritte (kein Code, nur Setup):
|
||||||
- Piper Binary + Kerstin-Stimme installieren (Befehle im Hermes-Tab → ⚙ Setup)
|
- Piper Binary + Kerstin-Stimme installieren (Befehle im Hermes-Tab → ⚙ Setup)
|
||||||
|
|||||||
+32
-12
@@ -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)
|
## 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).
|
- **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)
|
## Nächste Features (Vorschläge)
|
||||||
|
|
||||||
### v8.4 — Hermes Windows-SSH
|
### ~~v8.4 — Hermes Windows-SSH~~ (❌ überholt durch v9-Adoption)
|
||||||
- [ ] Hermes kann Dateien auf Windows-PC lesen/schreiben via paramiko SSH
|
Hermes Agent bringt SSH-Terminal-Backend von Haus aus mit — Eigenbau-SSH-Tools unnötig.
|
||||||
- [ ] Tool: `read_file_windows(path)`, `write_file_windows(path, content)`, `run_command_windows(cmd)`
|
~~read_file_windows / write_file_windows / run_command_windows via paramiko~~
|
||||||
- [ ] Hermes updated opencode.jsonc / Zed-Settings automatisch wenn neue Modelle verfügbar
|
|
||||||
- [ ] Setup-Wizard: SSH-Test-Button mit grünem Haken
|
|
||||||
|
|
||||||
### 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)
|
- [ ] `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
|
- [ ] 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
|
- [ ] 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
|
### v9.1 — Guides & Connect weiter verbessern
|
||||||
- [ ] Zed als primäre Editor-Empfehlung (Inline-Completion + Agent, lokal)
|
- [ ] Zed als primäre Editor-Empfehlung (Inline-Completion + Agent, lokal)
|
||||||
- [ ] Antigravity entfernen oder als "Cloud-first, lokal wackelig" markieren
|
- [ ] Antigravity entfernen oder als "Cloud-first, lokal wackelig" markieren
|
||||||
|
|||||||
@@ -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 |
Reference in New Issue
Block a user