feat: Morgen-Digest für gebündelte nächtliche Telegram-Nachrichten
Ampel / ampel (push) Successful in 22s
Ampel / ampel (push) Successful in 22s
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
#!/usr/bin/env bash
|
||||
# Morgen-Digest: Sammelt die zurückgehaltenen nächtlichen Meldungen (00:00 - 06:59)
|
||||
# und lässt Lucy (LLM) eine Telegram-Zusammenfassung daraus bauen.
|
||||
set -uo pipefail
|
||||
|
||||
NIGHT_QUEUE="$HOME/.hermes/night-queue.txt"
|
||||
if [ ! -f "$NIGHT_QUEUE" ]; then
|
||||
# Keine nächtlichen Meldungen
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Wenn die Datei existiert, aber leer ist, löschen und beenden.
|
||||
if [ ! -s "$NIGHT_QUEUE" ]; then
|
||||
rm -f "$NIGHT_QUEUE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
EVIDENCE="$(cat "$NIGHT_QUEUE")"
|
||||
|
||||
PROMPT="Du bist Lucy, die KI-Assistenz der Mission-Control-Box.
|
||||
Hier sind die Systemmeldungen der vergangenen Nacht.
|
||||
Fasse sie für den Commander zu einem kurzen, kompakten Morgen-Digest zusammen.
|
||||
Es soll sich flüssig lesen, Wichtiges (Erfolge/Probleme) hervorheben und redundante Infos bündeln.
|
||||
Schreibe eine schöne, direkte Telegram-Nachricht.
|
||||
|
||||
Nächtliche Meldungen:
|
||||
$EVIDENCE"
|
||||
|
||||
# LLM aufrufen (llama-swap / gpt-oss-120b)
|
||||
ENDPOINT="${CHEF_ENDPOINT:-http://127.0.0.1:8080/v1/chat/completions}"
|
||||
MODEL="${CHEF_MODEL:-gpt-oss-120b}"
|
||||
|
||||
REQ="$(jq -n --arg m "$MODEL" --arg sys "Du bist Lucy." --arg usr "$PROMPT" --argjson mt 1200 \
|
||||
'{model:$m, messages:[{role:"system",content:$sys},{role:"user",content:$usr}],
|
||||
max_tokens:$mt, temperature:0.4}')"
|
||||
|
||||
DIGEST="$(curl -s -m 180 "$ENDPOINT" -H 'Content-Type: application/json' --data-binary "$REQ" \
|
||||
| python3 -c '
|
||||
import json, sys
|
||||
try:
|
||||
d = json.load(sys.stdin)
|
||||
msg = d["choices"][0]["message"]
|
||||
print((msg.get("content") or msg.get("reasoning_content") or "").strip())
|
||||
except Exception:
|
||||
pass'
|
||||
)"
|
||||
|
||||
if [ -n "$DIGEST" ]; then
|
||||
# Sende den Digest via hermes send (Telegram)
|
||||
bash -lc 'hermes send --to telegram --subject "[🌅 Morgen-Digest]" -- "$1"' _ "$DIGEST"
|
||||
if [ $? -eq 0 ]; then
|
||||
# Erfolgreich gesendet, Queue leeren
|
||||
rm -f "$NIGHT_QUEUE"
|
||||
else
|
||||
echo "Fehler beim Senden des Morgen-Digests an Telegram. Queue bleibt erhalten." >&2
|
||||
fi
|
||||
else
|
||||
echo "Leerer Digest vom LLM. Queue bleibt erhalten." >&2
|
||||
fi
|
||||
Reference in New Issue
Block a user