Remote protocol · 05

WSS is a channel, not new playing strength

Understand a Read19 encrypted WebSocket session: every text frame carries standard KataGo Analysis Engine JSON, with updates while search continues.

  1. Connect an encrypted, bidirectional channel

    The client opens wss://read19.com/v1/katago/<API_KEY>. WSS means WebSocket over TLS. The API key in the path is a credential and must stay out of logs, screenshots, and public examples. Once connected, either side can send messages within the same session.

    One TLS handshake leaves a bidirectional session open. Protect the complete URL like a password.
  2. Put one KataGo JSON message in each frame

    A query includes a unique id plus moves, initialStones, rules, komi, boardXSize, boardYSize, and analyzeTurns. For updates during search, set reportDuringSearchEvery; Read19 accepts intervals from 0.1 to 5 seconds.

    WSS is the transport. The message body remains Analysis Engine JSON rather than a private game-record format.
  3. Use isDuringSearch as the completion boundary

    Responses during search carry isDuringSearch: true and can refresh candidates and graphs. A false value marks the final response for that id. When the user changes position, send action: terminate with terminateId to cancel only that query while keeping the session open.

    One id may receive several progress snapshots and one final snapshot. terminate targets a query, not the whole socket.

Protocol sources

  1. Read19 API documentation
  2. KataGo Analysis Engine documentation

Implementation checks

  • API key never enters logs
  • Every query id is unique
  • State follows isDuringSearch
  • Old ids are terminated after navigation
Read the stdout guide