API et Guide développeur

Étendez ClawBox avec des compétences personnalisées, des intégrations API REST et des webhooks. Créez des automatisations puissantes et connectez-vous à des services externes.

Démarrage rapide

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!"}'

API REST

ClawBox expose une API REST locale pour un contrôle programmatique.

GET/api/status

Vérifiez l'état actuel de votre ClawBox.

Exemple:

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

Envoyez un message et recevez une réponse IA.

Exemple:

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

Listez toutes les compétences installées et leur état.

Exemple:

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

Mettez à jour les paramètres de configuration de ClawBox.

Exemple:

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

Création de compétences personnalisées

Les compétences sont des modules Python qui étendent les fonctionnalités de ClawBox. Elles peuvent répondre à des déclencheurs, appeler des API et s'intégrer à des services externes.

Structure d'une compétence

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
        )

Installation des compétences

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

Webhooks

Recevez des notifications en temps réel lorsque des événements se produisent sur votre ClawBox.

Événements disponibles

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

Authentification

Les requêtes API nécessitent une authentification par jetons bearer. Générez des jetons à l'aide de 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

Ressources pour développeurs