agentscope-extensions-mysql 提供基于 JDBC 的全链路分布式存储实现,适合已有关系型数据库基础设施的场景。
添加依赖
mysql-connector-j、postgresql)。
一键配置
提供的组件
1. MysqlAgentStateStore
Agent 状态持久化到 MySQL 表。user_id、session_id、state_key、state_value(LONGTEXT JSON)、state_type、updated_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) PK、data LONGBLOB、created_at TIMESTAMP。自动建表。
4. JdbcSandboxExecutionGuard
基于 MySQLGET_LOCK() / RELEASE_LOCK() 的分布式锁。
注意:MySQL named locks 是 server 级别的(非 database 级别)。在共享 MySQL 实例时,使用唯一的 keyPrefix 避免冲突。