agentscope-ai / agentscope-ai/agentscope-java

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

オープン
#872 コメント 2 件 リアクション 2 件 担当者 0 名 GitHub で見る
area/ext/spring-boot enhancement
主要言語
Java
スター
5.6k
フォーク
1.3k
平均マージ
4日 12時間
マージ済み PR(30日)
77

説明

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

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。