Skip to main content
agentscope-extensions-mysql 提供基于 JDBC 的全链路分布式存储实现,适合已有关系型数据库基础设施的场景。

添加依赖

数据库驱动按实际使用的版本自行引入(如 mysql-connector-jpostgresql)。

一键配置

提供的组件

1. MysqlAgentStateStore

Agent 状态持久化到 MySQL 表。
表结构:自动创建的表包含 user_idsession_idstate_keystate_value(LONGTEXT JSON)、state_typeupdated_at 等列。库名 / 表名仅允许 [a-zA-Z_][a-zA-Z0-9_-]*,长度 ≤ 64。

2. JdbcStore(BaseStore)

工作区文件系统 KV 存储,支持多种数据库方言。
支持的方言(自动检测): 并发安全putIfVersion 通过单语句 CAS UPDATE ... WHERE version = ? 实现。

3. JdbcSnapshotSpec

沙箱快照以 LONGBLOB 存储到数据库表。
表结构:snapshot_id VARCHAR(512) PKdata LONGBLOBcreated_at TIMESTAMP。自动建表。

4. JdbcSandboxExecutionGuard

基于 MySQL GET_LOCK() / RELEASE_LOCK() 的分布式锁。
锁绑定 JDBC 连接——连接关闭时自动释放。lock name 超过 64 字符时自动 hash。
注意:MySQL named locks 是 server 级别的(非 database 级别)。在共享 MySQL 实例时,使用唯一的 keyPrefix 避免冲突。

选型建议