跳至主要內容

儲存概覽

Mastra 儲存按域劃分。每個域擁有一組資料表或 collection。視乎你的 adapter 及設定,你可以使用所有域或只使用其中一部分。

儲存域
儲存域 的直接連結

MastraCompositeStore 可以路由以下域 key:

並非每個儲存 adapter 都會實作所有域。當 adapter 套件有匯出對應的域 class 時,複合儲存可讓你為每個域混合使用 adapter。

Domain說明
memory持久儲存對話:訊息、thread 及 resource(包括 working memory)。
workflows用於暫停及恢復的 Workflow 執行快照。
workflowDefinitions持久儲存的動態 Workflow 定義(beta)。啟動時載入並即時註冊。
scoresEvals 執行產生的評估分數記錄。
observabilityobservability exporter 及 Studio 所用的 Trace 與 span。
datasets實驗所用的 dataset 記錄、版本化項目及 dataset 版本。
experiments實驗執行及逐項實驗結果。

以下結構描述定義涵蓋 memoryworkflowsscoresobservability 的內置資料庫支援資料表。其他域及非資料庫 adapter 會使用實作特定的儲存結構。

核心結構描述
核心結構描述 的直接連結

儲存對話訊息及其 metadata。每則訊息均屬於一個 thread,並包含實際內容,以及傳送者 role 及訊息類型的 metadata。

id
uuidv4
PRIMARYKEY
NOT NULL
訊息的唯一識別碼(格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
thread_id
uuidv4
FK → threads.id
NOT NULL
上層 thread 參照
resourceId
uuidv4
CAN BE NULL
擁有此訊息的 resource ID
content
text
NOT NULL
V2 格式的訊息內容 JSON。範例:{ format: 2, parts: [...] }
role
text
NOT NULL
user | assistant 列舉值
createdAt
timestamp
NOT NULL
用於排列 thread 訊息

訊息的 content 欄包含符合 MastraMessageContentV2 類型的 JSON 物件;此類型的設計與 AI SDK UIMessage 訊息結構緊密配合。

format
integer
NOT NULL
訊息格式版本(目前為 2)
parts
array (JSON)
NOT NULL
訊息部分的陣列(文字、Tool 調用、檔案、推理等)。此陣列內項目的結構視 type 而定。
experimental_attachments
array (JSON)
CAN BE NULL
可選的附件檔案陣列
content
text
CAN BE NULL
可選的訊息主要文字內容
toolInvocations
array (JSON)
CAN BE NULL
可選的陣列,概述 Tool 調用及結果
reasoning
object (JSON)
CAN BE NULL
關於 assistant 回應背後推理過程的可選資料
annotations
object (JSON)
CAN BE NULL
可選的其他 metadata 或註釋