agentscope-ai / agentscope-ai/agentscope-java
[Bug]:oss 模块是否考虑使用 awssdk 目前阿里云的 sdk 各种不兼容 minio 都存不进去
- 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ả
**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.
Hướng dẫn đóng góp
Đánh giá
Issue này chưa được đánh giá.