feat: Matrix-Statusberichte nach jeder Autopilot-Session
Nach jeder Session mit neuen Commits postet der Autopilot Commits + nächsten Schritt in den Raum '🔺 Pyramid Autopilot' (Token vom Gatus-Bot, nur auf dem Pi). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPrAGBxBT6GfPXzeWQ4AXb
This commit is contained in:
@@ -9,6 +9,21 @@
|
|||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
export PATH="$HOME/.local/bin:$HOME/flutter/bin:$PATH"
|
export PATH="$HOME/.local/bin:$HOME/flutter/bin:$PATH"
|
||||||
|
|
||||||
|
# --- Matrix-Statusberichte (Raum "🔺 Pyramid Autopilot", Token vom Gatus-Bot) ---
|
||||||
|
MATRIX_URL="http://127.0.0.1:6167"
|
||||||
|
MATRIX_ROOM="!sYfOwD4Dw4jBDTlNmL:steggi-matrix.work"
|
||||||
|
MATRIX_TOKEN="$(grep -s '^MATRIX_TOKEN=' "$HOME/gatus/.env" | cut -d= -f2-)"
|
||||||
|
|
||||||
|
notify_matrix() {
|
||||||
|
[ -z "$MATRIX_TOKEN" ] && return 0
|
||||||
|
local body
|
||||||
|
body=$(python3 -c 'import json,sys; print(json.dumps({"msgtype":"m.text","body":sys.stdin.read().strip()}))' <<< "$1")
|
||||||
|
curl -s -m 10 -X PUT \
|
||||||
|
"$MATRIX_URL/_matrix/client/v3/rooms/$MATRIX_ROOM/send/m.room.message/autopilot$(date +%s%N)" \
|
||||||
|
-H "Authorization: Bearer $MATRIX_TOKEN" -H "Content-Type: application/json" \
|
||||||
|
-d "$body" > /dev/null || true
|
||||||
|
}
|
||||||
|
|
||||||
PROMPT="Lies CLAUDE.md und arbeite ROADMAP.md Punkt für Punkt weiter ab. \
|
PROMPT="Lies CLAUDE.md und arbeite ROADMAP.md Punkt für Punkt weiter ab. \
|
||||||
Halte dich strikt an den Arbeitszyklus (PROGRESS.md pflegen, kleine Commits + Push). \
|
Halte dich strikt an den Arbeitszyklus (PROGRESS.md pflegen, kleine Commits + Push). \
|
||||||
Arbeite so viele Punkte ab wie möglich."
|
Arbeite so viele Punkte ab wie möglich."
|
||||||
@@ -20,7 +35,19 @@ while true; do
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
echo "===== $(date '+%F %T') Neue Claude-Session =====" | tee -a autopilot.log
|
echo "===== $(date '+%F %T') Neue Claude-Session =====" | tee -a autopilot.log
|
||||||
|
BEFORE=$(git rev-parse HEAD 2>/dev/null)
|
||||||
claude -p "$PROMPT" --dangerously-skip-permissions 2>&1 | tee -a autopilot.log
|
claude -p "$PROMPT" --dangerously-skip-permissions 2>&1 | tee -a autopilot.log
|
||||||
|
AFTER=$(git rev-parse HEAD 2>/dev/null)
|
||||||
|
if [ -n "$BEFORE" ] && [ "$BEFORE" != "$AFTER" ]; then
|
||||||
|
COMMITS=$(git log --oneline --no-decorate "$BEFORE..$AFTER" | head -15)
|
||||||
|
NEXT=$(grep -m1 -A3 "Offen/Nächster Schritt" PROGRESS.md)
|
||||||
|
notify_matrix "🔺 Pyramid-Autopilot $(date '+%H:%M') – Session fertig.
|
||||||
|
|
||||||
|
Neue Commits:
|
||||||
|
$COMMITS
|
||||||
|
|
||||||
|
$NEXT"
|
||||||
|
fi
|
||||||
echo "===== $(date '+%F %T') Session beendet - Neustart in 20 Minuten (Strg+C zum Stoppen) =====" | tee -a autopilot.log
|
echo "===== $(date '+%F %T') Session beendet - Neustart in 20 Minuten (Strg+C zum Stoppen) =====" | tee -a autopilot.log
|
||||||
sleep 1200
|
sleep 1200
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user