Dreaming (Phase 2): naechtlicher Traum-Cron + Wissens-Vault + Fremdblick-Helfer
Der Continual-Learning-Kreislauf als Capstone: idle-Zeit -> Session-Review -> navigierbare Markdown-Notizen (Wissens-Vault, eigenes git-Repo) -> Vorschlag mit Fremd-Modell-Kritiker, Mensch als Gate. - deploy/dreaming-prompt.md: versionierter Traum-Auftrag. Reflektieren (insights/ sessions/journey/curator) -> Notizen entwerfen -> Fremdblick PFLICHT-GATE (wartet auf Urteil) -> bereinigen+INDEX -> committen -> zuletzt berichten (Lucys Stimme). Propose-only: einziger Schreib-Ort ist der Vault; alles andere = Vorschlag. - deploy/dreaming-feed.sh: bootstrappt ~/wissens-vault (idempotent) + sammelt Schlaf-Daten. INDEX zwischen Markern (kein Feed-Bleed in die Datei). - deploy/fremdblick.sh: Ein-Schuss-Zweitmeinung von einem ANDEREN Modell (GLM-4.6V-Flash, anderer Vendor). Umgeht Hermes' 64K-Delegations-Floor UND das 60-GB-Ladeproblem von gpt-oss/heavy (kollidiert mit VL-30B-Warm-Set). - deploy.sh: kopiert feed + fremdblick nach ~/.hermes/scripts (chmod +x). E2E gegen die Box verifiziert (cron-Kontext): Kritiker gatet + diskriminiert (2 Overclaims als TRAEGT-NICHT abgelehnt, Zahlen korrigiert), Vault sauber committed, Warm-Set unberuehrt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
# Fremdblick — Ein-Schuss-Zweitmeinung von einem ANDEREN Modell (Default: GLM-4.6V-Flash, andere
|
||||
# Modell-FAMILIE/Vendor als das Qwen-Worker-Hirn → echte „andere Brille"). Eine EINZELNE
|
||||
# Completion — kein agentischer Subagent — umgeht Hermes' 64K-Delegations-Floor
|
||||
# (MINIMUM_CONTEXT_LENGTH) UND das 60-GB-Ladeproblem von gpt-oss (das mit dem Warm-Set kollidiert
|
||||
# und „exited prematurely" wirft). GLM lädt klein neben dem Warm-Set und antwortet zuverlässig.
|
||||
#
|
||||
# Nutzung: echo "<Beobachtungen/Behauptungen je mit Beleg>" | fremdblick.sh
|
||||
# printf '%s' "$text" | FREMDBLICK_MODEL=Qwen3-Coder-Next fremdblick.sh
|
||||
set -uo pipefail
|
||||
|
||||
# Achtung: llama-swap listet unter /v1/models die ECHTEN Modell-IDs, nicht die Gateway-Aliase
|
||||
# (kein "heavy"/"scout" hier). Default daher die reale ID GLM-4.6V-Flash.
|
||||
ENDPOINT="${FREMDBLICK_ENDPOINT:-http://127.0.0.1:8080/v1/chat/completions}"
|
||||
MODEL="${FREMDBLICK_MODEL:-GLM-4.6V-Flash}"
|
||||
SUBJECT="$(cat)"
|
||||
|
||||
if [ -z "${SUBJECT// /}" ]; then
|
||||
echo "=== FREMDBLICK: nichts zu prüfen (leere Eingabe) ==="
|
||||
exit 0
|
||||
fi
|
||||
|
||||
SYS='Du bist ein KRITISCHER Zweitgutachter und ausdrücklich ein ANDERES Modell als der Autor. Prüfe jede vorgelegte Beobachtung/Behauptung streng: Trägt der genannte Beleg (Zahl / Session / Log-Zeile) die Behauptung wirklich, oder ist es ein Einzelfall bzw. ein Bauchgefühl mit Zahlen-Deko? Verwechselt der Autor Korrelation mit Ursache? Fehlt entscheidender Kontext? Falls ein Skill-Kandidat dabei ist: ist er wirklich WIEDERVERWENDBAR oder Einmal-Kram? Antworte kompakt auf Deutsch: pro Punkt ein Urteil TRAEGT / TRAEGT-NICHT / UNSICHER mit genau einem Satz Begruendung. Sei knapp und unbestechlich; nicke nichts aus Hoeflichkeit durch. Erfinde keine neuen Belege.'
|
||||
|
||||
# max_tokens großzügig: GLM ist ein Reasoning-Modell und verbraucht Tokens im reasoning_content,
|
||||
# bevor es die eigentliche Antwort in content schreibt — zu knapp = leeres content (finish=length).
|
||||
RESP="$(jq -n --arg m "$MODEL" --arg s "$SYS" --arg u "$SUBJECT" \
|
||||
'{model:$m, temperature:0.2, max_tokens:2200, messages:[{role:"system",content:$s},{role:"user",content:$u}]}' \
|
||||
| curl -s --max-time 240 "$ENDPOINT" -H 'Content-Type: application/json' -d @- 2>/dev/null)"
|
||||
|
||||
OUT="$(printf '%s' "$RESP" | jq -r '.choices[0].message.content // empty' 2>/dev/null)"
|
||||
FIN="$(printf '%s' "$RESP" | jq -r '.choices[0].finish_reason // empty' 2>/dev/null)"
|
||||
|
||||
if [ -n "$OUT" ]; then
|
||||
echo "=== FREMDBLICK (Zweitmeinung von Modell: $MODEL) ==="
|
||||
echo "$OUT"
|
||||
elif [ "$FIN" = "length" ]; then
|
||||
echo "=== FREMDBLICK ABGESCHNITTEN ==="
|
||||
echo "(Das Kritiker-Modell hat sein Token-Budget im Nachdenken verbraucht, bevor ein Urteil kam."
|
||||
echo " Kürze deine Vorlage auf die Kern-Behauptungen und versuche es erneut; sonst UNGEPRUEFT.)"
|
||||
else
|
||||
echo "=== FREMDBLICK FEHLGESCHLAGEN ==="
|
||||
echo "(Kein Urteil erhalten — Endpoint/Modell nicht erreichbar. Behandle die Funde als UNGEPRUEFT.)"
|
||||
fi
|
||||
Reference in New Issue
Block a user