OPENCLAW2 / README.md
Lory0000's picture
Upload 3 files
1d58a71 verified

#!/bin/bash

============================================================

Script di avvio OpenClaw per Hugging Face Spaces

============================================================

set -euo pipefail

CONFIG_DIR="${HOME}/.openclaw" CONFIG_FILE="${CONFIG_DIR}/openclaw.json" LOG_FILE="${CONFIG_DIR}/startup.log"

echo "🦞 Avvio OpenClaw su Hugging Face Spaces..." echo " Porta: ${OPENCLAW_GATEWAY_PORT:-7860}" echo " Modello: ${OPENCLAW_MODEL:-groq/llama-3.3-70b-versatile}" echo ""

Crea directory se non esiste

mkdir -p "${CONFIG_DIR}/workspace"

─── Determina quale provider/modello usare ─────────────────

MODEL="${OPENCLAW_MODEL:-}"

if [ -z "$MODEL" ]; then if [ -n "${GROQ_API_KEY:-}" ]; then MODEL="groq/llama-3.3-70b-versatile" elif [ -n "${GOOGLE_API_KEY:-}" ]; then MODEL="google/gemini-2.0-flash-lite" elif [ -n "${ANTHROPIC_API_KEY:-}" ]; then MODEL="anthropic/claude-haiku-4-5-20251001" elif [ -n "${OPENAI_API_KEY:-}" ]; then MODEL="openai/gpt-4o-mini" else echo "⚠️ ATTENZIONE: Nessuna API key trovata nei Secrets!" echo " Aggiungi GROQ_API_KEY (gratuita) nelle impostazioni della Space." echo " Avvio comunque OpenClaw, ma le richieste AI falliranno." MODEL="groq/llama-3.3-70b-versatile" fi fi

echo "βœ… Modello selezionato: $MODEL"

─── Scrivi configurazione openclaw.json ────────────────────

cat > "${CONFIG_FILE}" << JSONEOF { "gateway": { "port": ${OPENCLAW_GATEWAY_PORT:-7860}, "bind": "${OPENCLAW_GATEWAY_BIND:-0.0.0.0}", "token": "${OPENCLAW_TOKEN:-openclaw-hf-token}" }, "agent": { "model": "${MODEL}" }, "agents": { "defaults": { "sandbox": { "mode": "off" } } } } JSONEOF

echo "βœ… Configurazione scritta in ${CONFIG_FILE}"

─── Esporta variabili per i provider AI ────────────────────

OpenClaw legge le API key dall'ambiente

export GROQ_API_KEY="${GROQ_API_KEY:-}" export GOOGLE_API_KEY="${GOOGLE_API_KEY:-}" export ANTHROPIC_API_KEY="${ANTHROPIC_API_KEY:-}" export OPENAI_API_KEY="${OPENAI_API_KEY:-}" export OPENCLAW_GATEWAY_PORT="${OPENCLAW_GATEWAY_PORT:-7860}" export OPENCLAW_GATEWAY_BIND="${OPENCLAW_GATEWAY_BIND:-0.0.0.0}" export OPENCLAW_TOKEN="${OPENCLAW_TOKEN:-openclaw-hf-token}"

─── Messaggio di benvenuto ──────────────────────────────────

echo "" echo "═══════════════════════════════════════════════════════" echo " 🦞 OpenClaw si sta avviando..." echo " πŸ“‘ Gateway: http://0.0.0.0:${OPENCLAW_GATEWAY_PORT:-7860}" echo " πŸ”‘ Token WebChat: ${OPENCLAW_TOKEN:-openclaw-hf-token}" echo " πŸ€– Modello AI: ${MODEL}" echo "═══════════════════════════════════════════════════════" echo "" echo " Per usare la WebChat:" echo " 1. Apri l'interfaccia della Space" echo " 2. Inserisci il token quando richiesto" echo " 3. Inizia a chattare!" echo ""

─── Avvia OpenClaw Gateway ─────────────────────────────────

Il gateway si avvia in foreground (necessario per Docker/HF)

exec openclaw gateway