本页面内容已迁移至 分布式存储 — MySQL。以下内容保留作为参考,但建议使用新文档。
MySQL 状态存储
agentscope-extensions-mysql 把 AgentScope 的 Agent 状态持久化到 MySQL。适合已有 MySQL 基础设施、需要事务和 SQL 查询能力的场景。
添加依赖
mysql:mysql-connector-j)。
快速上手
自定义库名 / 表名
[a-zA-Z_][a-zA-Z0-9_-]*,长度 ≤ 64,避免 SQL 注入。
表结构
createIfNotExist=true 时会自动建表:
(userId, sessionId)二元组会被打包进session_id列,形如{userSegment}:{sessionId}(userSegment为userId,匿名 session 用__anon__)。- 单值:
item_index = 0 - 列表:
item_index = 0,1,2,...,每项一行;同时另存一行state_key='xxx:_hash'用作变更检测。
直接使用 API
MysqlAgentStateStore 实现了 AgentStateStore 接口,常用调用如下:
配置参数说明
truncateAllSessions()使用TRUNCATE TABLE,需要 DROP 权限;DDL 不可回滚,仅用于测试或运维清理。