Skip to main content
本页面内容已迁移至 分布式存储 — 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}userSegmentuserId,匿名 session 用 __anon__)。
  • 单值:item_index = 0
  • 列表:item_index = 0,1,2,...,每项一行;同时另存一行 state_key='xxx:_hash' 用作变更检测。

直接使用 API

MysqlAgentStateStore 实现了 AgentStateStore 接口,常用调用如下:

配置参数说明

truncateAllSessions() 使用 TRUNCATE TABLE,需要 DROP 权限;DDL 不可回滚,仅用于测试或运维清理。