#!/usr/bin/env bash
set -euo pipefail

# Signal AI Gateway — OpenClaw 自动接入
API_KEY="${1:-}"
GATEWAY_BASE="${GATEWAY_BASE_URL:-https://api.4stoken.cn}"
BASE_URL="${GATEWAY_BASE%/}/v1"
MODEL="${GATEWAY_OPENCLAW_MODEL:-gpt-5.5}"
OR_MODEL="${GATEWAY_OPENCLAW_OR_MODEL:-openrouter-free}"
SETUP_DIR="$HOME/.openclaw"
SETUP_FILE="$SETUP_DIR/signal-gateway-setup.txt"

if [ -z "$API_KEY" ]; then
  printf '\033[1;31m错误：\033[0m请提供 Client Key\n'
  exit 1
fi

mkdir -p "$SETUP_DIR"

CONFIG_FILE="${OPENCLAW_CONFIG_FILE:-}"
if [ -z "$CONFIG_FILE" ]; then
  for candidate in \
    "$HOME/.openclaw/config.yaml" \
    "$HOME/.openclaw/config.yml" \
    "$HOME/.config/openclaw/config.yaml" \
    "$HOME/.config/openclaw/config.yml"; do
    if [ -f "$candidate" ]; then
      CONFIG_FILE="$candidate"
      break
    fi
  done
fi
if [ -z "$CONFIG_FILE" ]; then
  CONFIG_FILE="$HOME/.openclaw/config.yaml"
fi

cat > "$SETUP_FILE" <<EOF
OpenClaw OpenAI-compatible provider
base_url: $BASE_URL
api_key: $API_KEY
model: $MODEL
openrouter_model: $OR_MODEL
EOF

mkdir -p "$(dirname "$CONFIG_FILE")"
if [ -f "$CONFIG_FILE" ]; then
  cp "$CONFIG_FILE" "$CONFIG_FILE.bak-$(date +%Y%m%d%H%M%S)"
fi
cat > "$CONFIG_FILE" <<EOF
provider: openai
base_url: $BASE_URL
api_key: $API_KEY
model: $MODEL
EOF

printf '\n\033[1;36m=== Signal Gateway → OpenClaw ===\033[0m\n\n'
printf 'Gateway: %s\nOpenAI Base: %s\nModel: %s\nOpenRouter: %s\n\n' "$GATEWAY_BASE" "$BASE_URL" "$MODEL" "$OR_MODEL"
printf '\033[0;32m✓ 已写入 OpenClaw 配置：%s\033[0m\n' "$CONFIG_FILE"
printf '配置备忘: %s\n' "$SETUP_FILE"
if command -v pbcopy &>/dev/null; then
  if printf '%s' "$API_KEY" | pbcopy 2>/dev/null; then
    printf '\033[0;32m✓ API Key 已复制\033[0m\n'
  fi
fi
