agentscope-ai / agentscope-ai/agentscope-java

[Bug]:oss 模块是否考虑使用 awssdk 目前阿里云的 sdk 各种不兼容 minio 都存不进去

Abierto
#1,795 1 comentario 0 reacciones 0 asignados Ver en GitHub
area/ext/integration bug
Lenguaje dominante
Java
Estrellas
5.6k
Forks
1.3k
Merge medio
4 d 12 h
PR fusionados (30 d)
77

Descripción

**AgentScope-Java is an open-source project. To involve a broader community, we recommend asking your questions in English.**

**Describe the bug**
oss 模块是否考虑使用 awssdk 目前阿里云的 sdk 各种不兼容 minio 都存不进去
目前部署的是 minio 的镜像, 存储是存的 oss

**To Reproduce**
Steps to reproduce the behavior:

1. You code
```java

@NotNull
private DistributedStore buildDistributedStore() {
OssDistributedStore ossDistributedStore = OssDistributedStore.create(minioStoreConfig.ossClient(), minioStoreConfig.getBucket(), "distributed/");
RedisDistributedStore redisDistributedStore = RedisDistributedStore.fromJedis(jedisCluster);

return DistributedStore.builder()
.agentStateStore(ossDistributedStore.agentStateStore())
.baseStore(ossDistributedStore.baseStore())
.sandboxSnapshotSpec(redisDistributedStore.sandboxSnapshotSpec())
.sandboxExecutionGuard(redisDistributedStore.sandboxExecutionGuard())
.build();
}

final DistributedStore distributedStore = buildDistributedStore();

// 文件系统配置
WorkspaceSpec workspaceSpec = new WorkspaceSpec();
workspaceSpec.setRoot("/wrp");
workspaceSpec.setEnvironment(environment);

SandboxFilesystemSpec filesystemSpec = new DockerFilesystemSpec()
.image("ubuntu:latest") // 基础镜像,根据工具需求调整
.cpuCount(2L)
.memorySizeBytes(2L * 1024 * 1024 * 1024) // 2GB
.exposedPorts(8080, 3000, 22, 2375) // 常用端口示例,实际根据工具需求调整
.network("host")
.workspaceRoot(workspaceSpec.getRoot())
.workspaceSpec(workspaceSpec)
.environment(environment)
.workspaceProjectionEnabled(true)
.isolationScope(IsolationScope.SESSION)
.snapshotSpec(distributedStore.sandboxSnapshotSpec())
.executionGuard(distributedStore.sandboxExecutionGuard());

HarnessAgent.Builder builder = HarnessAgent.builder()
.agentId(agent.getAgentCode())
.name(agent.getAgentCode())
.description(agent.getDescription())
.sysPrompt(sysPrompt)
.toolkit(toolkitAssembler.assemble(agent))
.maxIters(agent.getMaxIterations())
.model(model)
.workspace(Path.of(teamContext.getTeamCode(), teamContext.getUsername(), agent.getAgentCode()))
.filesystem(filesystemSpec)
.distributedStore(distributedStore) // 状态存储和分布式存储都使用 MinIO,简化部署和一致性
.skillsEnabled(true)
.checkRunning(true)
.skillRepository(skillRepository) // 可配置远程或本地技能仓库,支持 Git/S3 等多种协议
.enableAgentTracingLog(true)
.enableMetaTool(true)
.enablePendingToolRecovery(true)
.enablePlanMode(dto.getPlan()) // 只读规划阶段用 plan_write 写计划;跨调用保留并驱动执行阶段,让意图与动作解耦
.enableSkillManageTool(true) // agent 调 propose_skill 从有效模式起草技能 → 可选审批闸门放行 → 后台 curator 把长期未用的标记为 stale(30 天)并归档(90 天)
.enableTaskList()
.toolResultEviction(ToolResultEvictionConfig.defaults())
;

```
3. How to execute
4. See error

**Error messages**
```log

2026-06-17 15:58:23.967 WARN [agent_scope_platform] [boundedElastic-4] [NAN] [NAN] [耗时: 0 s] com.aliyun.oss - [com.aliyun.oss.common.utils.LogUtils : logException : 70] - [Server]Unable to execute HTTP request: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
[ErrorCode]: InvalidRequest
[RequestId]: 18B9CF57E16466BC
[HostId]: dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
[ResponseError]:

InvalidRequestThe authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256./ai-chat-data/distributed/state/1:1/83a70147f4a84398b867513af2fcad96/agent_state.json18B9CF57E16466BCdd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
2026-06-17 15:58:23.972 INFO [agent_scope_platform] [boundedElastic-4] [NAN] [NAN] [耗时: 0 s] io.agentscope.harness.agent.middleware.AgentTraceMiddleware - [io.agentscope.harness.agent.middleware.AgentTraceMiddleware : lambda$onAgent$1 : 81] - [system_assistant] ERROR | RuntimeException: Failed to save state: agent_state
2026-06-17 15:58:23.972 ERROR [agent_scope_platform] [boundedElastic-4] [NAN] [NAN] [耗时: 0 s] c.f.agent.ai.chat.middleware.logging.AgentLoggingMiddleware - [com.ffk.agent.ai.chat.middleware.logging.AgentLoggingMiddleware : lambda$onAgent$2 : 85] - [Agent:system_assistant] error: Failed to save state: agent_state
java.lang.RuntimeException: Failed to save state: agent_state
at io.agentscope.extensions.oss.OssAgentStateStore.save(OssAgentStateStore.java:98)
at io.agentscope.core.ReActAgent.lambda$saveStateToSession$2(ReActAgent.java:420)
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:73)
at reactor.core.publisher.MonoRunnable.call(MonoRunnable.java:32)
at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:228)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: com.aliyun.oss.OSSException: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
[ErrorCode]: InvalidRequest
[RequestId]: 18B9CF57E16466BC
[HostId]: dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
[ResponseError]:

InvalidRequestThe authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256./ai-chat-data/distributed/state/1:1/83a70147f4a84398b867513af2fcad96/agent_state.json18B9CF57E16466BCdd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
at com.aliyun.oss.common.utils.ExceptionFactory.createOSSException(ExceptionFactory.java:103)
at com.aliyun.oss.internal.OSSErrorResponseHandler.handle(OSSErrorResponseHandler.java:92)
at com.aliyun.oss.common.comm.ServiceClient.handleResponse(ServiceClient.java:289)
at com.aliyun.oss.common.comm.ServiceClient.sendRequestImpl(ServiceClient.java:159)
at com.aliyun.oss.common.comm.ServiceClient.sendRequest(ServiceClient.java:87)
at com.aliyun.oss.internal.OSSOperation.send(OSSOperation.java:137)
at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:214)
at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:156)
at com.aliyun.oss.internal.OSSObjectOperation.writeObjectInternal(OSSObjectOperation.java:1190)
at com.aliyun.oss.internal.OSSObjectOperation.putObject(OSSObjectOperation.java:107)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:627)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:611)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:605)
at io.agentscope.extensions.oss.OssAgentStateStore.putString(OssAgentStateStore.java:268)
at io.agentscope.extensions.oss.OssAgentStateStore.save(OssAgentStateStore.java:96)
... 11 common frames omitted
2026-06-17 15:58:24.078 WARN [agent_scope_platform] [boundedElastic-4] [NAN] [NAN] [耗时: 0 s] com.aliyun.oss - [com.aliyun.oss.common.utils.LogUtils : logException : 70] - [Server]Unable to execute HTTP request: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
[ErrorCode]: InvalidRequest
[RequestId]: 18B9CF57E7A5E0ED
[HostId]: dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
[ResponseError]:

InvalidRequestThe authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256./ai-chat-data/distributed/state/__anon__/sandbox/session/83a70147f4a84398b867513af2fcad96/_sandbox_state.json18B9CF57E7A5E0EDdd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
2026-06-17 15:58:24.083 WARN [agent_scope_platform] [boundedElastic-4] [NAN] [NAN] [耗时: 0 s] io.agentscope.harness.agent.sandbox.SandboxManager - [io.agentscope.harness.agent.sandbox.SandboxManager : persistState : 208] - [sandbox] Failed to persist sandbox state: Failed to save sandbox state for SandboxIsolationKey{scope=SESSION, value='83a70147f4a84398b867513af2fcad96'}
java.io.IOException: Failed to save sandbox state for SandboxIsolationKey{scope=SESSION, value='83a70147f4a84398b867513af2fcad96'}
at io.agentscope.harness.agent.sandbox.SessionSandboxStateStore.asIo(SessionSandboxStateStore.java:95)
at io.agentscope.harness.agent.sandbox.SessionSandboxStateStore.save(SessionSandboxStateStore.java:63)
at io.agentscope.harness.agent.sandbox.SandboxManager.persistState(SandboxManager.java:202)
at io.agentscope.harness.agent.middleware.SandboxLifecycleMiddleware.releaseForCall(SandboxLifecycleMiddleware.java:123)
at io.agentscope.harness.agent.HarnessAgent.lambda$wrappedStreamEvents$24(HarnessAgent.java:792)
at reactor.core.publisher.FluxUsing$UsingSubscriber.onError(FluxUsing.java:209)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
at reactor.core.publisher.FluxCreate$BaseSink.error(FluxCreate.java:479)
at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:868)
at reactor.core.publisher.FluxCreate$BufferAsyncSink.error(FluxCreate.java:813)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.drainLoop(FluxCreate.java:239)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.drain(FluxCreate.java:215)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.error(FluxCreate.java:191)
at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155)
at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.MonoUsing$MonoUsingSubscriber.onError(MonoUsing.java:260)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxDoFinally$DoFinallySubscriber.onError(FluxDoFinally.java:119)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:232)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:204)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:850)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:612)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:592)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:469)
at reactor.core.publisher.Operators.complete(Operators.java:137)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:144)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83)
at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:265)
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
at reactor.core.publisher.Mono.subscribe(Mono.java:4576)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onError(MonoIgnoreThen.java:280)
at reactor.core.publisher.FluxSubscribeOnCallable$CallableSubscribeOnSubscription.run(FluxSubscribeOnCallable.java:231)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.lang.RuntimeException: Failed to save state: _sandbox_state
at io.agentscope.extensions.oss.OssAgentStateStore.save(OssAgentStateStore.java:98)
at io.agentscope.harness.agent.sandbox.SessionSandboxStateStore.save(SessionSandboxStateStore.java:60)
... 67 common frames omitted
Caused by: com.aliyun.oss.OSSException: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.
[ErrorCode]: InvalidRequest
[RequestId]: 18B9CF57E7A5E0ED
[HostId]: dd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
[ResponseError]:

InvalidRequestThe authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256./ai-chat-data/distributed/state/__anon__/sandbox/session/83a70147f4a84398b867513af2fcad96/_sandbox_state.json18B9CF57E7A5E0EDdd9025bab4ad464b049177c95eb6ebf374d3b3fd1af9251148b658df7ac2e3e8
at com.aliyun.oss.common.utils.ExceptionFactory.createOSSException(ExceptionFactory.java:103)
at com.aliyun.oss.internal.OSSErrorResponseHandler.handle(OSSErrorResponseHandler.java:92)
at com.aliyun.oss.common.comm.ServiceClient.handleResponse(ServiceClient.java:289)
at com.aliyun.oss.common.comm.ServiceClient.sendRequestImpl(ServiceClient.java:159)
at com.aliyun.oss.common.comm.ServiceClient.sendRequest(ServiceClient.java:87)
at com.aliyun.oss.internal.OSSOperation.send(OSSOperation.java:137)
at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:214)
at com.aliyun.oss.internal.OSSOperation.doOperation(OSSOperation.java:156)
at com.aliyun.oss.internal.OSSObjectOperation.writeObjectInternal(OSSObjectOperation.java:1190)
at com.aliyun.oss.internal.OSSObjectOperation.putObject(OSSObjectOperation.java:107)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:627)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:611)
at com.aliyun.oss.OSSClient.putObject(OSSClient.java:605)
at io.agentscope.extensions.oss.OssAgentStateStore.putString(OssAgentStateStore.java:268)
at io.agentscope.extensions.oss.OssAgentStateStore.save(OssAgentStateStore.java:96)
... 68 common frames omitted

```

**Environment (please complete the following information):**

- AgentScope-Java Version: [e.g. 1.0.12, check your pom.xml dependency version or run `mvn dependency:tree | grep agentscope-parent:pom`(only mac/linux)]
- Java Version: [e.g. 17]
- OS: [e.g. macos, windows]

**Additional context**
Add any other context about the problem here.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.