> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Monitorowanie w czasie rzeczywistym

Monitorowanie w czasie rzeczywistym umożliwia obserwowanie rozmów agentów na żywo przez WebSocket oraz zdalne sterowanie aktywnymi połączeniami. Ta funkcja zapewnia wgląd w zdarzenia rozmowy w czasie rzeczywistym i pozwala interweniować za pomocą poleceń sterujących.

> **Note**
>
> Ta funkcja jest dostępna tylko w planie Enterprise.

## Omówienie

Sesje monitorowania przesyłają zdarzenia rozmowy w czasie rzeczywistym, w tym transkrypcje, odpowiedzi agenta i korekty. Możesz też wysyłać polecenia sterujące, by kończyć połączenia, przekazywać je na numery telefonów lub włączać przejęcie przez człowieka podczas aktywnych rozmów na czacie.

## Endpoint WebSocket

Połącz się z rozmową na żywo przez endpoint monitorowania:

```
wss://api.elevenlabs.io/v1/convai/conversations/{conversation_id}/monitor
```

Zastąp `{conversation_id}` identyfikatorem rozmowy, którą chcesz monitorować.

## Uwierzytelnianie

Uwierzytelnianie wymaga:

* **Uprawnienia klucza API**: Twój klucz API musi mieć zakres `ElevenLabs Agents Write`
* **Dostęp do workspace**: Musisz mieć dostęp `EDITOR` do workspace agenta
* **Format nagłówka**: Dołącz klucz API w nagłówku `xi-api-key`

### Przykład połączenia

```javascript
const ws = new WebSocket('wss://api.elevenlabs.io/v1/convai/conversations/conv_123/monitor', {
  headers: {
    'xi-api-key': 'your_api_key_here',
  },
});
```

```python
import websockets
import asyncio

async def monitor_conversation():
    uri = "wss://api.elevenlabs.io/v1/convai/conversations/conv_123/monitor"
    headers = {
        "xi-api-key": "your_api_key_here"
    }

    async with websockets.connect(uri, extra_headers=headers) as websocket:
        # Connection established
        pass
```

## Konfiguracja

Przed monitorowaniem rozmów włącz tę funkcję w ustawieniach agenta:

### Przejdź do ustawień agenta

Otwórz stronę konfiguracji agenta w panelu.

### Włącz monitorowanie

W panelu ustawień zaawansowanych włącz opcję „Monitoring”.

![Przełącznik monitorowania w ustawieniach agenta](/docs/_fern-img/1a4b5507a39ddf6a517772b8c01ede5f7d12429175fdf89e04c8ba910f646f8e.webp)

### Wybierz zdarzenia

Wybierz zdarzenia, które chcesz monitorować. Pełną listę dostępnych zdarzeń znajdziesz w sekcji [Client Events](/docs/pl/eleven-agents/customization/events/client-events).

> **Warning**
>
> Nie można monitorować następujących zdarzeń: wyników VAD, metryk prawdopodobieństwa tury i pingów.

> **Info**
>
> Rozmowa musi być aktywna, zanim będzie można się z nią połączyć w celu monitorowania. Nie możesz monitorować
> rozmowy, zanim się rozpocznie.

## Polecenia sterujące

Wysyłaj polecenia JSON przez WebSocket, aby sterować rozmową:

#### Zakończ połączenie

Natychmiast zakończ aktywną rozmowę.

```javascript
// End the active conversation
ws.send(JSON.stringify({
  command_type: "end_call"
}));
```

```python
import json

# End the active conversation
await websocket.send(json.dumps({
    "command_type": "end_call"
}))
```

#### Przekaż na numer telefonu

Przekaż połączenie na wskazany numer telefonu.

```javascript
// Transfer to a phone number
ws.send(JSON.stringify({
  command_type: "transfer_to_number",
  parameters: {
    phone_number: "+1234567890"
  }
}));
```

```python
import json

# Transfer to a phone number
await websocket.send(json.dumps({
    "command_type": "transfer_to_number",
    "parameters": {
        "phone_number": "+1234567890"
    }
}))
```

> **Note**
>
> Narzędzie systemowe `transfer_to_number` musi być już skonfigurowane w agencie.

#### Kontekstowa aktualizacja w czasie rzeczywistym

Dodaj kontekst lub instrukcje do aktywnej rozmowy, aby agent mógł wykorzystać nowe
informacje w odpowiedziach.

```javascript
// Send a contextual update to the agent
ws.send(JSON.stringify({
  command_type: "contextual_update",
  parameters: {
    contextual_update: "<your update text>"
  }
}));
```

```python
import json

# Send a contextual update to the agent
await websocket.send(json.dumps({
    "command_type": "contextual_update",
    "parameters": {
        "contextual_update": "<your update text>"
    }
}))
```

#### Włącz przejęcie przez człowieka

Przełącz z agenta AI na tryb operatora podczas rozmów na czacie.

```javascript
// Enable human takeover
ws.send(JSON.stringify({
  command_type: "enable_human_takeover"
}));
```

```python
import json

# Enable human takeover
await websocket.send(json.dumps({
    "command_type": "enable_human_takeover"
}))
```

#### Wyślij wiadomość jako człowiek

Wyślij użytkownikowi wiadomość jako operator podczas rozmowy na czacie.

```javascript
// Send a message as a human operator
ws.send(JSON.stringify({
  command_type: "send_human_message",
  parameters: {
    text: "How can I help you?"
  }
}));
```

```python
import json

# Send a message as a human operator
await websocket.send(json.dumps({
    "command_type": "send_human_message",
    "parameters": {
        "text": "How can I help you?"
    }
}))
```

#### Wyłącz przejęcie przez człowieka

Przekaż kontrolę z operatora z powrotem agentowi AI.

```javascript
// Disable human takeover and return to AI
ws.send(JSON.stringify({
  command_type: "disable_human_takeover"
}));
```

```python
import json

# Disable human takeover and return to AI
await websocket.send(json.dumps({
    "command_type": "disable_human_takeover"
}))
```

## Przypadki użycia

Monitorowanie w czasie rzeczywistym obsługuje kilka scenariuszy operacyjnych:

#### Kontrola jakości

Monitoruj rozmowy agentów w czasie rzeczywistym, aby zapewnić standardy jakości i wykrywać
możliwości szkoleniowe.

#### Eskalacja do człowieka

Wykrywaj rozmowy wymagające interwencji człowieka i płynnie przejmuj je od agenta AI.

#### Panele analityczne

Twórz panele monitorowania w czasie rzeczywistym, które agregują metryki rozmów i wskaźniki
wydajności.

#### Nadzór nad call center

Nadzoruj jednocześnie wiele rozmów agentów i interweniuj, gdy to konieczne.

#### Automatyczna interwencja

Wdrażaj automatyczne systemy, które analizują treść rozmów i wywołują działania na podstawie
określonych warunków.

#### Szkolenia i coaching

Wykorzystuj rozmowy na żywo jako materiał szkoleniowy i przekazuj informacje zwrotne w czasie rzeczywistym, by poprawiać
działanie agentów.

## Ograniczenia

#### Asynchroniczne dostarczanie zdarzeń

Zdarzenia monitorowania są wysyłane asynchronicznie względem rozmowy i mogą nie docierać w tej samej
kolejności co główne zdarzenia rozmowy. Podczas przetwarzania zdarzeń nie polegaj na ich kolejności, aby
odtworzyć dokładny czas rozmowy.

#### Dane audio niedostępne

Endpoint monitorowania przesyła wyłącznie zdarzenia tekstowe i metadane. Surowe dane audio nie są uwzględniane w
zdarzeniach monitorowania.

#### Limit zdarzeń historycznych

Podczas łączenia z aktywną rozmową dostępnych jest tylko około 100 ostatnich zdarzeń zapisanych w pamięci podręcznej.
Wcześniejszych zdarzeń nie można pobrać.

#### Ograniczenia filtrowania zdarzeń

Wyników VAD, metryk prawdopodobieństwa tury i zdarzeń ping nie można monitorować, gdy włączony jest niestandardowy
wybór zdarzeń.

#### Czas połączenia

Musisz połączyć się po rozpoczęciu rozmowy. Endpointu monitorowania nie można użyć
przed rozpoczęciem rozmowy.

#### Wymagane uprawnienia

Klucze API muszą mieć zakres `ElevenLabs Agents Write`, a ty musisz mieć dostęp `EDITOR` do workspace,
aby monitorować rozmowy.

## Powiązane materiały

#### [Webhooki po rozmowie](/docs/pl/eleven-agents/workflows/post-call-webhooks)

Otrzymuj dane i analizę rozmowy po zakończeniu połączeń.

#### [Analiza agenta](/docs/pl/eleven-agents/customization/agent-analysis)

Skonfiguruj ocenę sukcesu i zbieranie danych dla rozmów.

#### [Zdarzenia klienta](/docs/pl/eleven-agents/customization/events/client-events)

Poznaj zdarzenia otrzymywane w aplikacjach konwersacyjnych.

#### [WebSocket API](/docs/pl/eleven-agents/libraries/web-sockets)

Dowiedz się więcej o WebSocket API do rozmów w czasie rzeczywistym.