chore: relay v2 cleanup — remove f-strings, add version/mode to health endpoint

This commit is contained in:
2026-06-08 19:00:10 +02:00
parent 1bac8db3c5
commit 75311845ee
2 changed files with 15 additions and 13 deletions
+8 -6
View File
@@ -1,5 +1,5 @@
"""
Hermes Relay — Flask bridge tussen Node-RED en Hermes Agent (v2.0).
Hermes Relay v2 — Flask bridge tussen Node-RED en Hermes Agent.
Gebruikt een warme Hermes agent (directe Python import) in plaats van
subprocess per query. Dit bespaart ~3-5 seconden startup tijd per query.
@@ -45,7 +45,7 @@ HERMES_BIN = "/usr/local/bin/hermes" # nog steeds nodig voor hermes send
from hermes_client import call_hermes as _hermes_query
def send_telegram(text: str) -> bool:
def send_telegram(text):
"""Stuur bericht via hermes send subprocess."""
import subprocess
try:
@@ -57,7 +57,7 @@ def send_telegram(text: str) -> bool:
)
return result.returncode == 0
except Exception as e:
logger.error(f"Telegram send failed: {e}")
logger.error("Telegram send failed: %s", e)
return False
@@ -78,16 +78,16 @@ def ask():
if not prompt:
return jsonify({"status": "error", "message": "No payload received"}), 400
logger.info(f"Received: {prompt[:100]}...")
logger.info("Received: %s...", prompt[:100])
# Roep Hermes aan (direct, geen subprocess)
answer = _hermes_query(prompt)
elapsed = round(time.time() - start, 1)
logger.info(f"Answer ({elapsed}s): {answer[:200]}...")
logger.info("Answer (%.1fs): %s...", elapsed, answer[:200])
# Stuur ook naar Telegram
tg_msg = f"🤖 Hermes Relay\n\nVraag: {prompt}\n\nAntwoord: {answer}"
tg_msg = "🤖 Hermes Relay\n\nVraag: " + prompt + "\n\nAntwoord: " + answer
tg_sent = send_telegram(tg_msg)
return jsonify({
@@ -104,6 +104,8 @@ def health():
return jsonify({
"status": "ok",
"service": "hermes-relay",
"version": "2.0",
"mode": "python-import",
"model": MODEL or "(default)",
"prompt_prefix": PROMPT_PREFIX or "(none)",
})
+7 -7
View File
@@ -67,13 +67,13 @@ def _ensure_hermes_loaded():
elapsed = time.time() - start
logger.info(
f"Hermes loaded in {elapsed:.2f}s "
f"(toolsets: {toolsets})"
"Hermes loaded in %.2fs (toolsets: %s)",
elapsed, toolsets
)
_HERMES_LOADED = True
def call_hermes(prompt: str) -> str:
def call_hermes(prompt):
"""
Roep Hermes aan — hergebruikt een warme agent.
@@ -85,7 +85,7 @@ def call_hermes(prompt: str) -> str:
# Prefix (zoals /fast)
prefix = os.environ.get('HERMES_RELAY_PREFIX', '/fast')
full_prompt = f"{prefix} {prompt}".strip() if prefix else prompt
full_prompt = (prefix + " " + prompt).strip() if prefix else prompt
start = time.time()
@@ -122,10 +122,10 @@ def call_hermes(prompt: str) -> str:
logger.warning("Hermes riep sys.exit() aan tijdens query")
result = stdout_capture.getvalue().strip()
except Exception as e:
logger.error(f"Hermes error: {e}", exc_info=True)
return f"⚠️ Hermes error: {e}"
logger.error("Hermes error: %s", e, exc_info=True)
return "⚠️ Hermes error: " + str(e)
elapsed = time.time() - start
logger.info(f"Hermes responded in {elapsed:.1f}s ({len(result)} chars)")
logger.info("Hermes responded in %.1fs (%d chars)", elapsed, len(result))
return result