#!/bin/bash set -e rm -f /root/.openclaw/openclaw.json mkdir -p /root/.openclaw/sessions mkdir -p /root/.openclaw/workspace # 根据 Secrets 自动选择 provider if [ -n "$GEMINI_API_KEY" ]; then PROVIDER="google" API_KEY_VAR="$GEMINI_API_KEY" BASE_URL_VAR="https://generativelanguage.googleapis.com/v1beta" MODEL_VAR="$MODEL" PRIMARY_MODEL="google/$MODEL_VAR" API_TYPE="google-generative-ai" else PROVIDER="openai" API_KEY_VAR="$OPENAI_API_KEY" CLEAN_BASE=$(echo "$OPENAI_API_BASE" | sed "s|/chat/completions||g" | sed "s|/v1/|/v1|g" | sed "s|/v1$|/v1|g") BASE_URL_VAR="$CLEAN_BASE" MODEL_VAR="$MODEL" PRIMARY_MODEL="openai/$MODEL_VAR" API_TYPE="openai-completions" fi cat > /root/.openclaw/openclaw.json </dev/null || true) echo "Attempt $i: pairing list output:" echo "$PAIR_OUTPUT" CODE="" CODE=$(echo "$PAIR_OUTPUT" | grep -oP 'Pairing code: \K[A-Z0-9]{7,}' | head -1) if [ -z "$CODE" ]; then CODE=$(echo "$PAIR_OUTPUT" | awk '/^│ Code/ {getline; split($0, a, "│"); gsub(/^ +| +$/, "", a[2]); if (a[2] ~ /^[A-Z0-9]{7,}$/) print a[2]}' | head -1) fi if [ -z "$CODE" ]; then CODE=$(echo "$PAIR_OUTPUT" | grep -oE '[A-Z0-9]{7,}' | grep -v "PAIRING" | grep -v "REQUEST" | head -1) fi if [ -n "$CODE" ]; then echo "Found pairing code: $CODE" openclaw pairing approve telegram "$CODE" echo "Approval sent. Bot should now respond." break else echo "No pending pairing code found (attempt $i/10). Waiting 5 seconds..." sleep 5 fi done wait $GATEWAY_PID