agentscope-ai / agentscope-ai/agentscope-java

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

Aperta
#872 2 commenti 2 reazioni 0 assegnatari Vedi su GitHub
area/ext/spring-boot enhancement
Lingua principale
Java
Stelle
5.6k
Fork
1.3k
Merge medio
4g 12h
PR unite (30g)
77

Descrizione

描述(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 项目的兼容性与稳定性

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.