Beispiel-Workflow

  1. Öffnen Sie eine WebSocket-Verbindung.
  2. Senden Sie eine strukturierte interactObject-Payload.
  3. Hören Sie auf Antworten und verarbeiten Sie verschiedene Ereignistypen.
  4. Schliessen Sie den WebSocket, wenn Sie fertig sind.
Indem Sie dieser Anleitung folgen, können Benutzer den continueInteract WebSocket nahtlos in ihre Anwendungen für Echtzeit-Kommunikation integrieren.

WebSocket-Endpunkt

Die WebSocket-Verbindungs-URL wird basierend auf der Region generiert:
wss://coolify-api.eagleagents.ai/interact

Verbindung zum WebSocket herstellen

Beim Öffnen der Verbindung senden Sie eine JSON-Payload, um mit dem KI-Agenten zu interagieren:
const ws = new WebSocket(websocketUrl);

ws.onopen = () => {
  const interactObject = {
    agentId: "your-agent-id",
    convoId: "your-convo-id",
    prompt: "Hello, how can you help me?",
    agentData: {
      ownerID: "user-id", // your own UID
      userID: "user-id", // your own UID
    },
    // Optional
    lightConvoData: {
      userName: "John Doe",
      userEmail: "john@example.com",
      userPhone: "+1234567890",
      origin:
        "web-chat" | // Web chat interface
        "discord" | // Discord integration
        "messenger" | // Facebook Messenger
        "instagram" | // Instagram integration
        "gb-chat", // GB chat
    },
  };
  ws.send(JSON.stringify(interactObject));
};

Daten senden

Um eine Nachricht zu senden, strukturieren Sie die Anfrage wie folgt:
const interactObject = {
  agentId: "your-agent-id",
  convoId: "your-convo-id",
  prompt: "What is the weather like today?",
  agentData: {
    ownerID: "user-id", // your own UID
    userID: "user-id", // your own UID
  },
  lightConvoData: {
    userName: "John Doe",
    userEmail: "john@example.com",
    userPhone: "+1234567890",
    origin: "web-chat",
  },
};
ws.send(JSON.stringify(interactObject));

Nachrichten empfangen

Antworten vom WebSocket kommen als Nachrichtenstream. Um eingehende Nachrichten vom WebSocket zu empfangen:
ws.onmessage = (event) => {
  const eventData = JSON.parse(event.data);
  console.log("Received:", eventData);
};

Verbindung schliessen

Um das Schliessen des WebSocket zu handhaben:
ws.onclose = () => {
  console.log("WebSocket connection closed");
};

Fehlerbehandlung

Um Fehler ordnungsgemäss zu behandeln:
ws.onerror = (error) => {
  console.error("WebSocket error:", error);
};

Antwortstruktur

Nachrichten, die vom WebSocket empfangen werden, folgen dieser Struktur:
interface {
    type: "sync_chat_history" | "metadata" | "debug" | "action" | "chunk";
    turns?: TurnProps[];
    metadata?: {
        sources?: string[];
    };
    chunk?: string;
    chunkIndex?: number;
    ui_engine?: boolean;
    action?: {
        type: "request_handoff";
    };
}

Fazit

Dieses Dokument beschreibt die Einrichtung, Verwendung und Integration des Interact WebSocket. Entwickler können diesen Anweisungen folgen, um Echtzeit-KI-Interaktionen in ihre Anwendungen mit WebSockets zu integrieren.