|
@@ -118,6 +118,7 @@ func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, me
|
|
|
}
|
|
|
// 解析流式响应
|
|
|
contentChan, errChan, closeChan := eta_llm.ParseStreamResponse(resp)
|
|
|
+ emptyContent := true
|
|
|
// 处理流式数据并发送到 WebSocket
|
|
|
for {
|
|
|
select {
|
|
@@ -127,6 +128,9 @@ func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, me
|
|
|
return err
|
|
|
}
|
|
|
session.UpdateActivity()
|
|
|
+ if emptyContent {
|
|
|
+ emptyContent = false
|
|
|
+ }
|
|
|
// 发送消息到 WebSocket
|
|
|
_ = session.Conn.WriteMessage(websocket.TextMessage, []byte(content))
|
|
|
case chanErr, ok := <-errChan:
|
|
@@ -138,6 +142,9 @@ func (manager *ConnectionManager) HandleMessage(userID int, sessionID string, me
|
|
|
// 发送错误消息到 WebSocket
|
|
|
return err
|
|
|
case <-closeChan:
|
|
|
+ if emptyContent {
|
|
|
+ _ = session.Conn.WriteMessage(websocket.TextMessage, []byte("<think></think>"))
|
|
|
+ }
|
|
|
_ = session.Conn.WriteMessage(websocket.TextMessage, []byte("<EOF/>"))
|
|
|
return nil
|
|
|
}
|