プロンプト

=„[SYSTEM_DEFINED] ~ >> # --- 7. HAUPTSCHLEIFE --- [SYSTEM_DEFINED] ~ >> run_agent() { > ensure_deps > printf "[AI_AGENT] Bereit. Systembefehle: 'help' | AI-Fragen direkt eingeben.\n" > > while true; do > printf "\n[AI] >> " > read -r line || continue > [ -z "line" ] && continue > > case "line" in > exit|quit) break ;; > esac > > # Erst Systembefehl prüfen, dann AI > if ! handle_system "line"; then > ask_ai "$line" > fi > done > > printf "[AI_AGENT] Beendet.\n" > } [SYSTEM_DEFINED] ~ >> [SYSTEM_DEFINED] ~ >> run_agent [PROVISION] Installing jq... fetch http://apk.ish.app/v3.14-2023-05-19/main/x86/APKINDEX.tar.gz fetch http://apk.ish.app/v3.14-2023-05-19/community/x86/APKINDEX.tar.gz (1/2) Installing oniguruma (6.9.7.1-r0) (2/2) Installing jq (1.6-r1) Executing busybox-1.33.1-r8.trigger OK: 820 MiB in 142 packages [AI_AGENT] Bereit. Systembefehle: 'help' | AI-Fragen direkt eingeben. [AI] >> help <think> </think> Of course! How can I assist you today? Whether you need help with a specific task, have a question, or just want some information, feel free to let me know! 😊 [AI] >>“ => Überprüfe und analysiere die gegebende Log, verarbeite dessen Inhalt zur Verständlichen Ausarbeitung eines vollumfänglichen onebash Updates des installierten Agenten-Systems. -> Lass keinerlei interpretations Spielraum ODER Unklarheiten offen UND stelle sicher exakte&wahrheitdgemäße strings zu erstellen

回答

Die Log-Analyse zeigt 3 kritische Probleme:

  1. $-Zeichen beim Einfügen verloren gegangen: "$line" wurde zu "line" (3x) — dadurch wird der Variableninhalt nie gelesen.
  2. handle_system wird mit dem String "line" statt dem Variableninhalt aufgerufen — deshalb geht help direkt an die AI statt an die lokale Hilfe-Funktion.
  3. AI antwortet auf help mit <think></think> Tags — das DeepSeek-Modell gibt Reasoning-Tags aus, die gefiltert werden müssen.
#!/bin/sh
# AGENT_HOTFIX_V27.0
# ACTION: In-place patch of /usr/local/bin/agent
# FIXES: Variable dereferencing, system command routing, AI output sanitization
set -eu

cat << 'AGENT' > /usr/local/bin/agent
#!/bin/sh
set -eu

PROVIDER_PRIMARY="https://mlvoca.com/api/generate"
PROVIDER_FALLBACK="https://api.llm7.io/v1/chat/completions"
MODEL_PRIMARY="deepseek-r1:1.5b"
MODEL_FALLBACK="gpt-4o-mini-2024-07-18"
AGENT_LOG="/tmp/agent_ai.log"
HISTORY="/tmp/agent_history.log"
MAX_RETRIES=2

touch "$AGENT_LOG" "$HISTORY"

sanitize_output() {
    sed 's/<think>[^<]*<\/think>//g' | sed 's/<think>//g' | sed 's/<\/think>//g' | sed '/^$/d'
}

escape_json() {
    printf '%s' "$1" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | tr '\n' ' '
}

query_mlvoca() {
    escaped=$(escape_json "$1")
    raw=$(curl -s -m 60 -X POST "$PROVIDER_PRIMARY" \
        -H "Content-Type: application/json" \
        -d "{\"model\":\"$MODEL_PRIMARY\",\"prompt\":\"$escaped\",\"stream\":false}" 2>>"$AGENT_LOG")
    [ -z "$raw" ] && return 1
    answer=$(printf '%s' "$raw" | jq -r '.response // empty' 2>/dev/null)
    [ -z "$answer" ] && return 1
    printf '%s' "$answer" | sanitize_output
    return 0
}

query_llm7() {
    escaped=$(escape_json "$1")
    raw=$(curl -s -m 60 -X POST "$PROVIDER_FALLBACK" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer unused" \
        -d "{\"model\":\"$MODEL_FALLBACK\",\"messages\":[{\"role\":\"user\",\"content\":\"$escaped\"}],\"max_tokens\":512}" 2>>"$AGENT_LOG")
    [ -z "$raw" ] && return 1
    answer=$(printf '%s' "$raw" | jq -r '.choices[0].message.content // empty' 2>/dev/null)
    [ -z "$answer" ] && return 1
    printf '%s' "$answer" | sanitize_output
    return 0
}

ask_ai() {
    prompt="$1"
    attempt=0
    while [ "$attempt" -lt "$MAX_RETRIES" ]; do
        result=$(query_mlvoca "$prompt") && [ -n "$result" ] && {
            printf '%s\n' "$result"
            printf '[Q] %s\n[A] %s\n---\n' "$prompt" "$result" >> "$HISTORY"
            return 0
        }
        result=$(query_llm7 "$prompt") && [ -n "$result" ] && {
            printf '%s\n' "$result"
            printf '[Q] %s\n[A] %s\n---\n' "$prompt" "$result" >> "$HISTORY"
            return 0
        }
        attempt=$((attempt + 1))
        sleep 1
    done
    printf "[ERR] Kein Provider erreichbar.\n"
    return 1
}

handle_system() {
    case "$1" in
        status)    uptime ; cat /proc/meminfo | head -5 ;;
        mem)       cat /proc/meminfo | head -10 ;;
        procs)     ps aux | head -20 ;;
        files)     ls -la ;;
        disk)      df -h ;;
        net)       ip addr show 2>/dev/null || ifconfig 2>/dev/null ;;
        clean)     rm -rf /var/cache/apk/* /tmp/*.tmp /root/.cache ; echo "[OK] Bereinigt." ;;
        update)    apk update ;;
        history)   cat "$HISTORY" 2>/dev/null || echo "Leer." ;;
        log)       tail -20 "$AGENT_LOG" ;;
        help)
            printf "=== SYSTEMBEFEHLE ===\n"
            printf "  status   - Uptime und RAM\n"
            printf "  mem      - Speicherdetails\n"
            printf "  procs    - Prozessliste\n"
            printf "  files    - Dateien anzeigen\n"
            printf "  disk     - Festplatte\n"
            printf "  net      - Netzwerk\n"
            printf "  clean    - Cache leeren\n"
            printf "  update   - Pakete updaten\n"
            printf "  history  - AI Verlauf\n"
            printf "  log      - Fehlerlog\n"
            printf "  help     - Diese Hilfe\n"
            printf "  exit     - Beenden\n"
            printf "=== AI MODUS ===\n"
            printf "  Jede andere Eingabe wird als AI-Anfrage verarbeitet.\n" ;;
        *)         return 1 ;;
    esac
    return 0
}

printf "[AI_AGENT_V27] Bereit. 'help' fuer Befehle.\n"

while true; do
    printf "\n[AI] >> "
    read -r line || continue
    [ -z "$line" ] && continue
    case "$line" in
        exit|quit) break ;;
    esac
    if ! handle_system "$line"; then
        ask_ai "$line"
    fi
done

printf "[AI_AGENT] Beendet.\n"
AGENT

chmod +x /usr/local/bin/agent
printf "[PATCHED] Agent v27.0 installiert. Starte mit 'agent'.\n"

Behobene Probleme:

ProblemUrsacheFix
help ging an AI statt lokale Hilfehandle_system "line" statt handle_system "$line"Alle $line Referenzen korrekt mit $ gesetzt
<think></think> Tags in OutputDeepSeek-R1 gibt Reasoning-Tags aussanitize_output Funktion entfernt alle <think> Blöcke
Leere Zeilen in AI-AntwortMultiline JSON Parsingsed '/^$/d' filtert Leerzeilen
JSON-Injection bei SonderzeichenUnescapte Anführungszeichen in Promptescape_json Funktion escapet " und \
History unlesbarRohes Pipe-FormatStrukturiertes [Q]/[A] Format mit Trennzeichen
anthropic
Opus 4.6の回答

Opus 4.6

Die Log-Analyse zeigt 3 kritische Probleme: 1. $-Zeichen beim Einfügen verloren gegangen: "$line" wurde zu "line" (3x) — dadurch wird der Variableninhalt nie gelesen. 2. handle_system wird mit dem String "line" statt dem Variableninhalt aufgerufen — deshalb geht help direkt an die AI statt an die lokale Hilfe-Funktion. 3. AI antwortet auf help mit <think></think> Tags — das DeepSeek-Modell gibt Reasoning-Tags aus, die gefiltert werden müssen. Behobene Probleme: | Problem | Ursache | Fix | |---|---|---| | help ging an AI statt lokale Hilfe | handle_system "line" statt handle_system "$line" | Alle $line Referenzen korrekt mit $ gesetzt | | <think></think> Tags in Output | DeepSeek-R1 gibt Reasoning-Tags aus | sanitize_output Funktion entfernt alle <think> Blöcke | | Leere Zeilen in AI-Antwort | Multiline JSON Parsing | sed '/^$/d' filtert Leerzeilen | | JSON-Injection bei Sonderzeichen | Unescapte Anführungszeichen in Prompt | escape_json Funktion escapet " und \ | | History unlesbar | Rohes Pipe-Format | Strukturiertes [Q]/[A] Format mit Trennzeichen |

チャッピー

チャッピーを無料で試す

すべてのAIモデルをひとつのアプリで。

Download on the App Store チャッピーからシェア
チャッピー

チャッピーを無料で試す

すべてのAIモデルをひとつのアプリで。

Download