Hitonabi
565994977f
fix(v9): Hermes-Proxy non-streaming (Tool-Calls wurden im Stream geleakt)
...
Der Hermes-API-Server fuehrt im Streaming-Modus Tool-Calls nicht aus und
streamt rohe <function=…></tool_call>-Tokens als Text. Non-streaming
durchlaeuft den vollen Agent-Loop (Tools, Gedaechtnis). Proxy holt die
fertige Antwort und streamt sie wortweise selbst ans Frontend.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 19:27:23 +02:00
Hitonabi
8fd00d1887
feat(v9): Phase 2+3 — harter Cutover auf Hermes-Agent (:8642)
...
Mission Control proxyt jetzt zum Nous-Hermes-Agent-Server statt zum
Eigenbau-Agenten:
- routers/hermes.py: Chat-WS streamt als Proxy zu :8642 (OpenAI-API),
WS-Contract (thinking/token/done/error) beibehalten -> HermesPanel
unveraendert, kein Frontend-Build noetig. Status meldet Hermes-Health.
- config.py: HERMES_API_URL + HERMES_API_KEY (Key aus ~/.hermes/.env);
HERMES_SIMPLE/COMPLEX_MODEL entfernt (Routing macht Hermes selbst).
- hermes_agent.py geloescht (ReAct-Loop, tote Tools, DuckDuckGo, Fake-Stream).
- CLAUDE/README/ROADMAP aktualisiert; Phasen 2+3 abgehakt.
Lokaler Smoke-Test: App importiert, /api/hermes/status liefert 200.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 19:24:09 +02:00
Hitonabi
e8971fbf0c
fix(v8.1): Kritische Bugs behoben — system_status, model-routing, UI
...
P0:
- hermes_agent: system_status Key-Mismatch behoben (cpu_pct→cpu.percent,
ram_used_gb→ram.used/1024³, gtt analog) — zeigt jetzt echte Werte statt '?'
- guides-data: & in 4 Titel-Strings → & (Svelte text-node rendert keine HTML-Entities)
P1:
- hermes_agent: choose_model() um recherchier/such/vergleich/etc. erweitert;
kein Downgrade wenn komplexes Modell bereits geladen
- routers/hermes: asyncio.get_event_loop() → get_running_loop() (Whisper+TTS)
- maintenance: llama-swap Update akzeptiert optionales sudo-PW via stdin;
import os hinzugefügt (fix NameError in updates()); UpdateReq-Model
- ServerPanel: Engine-Update fragt jetzt nach sudo-PW (analog OS-Update)
- HermesPanel: Chat-History in sessionStorage (überlebt Reload);
Stopp-Button während Hermes antwortet; Verlauf-löschen-Button
- ConnectPanel: opencode.json → opencode.jsonc; provider → providers;
LAN-IP Override (localStorage) für NPM-Proxy-Setups
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 18:19:01 +02:00
Hitonabi
8539999627
fix+docs: Bug-Fixes, vollstaendige Dokumentation v8
...
Bug-Fixes:
- hermes_agent.py: asyncio.get_event_loop() → get_running_loop() (Python 3.10+)
- routers/hermes.py: Thread-Lock fuer Whisper-Init, HERMES_WINDOWS_USER Import,
Piper stderr logging, __import__ Anti-Pattern entfernt
- routers/memory.py: SQLite WAL-Mode, Kategorie-Enum-Validierung (user/instruction/stable/versioned/ephemeral)
- HermesPanel.svelte: findLast() → reverse().find() (Browser-Kompatibilitaet)
- ConnectPanel.svelte: Hardcoded Username durch Platzhalter ersetzt
Docs:
- CLAUDE.md: komplett aktualisiert (v7+v8, Hermes, Memory, alle Env-Vars)
- ROADMAP.md: v7+v8 als erledigt, naechste Features (v8.1-v9.1)
- README.md: komplett neu geschrieben (Agentic OS Konzept, alle Features)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 14:48:22 +02:00
Hitonabi
3679465956
feat(hermes): v8 — Hermes Agent mit Voice-Interface
...
Lokaler KI-Assistent auf dem Bosgame: Text + Sprache, Tool Calling,
WebSocket-Streaming. Steuerzentrale des Agentic OS.
- hermes_agent.py: ReAct-Agent mit Tool-Set (read_file, list_dir,
run_command, system_status, memory r/w, web_search)
- routers/hermes.py: WS /chat, POST /transcribe (Whisper),
POST /tts (Piper), GET /status, GET /pubkey
- HermesPanel.svelte: Chat-UI mit Token-Streaming, Tool-Anzeige,
Mikrofon-Button (MediaRecorder), Setup-Wizard (Windows SSH)
- Modell-Routing: scout fuer einfache Tasks, coder fuer komplexe
- HERMES_* Env-Vars in config.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 14:18:48 +02:00