跳到主要内容

存储概览

Mastra 存储按域组织。每个域拥有一组表或集合。根据所用的适配器和配置,你可以使用所有域,也可以只使用其中一部分。

存储域
存储域的直接链接

MastraCompositeStore 可路由以下域键:

并非每个存储适配器都实现了所有域。当适配器包导出对应的域类时,组合存储允许你为不同的域混用适配器。

描述
memory对话持久化:消息、线程和资源(包括工作记忆)。
workflows用于暂停和恢复的 Workflow 运行快照。
workflowDefinitions持久化的动态 Workflow定义(Beta)。启动时会加载并实时注册。
scores来自评估运行的评分记录。
observability供可观测性导出器和 Studio 使用的 Trace 和 Span。
datasets供实验使用的数据集记录、版本化条目和数据集版本。
experiments实验运行和每个条目的实验结果。

以下 schema 定义涵盖了为 memoryworkflowsscoresobservability 文档所说明的内置数据库支持的表。其他域和非数据库适配器使用特定于实现的存储结构。

核心 schema
核心 schema的直接链接

存储对话消息及其元数据。每条消息都属于一个线程,包含实际内容以及发送者角色和消息类型的元数据。

id
uuidv4
PRIMARYKEY
NOT NULL
消息的唯一标识符(格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
thread_id
uuidv4
FK → threads.id
NOT NULL
父线程引用
resourceId
uuidv4
CAN BE NULL
拥有此消息的资源 ID
content
text
NOT NULL
V2 格式的消息内容 JSON。例如:{ format: 2, parts: [...] }
role
text
NOT NULL
user | assistant 枚举值
createdAt
timestamp
NOT NULL
用于对线程中的消息排序

消息的 content 列包含符合 MastraMessageContentV2 类型的 JSON 对象,该类型旨在与 AI SDK 的 UIMessage 消息结构紧密对齐。

format
integer
NOT NULL
消息格式版本(当前为 2)
parts
数组(JSON)
NOT NULL
消息部分的数组(文本、工具调用、文件、推理等)。该数组中条目的结构因 type 而异。
experimental_attachments
数组(JSON)
CAN BE NULL
可选的文件附件数组
content
text
CAN BE NULL
可选的消息主要文本内容
toolInvocations
数组(JSON)
CAN BE NULL
汇总工具调用及其结果的可选数组
reasoning
对象(JSON)
CAN BE NULL
有关 assistant 响应背后推理过程的可选信息
annotations
对象(JSON)
CAN BE NULL
可选的额外元数据或注释