API e Guida per Sviluppatori

Estendi ClawBox con skill personalizzate, integrazioni REST API e webhook. Crea automazioni potenti e connettiti a servizi esterni.

Avvio Rapido

Terminal
# Connect to your ClawBox via SSH
# Default credentials: user "clawbox", password "clawbox"
ssh clawbox@clawbox.local

# Check API status
curl http://clawbox.local:8080/api/status

# Send a message
curl -X POST http://clawbox.local:8080/api/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello, ClawBox!"}'

REST API

ClawBox espone una REST API locale per il controllo programmatico.

GET/api/status

Controlla lo stato attuale del tuo ClawBox.

Esempio:

curl http://clawbox.local:8080/api/status
POST/api/chat

Invia un messaggio e ricevi una risposta AI.

Esempio:

curl -X POST -H "Content-Type: application/json" -d {"message": "Hello"} http://clawbox.local:8080/api/chat
GET/api/skills

Elenca tutte le skill installate e il loro stato.

Esempio:

curl http://clawbox.local:8080/api/skills
PUT/api/config

Aggiorna le impostazioni di configurazione di ClawBox.

Esempio:

curl -X PUT -H "Content-Type: application/json" -d {"voice": true} http://clawbox.local:8080/api/config

Creare Skill Personalizzate

Le skill sono moduli Python che estendono le funzionalità di ClawBox. Possono rispondere a trigger, chiamare API e integrarsi con servizi esterni.

Struttura Skill

my-skill/
├── manifest.json      # Skill metadata
├── handler.py         # Main skill logic
├── requirements.txt   # Python dependencies
└── README.md          # Documentation

manifest.json

{
  "name": "weather-skill",
  "version": "1.0.0",
  "description": "Get weather information",
  "triggers": ["weather", "forecast", "temperature"],
  "author": "Your Name",
  "permissions": ["network"]
}

handler.py

from openclaw import Skill, Response

class WeatherSkill(Skill):
    def handle(self, message: str, context: dict) -> Response:
        # Parse location from message
        location = self.extract_location(message)

        # Fetch weather data
        weather = self.get_weather(location)

        return Response(
            text=f"Weather in {location}: {weather['temp']}°C",
            data=weather
        )

Installare Skill

Terminal
# Install a skill from GitHub
openclaw skill install github.com/user/weather-skill

# Install from local directory
openclaw skill install ./my-skill

# List installed skills
openclaw skill list

# Remove a skill
openclaw skill remove weather-skill

Webhook

Ricevi notifiche in tempo reale quando si verificano eventi sul tuo ClawBox.

Eventi Disponibili

🔔message.received
🔔message.sent
🔔skill.triggered
🔔system.status

Autenticazione

Le richieste API richiedono autenticazione tramite token bearer. Genera token usando la CLI.

# Generate API token
openclaw token generate --name "my-app"

# Use token in requests
curl -H "Authorization: Bearer YOUR_TOKEN" \
  http://clawbox.local:8080/api/chat

Risorse per Sviluppatori