#!/bin/bash ROLE="SNAKE" CONFIG_FILE="/home/zero/.crumbforest_config" MODEL=$(grep "^${ROLE}=" "$CONFIG_FILE" | cut -d'=' -f2) # Fallback auf DEFAULT falls leer if [[ -z "$MODEL" ]]; then MODEL=$(grep "^DEFAULT=" "$CONFIG_FILE" | cut -d'=' -f2) fi source /usr/local/bin/crumb_init.sh source /usr/local/bin/crumb_logger.sh crumb_init QUESTION="$*" API_KEY="${OPENROUTER_API_KEY}" LOGDIR="$HOME/.snake_logs" mkdir -p "$LOGDIR" HISTORY_FILE="$LOGDIR/snake_history.json" TMP_REQUEST="$LOGDIR/snake_request.json" TMP_RESPONSE="$LOGDIR/snake_response.json" LOG_FILE="$LOGDIR/token_log.json" echo "Rolle: $ROLE nutzt Modell: $MODEL" echo "🐍 SnakePy sagt: $QUESTION" jq -n \ --arg model "$MODEL" \ --arg system_prompt "You are SnakePy – a friendly Python snake who explains simple programming terms to children. Respond directly, clearly and kindly with a short example. No follow-up questions or evasions." \ --arg user_input "$QUESTION" \ '{"model": $model, "temperature": 0.3, "messages": [{"role": "system", "content": $system_prompt}, {"role": "user", "content": $user_input}]}' > "$TMP_REQUEST" # Anfrage an OpenRouter senden curl -s https://openrouter.ai/api/v1/chat/completions \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d @"$TMP_REQUEST" \ -o "$TMP_RESPONSE" # Antwort extrahieren REPLY=$(jq -r '.choices[0].message.content' "$TMP_RESPONSE") USAGE=$(jq -r '.usage' "$TMP_RESPONSE") echo -e "Antwort von Snake:" echo "$REPLY" crumb_log "$ROLE" "$REPLY" "$TMP_RESPONSE"