diff --git a/pkg/openai/realtime.go b/pkg/openai/realtime.go index 2f74ef2..5c7627e 100644 --- a/pkg/openai/realtime.go +++ b/pkg/openai/realtime.go @@ -95,12 +95,15 @@ func forwardMessages(ctx context.Context, src, dst *websocket.Conn) error { case <-ctx.Done(): return ctx.Err() default: - _, message, err := src.ReadMessage() + messageType, message, err := src.ReadMessage() if err != nil { + if websocket.IsCloseError(err, websocket.CloseNormalClosure, websocket.CloseGoingAway) { + return nil // 正常关闭,不报错 + } return err } log.Println("Received message:", string(message)) - err = dst.WriteMessage(websocket.TextMessage, message) + err = dst.WriteMessage(messageType, message) if err != nil { return err }