Skip to content

refactor(oss): abstract OSS storage layer and add multi-vendor support#1980

Open
Zzzz-zmy wants to merge 8 commits into
agentscope-ai:mainfrom
Zzzz-zmy:refactor-oss-base-story
Open

refactor(oss): abstract OSS storage layer and add multi-vendor support#1980
Zzzz-zmy wants to merge 8 commits into
agentscope-ai:mainfrom
Zzzz-zmy:refactor-oss-base-story

Conversation

@Zzzz-zmy

@Zzzz-zmy Zzzz-zmy commented Jul 1, 2026

Copy link
Copy Markdown

Restructure agentscope-extensions-cos into a multi-vendor OSS module with a shared base abstraction, enabling support for multiple cloud providers.

  • Introduce agentscope-extensions-oss-base module with abstract classes (AbstractOssBaseStore, AbstractOssAgentStateStore, AbstractOssRemoteSnapshotClient) and OssAdapter interface for vendor-agnostic object storage operations
  • Add agentscope-extensions-oss-aliyun module implementing Aliyun OSS adapter via ossClient SDK
  • Add agentscope-extensions-oss-aws module implementing AWS S3 adapter via aws-sdk-java
  • Add agentscope-extensions-oss-tencent module implementing Tencent COS adapter
  • Remove legacy agentscope-extensions-cos module (replaced by agentscope-extensions-oss-tencent)
  • Update BOM and distribution modules to reference new OSS modules
  • Add unit tests for base abstractions and vendor implementations

AgentScope-Java Version

[The version of AgentScope-Java you are working on, e.g. 1.0.12, check your pom.xml dependency version or run mvn dependency:tree | grep agentscope-parent:pom(only mac/linux)]

Description

[Please describe the background, purpose, changes made, and how to test this PR]

Checklist

Please check the following items before code is ready to be reviewed.

  • Code has been formatted with mvn spotless:apply
  • All tests are passing (mvn test)
  • Javadoc comments are complete and follow project conventions
  • Related documentation has been updated (e.g. links, examples, etc.)
  • Code is ready for review

Restructure agentscope-extensions-cos into a multi-vendor OSS module with
a shared base abstraction, enabling support for multiple cloud providers.

- Introduce agentscope-extensions-oss-base module with abstract classes
  (AbstractOssBaseStore, AbstractOssAgentStateStore,
  AbstractOssRemoteSnapshotClient) and OssAdapter interface for
  vendor-agnostic object storage operations
- Add agentscope-extensions-oss-aliyun module implementing Aliyun OSS
  adapter via ossClient SDK
- Add agentscope-extensions-oss-aws module implementing AWS S3 adapter
  via aws-sdk-java
- Add agentscope-extensions-oss-tencent module implementing Tencent COS
  adapter
- Remove legacy agentscope-extensions-cos module (replaced by
  agentscope-extensions-oss-tencent)
- Update BOM and distribution modules to reference new OSS modules
- Add unit tests for base abstractions and vendor implementations
@Zzzz-zmy Zzzz-zmy requested a review from a team July 1, 2026 11:13
Zzzz-zmy added 7 commits July 2, 2026 10:10
- Rename OssListPage to OssListObjectPage and OssSummary to OssObjectSummary for clearer naming
- Update all references across base, aliyun, and aws adapter modules
- Remove unit tests from oss-base module per project scope decision
- Replace OssSnapshotSpec with AliyunOssSnapshotSpec across v2 docs
- Add AwsS3 and TencentCos snapshot spec references alongside Aliyun
- Update OssDistributedStore to AliyunOssDistributedStore in production guide
- Update artifact IDs from agentscope-extensions-oss to agentscope-extensions-oss-aliyun
- Note multiple object storage implementations in comparison tables
@Zzzz-zmy

Zzzz-zmy commented Jul 9, 2026

Copy link
Copy Markdown
Author

@chickenlj PTAL

@AgentScopeJavaBot AgentScopeJavaBot added enhancement New feature or request area/ext/integration External protocols & middleware integrations labels Jul 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/ext/integration External protocols & middleware integrations enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants