Enhancement Suite: Anti-loop protection, Kokoro TTS integration, ComfyUI status monitoring, and auto-open image functionality

This commit is contained in:
2026-02-23 00:59:20 +00:00
parent d7efe008b8
commit 90fcba28bc
41 changed files with 1982 additions and 40 deletions

View File

@@ -0,0 +1,64 @@
import requests
import json
import threading
from typing import Callable, List, Dict
def send_notification(config: Dict, title: str, message: str, priority: str = "default"):
"""Send notification via ntfy.sh"""
ntfy_config = config.get("ntfy", {})
if not ntfy_config.get("enabled") or not ntfy_config.get("topic"):
return
try:
server = ntfy_config.get("server", "https://ntfy.sh")
topic = ntfy_config["topic"]
url = f"{server}/{topic}"
requests.post(url,
data=message.encode('utf-8'),
headers={
"Title": title,
"Priority": priority
},
timeout=5
)
except:
pass
def ntfy_listener(config: Dict, on_message: Callable[[str], str]):
"""Listen for ntfy notifications and process them"""
ntfy_config = config.get("ntfy", {})
if not ntfy_config.get("enabled") or not ntfy_config.get("topic"):
return
server = ntfy_config.get("server", "https://ntfy.sh")
topic = ntfy_config["topic"]
url = f"{server}/{topic}/json"
try:
response = requests.get(url, stream=True, timeout=None)
for line in response.iter_lines():
if line:
data = json.loads(line)
if data.get("event") == "message":
title = data.get("title", "")
message = data.get("message", "")
# Skip messages sent by this script
if title in ["Response", "Ollama CLI", "File Created", "Command Complete"]:
continue
# Process message
response_text = on_message(message)
# Send response back
send_notification(config, "Response", response_text[:1000])
except:
pass
def start_notify_thread(config: Dict, on_message: Callable[[str], str]):
thread = threading.Thread(target=ntfy_listener, args=(config, on_message), daemon=True)
thread.start()
return thread