远程协议 · 05
WSS 不是新棋力:KataGo JSON 的远程通道
看懂 Read19 的加密 WebSocket 会话:连接后每个文本帧都是标准 KataGo Analysis Engine JSON,结果会在搜索中持续更新。
连接只负责建立加密双向通道
客户端连接 wss://read19.com/v1/katago/<API_KEY>。wss 表示 WebSocket over TLS;路径中的 API Key 是凭据,不应写进日志、截图或公开示例。连接成功后,双方都可以在同一会话中主动发送消息。
一次 TLS 握手后保留双向会话;完整 URL 应与密码一样保护。 每个文本帧都是一条 KataGo JSON 消息
查询至少包含唯一 id、moves、initialStones、rules、komi、boardXSize、boardYSize 与 analyzeTurns。需要途中更新时设置 reportDuringSearchEvery,Read19 支持 0.1 到 5 秒的间隔。
WSS 是运输层,消息体仍遵循 Analysis Engine JSON;不是再套一层私有棋谱格式。 用 isDuringSearch 判断是否结束
搜索中的响应带 isDuringSearch: true,适合刷新候选着和曲线;最终响应为 false,才表示该 id 的任务完成。若用户换了局面,发送 action: terminate 与 terminateId,只取消目标查询,不必断开整个会话。
同一 id 可以收到多次途中快照和一次最终快照;terminate 指向查询 id,而不是关闭全部连接。
协议依据
实现时检查
- API Key 不进入日志
- 每个查询 id 唯一
- 按 isDuringSearch 更新状态
- 切换局面时终止旧 id