![]() |
1
beyondstars 12 小时 6 分钟前
先排除 vercel 或者 firebase 的因素,会不会是 client 断开了到 vercel 的连接,但是 vercel 没有断开到你部署的 app 的连接?
找一个 vps 或者虚拟机进行部署。 然后你的 nextjs 的 route-handler 部分具体是怎么写的,有没有参照官方的写法 aHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91 dGluZy9yb3V0ZS1oYW5kbGVycyNzdHJlYW1pbmcK (参考其中 streaming 和 ai-sdk 的部分) |
![]() |
2
rizon OP @beyondstars 不用 serveless 是没有问题的,这个事情 vercel 的社区里也有讨论,都没有答案
|
![]() |
3
dssxzuxc 11 小时 14 分钟前
有个办法是客户端跑路前发一个中断请求,告诉服务端这个对话可以终止了,当然有时候这个断开连接是意外导致的,比如关掉浏览器、页面崩溃,没法保证中断请求一定能正常发出,只能说这样至少能挽回一部分损失。
另外问个问题,vercel 的 AI SDK 基本是针对 Next.js 设计的,我用 Nest.js 的时候总是感觉不太好用,但是好像也没其他选择? |
![]() |
4
wangritian 11 小时 8 分钟前
让对端每 n 秒给自己发送一个心跳包,然后无限推迟一个比 n 秒多一点的 settimeout ?
|
5
rocmax 11 小时 1 分钟前 via Android
|
![]() |
6
rizon OP @wangritian
@dssxzuxc 由于是 serveless 服务,所以客户端通知唯一的办法就是引入一个新的机制来让客户端通知服务端,整个架构变复杂了,实在是有点感觉性价比太低。 看来真的没办法解决了。 而且虽然没有测但我严重怀疑 vercel 的 ai sdk 也没解决这个问题 |
7
rocmax 10 小时 58 分钟前 via Android
昨天恰好碰到使用 server actions 处理 stream text 时无法中断的问题,ai sdk 里说 rsc 还不支持 abortSignal ,只能改成 API 了。。。
|
![]() |
11
dssxzuxc 10 小时 5 分钟前
提 issue 吧,50804 虽然说已解决,但是翻到那条 pull 的最下面评论说了有些 node 版本下依然不行。有些功能在不同 node 版本下时好时坏太正常了,或许升级/降级就解决了。
|