agentscope-ai / agentscope-ai/agentscope-java

[Feature]: 支持使用 Spring WebClient 替代 OkHttp 作为可选 HTTP 传输实现

Đang mở
#872 2 bình luận 2 reaction 0 người được giao Xem trên GitHub
area/ext/spring-boot enhancement
Ngôn ngữ chính
Java
Star
5.6k
Fork
1.3k
Merge trung bình
4 ngày 12 giờ
Pull request đã merge (30 ngày)
77

Mô tả

描述(Description)

当前 AgentScope Java SDK 在内部使用 OkHttpTransport 作为默认的 HTTP 客户端来调用模型 API,这导致:

用户必须在项目中显式引入 okhttp3 依赖,否则会出现 NoClassDefFoundError: okhttp3.MediaType。

在 Spring WebFlux/Reactor 环境下,OkHttp 与 SSE/流式输出的长连接集成不够原生,容易出现连接重置或超时问题,尤其是输出量较大时。

希望 SDK 能增加一个可选的 WebClientTransport,允许用户在 Spring 项目中使用原生的 WebClient 替代 OkHttp,实现更好的反应式流式处理和连接稳定性。
复现步骤(Steps to Reproduce)

创建 Spring Boot + WebFlux 项目

使用 DashScopeChatModel.builder().stream(true).build() 进行流式调用

移除项目中的 OkHttp3 依赖

启动服务,会出现以下错误:

Caused by: java.lang.NoClassDefFoundError: okhttp3/MediaType
at io.agentscope.core.model.transport.OkHttpTransport.(OkHttpTransport.java:65)

期望结果(Expected Behavior)

提供可选的 WebClientTransport,与 Spring WebFlux/Reactor 原生集成
避免必须引入 OkHttp3 依赖
保证流式 SSE 的稳定性和连接持续性

实际结果(Actual Behavior)

当前 SDK 强制依赖 OkHttp
在 WebFlux 流式场景中,输出量大时容易出现连接被重置或超时问题

环境信息(Environment)

AgentScope Java SDK 版本:x1.0.9

Spring Boot 版本:3.x.x

Java 版本:17+

系统:Windows/Linux

额外信息(Additional Context)
已验证:在通用 Java 项目中 OkHttp 不会出现此类问题,主要在 WebFlux 长连接流式场景中
如果可以支持 WebClient,将大大提升 Spring 项目的兼容性与稳定性

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.