x icon indicating copy to clipboard operation
x copied to clipboard

监听messages时,发现发现用户已经切换了会话,如何打断呢?

Open gehuama opened this issue 1 year ago • 4 comments

重现步骤

在线示例链接:(必填)

步骤: // XChat 钩子,处理消息发送 const { onRequest, messages, setMessages } = useXChat({ agent, }); 监听messages时,发现发现用户已经切换了会话,如何打断呢?否则新的会话里面,消息仍旧注入,就乱了

当前行为

message 直接在新的会话中添加

预期行为

切换会话,消息不乱串

上下文

No response

版本

1.0.4

您在哪些浏览器上遇到了这个问题?

No response

gehuama avatar Dec 30 '24 09:12 gehuama

这看起来不是个 bug,useXChat 设计上服务于单一会话。打断功能可以参考官网的示例:

https://x.ant.design/components/use-x-chat-cn#components-use-x-chat-demo-stream-cancel

YumoImer avatar Dec 30 '24 11:12 YumoImer

@gehuama 对于这个问题,我们统一在这里讨论吧。

对于你标题描述的问题,上面我已经回复了。

我看到你在其他地方的留言,我感觉这是一个新的功能请求:useXChat 以及 useXAgent 支持对预设的请求提供打断功能。

YumoImer avatar Dec 30 '24 11:12 YumoImer

是的,模型本身就已经封装成stream,隐藏直接的时候,再用xstrem进行一次转换其实没有必要的,在实际的需求中

gehuama avatar Dec 31 '24 08:12 gehuama

如果切换会话时直接打断的话,后续再切回来将看到一个空回复/或者一直loading。期望能根据会话id来隔离messages,这样会话切换后消息不会乱,而且正在输出的对话切回去后继续输出。

onefeng123 avatar Mar 10 '25 06:03 onefeng123