API & Entwicklerhandbuch

Erweitern Sie ClawBox mit eigenen Skills, REST API-Integrationen und Webhooks. Erstellen Sie leistungsstarke Automatisierungen und verbinden Sie sich mit externen Diensten.

Schnellstart

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 stellt eine lokale REST API für programmatische Steuerung bereit.

GET/api/status

Überprüfen Sie den aktuellen Status Ihrer ClawBox.

Beispiel:

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

Senden Sie eine Nachricht und erhalten Sie eine KI-Antwort.

Beispiel:

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

Listen Sie alle installierten Skills und deren Status auf.

Beispiel:

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

Aktualisieren Sie die ClawBox-Konfigurationseinstellungen.

Beispiel:

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

Eigene Skills entwickeln

Skills sind Python-Module, die die ClawBox-Funktionalität erweitern. Sie können auf Trigger reagieren, APIs aufrufen und sich mit externen Diensten integrieren.

Skill-Struktur

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
        )

Skills installieren

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

Erhalten Sie Echtzeit-Benachrichtigungen, wenn Ereignisse auf Ihrer ClawBox auftreten.

Verfügbare Ereignisse

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

Authentifizierung

API-Anfragen erfordern eine Authentifizierung mit Bearer-Tokens. Generieren Sie Tokens über die 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

Entwickler-Ressourcen