// Package models 定义织忆 MemoryWeave 的核心数据模型。 package models import "time" // VersionRecord 记忆版本记录(溯源链中的单次修改) type VersionRecord struct { Version int `json:"version"` Content string `json:"content"` UpdatedBy string `json:"updated_by"` Source string `json:"source"` Trigger string `json:"trigger"` Reason string `json:"reason"` Timestamp time.Time `json:"timestamp"` } // MemoryRecord 织忆中的单条记忆(存储在 LanceDB memories 表中)。 // v3.8 完整 Schema — 23 字段,与设计文档一致。 type MemoryRecord struct { ID string `json:"id"` AgentID string `json:"agent_id"` Namespace string `json:"namespace"` Content string `json:"content"` ContentMD5 string `json:"content_md5"` // content 的 MD5 前 12 字符,用于精确去重 Category string `json:"category"` // system_fact, user_pref, proj_context, tool_usage, code_snippet Vector []float32 `json:"vector"` // bge-m3 1024维,L2归一化 Tier string `json:"tier"` // normal, core(core永不衰减) Importance float64 `json:"importance"` // 重要性得分 = recency_factor × (1+log(1+recall_count)) QualityScore float64 `json:"quality_score"` UsefulCount int `json:"useful_count"` // 被标记 useful 的次数 NotUsefulCount int `json:"not_useful_count"` // 被标记 not-useful 的次数 Version int `json:"version"` // 当前版本号 VersionHistory []VersionRecord `json:"version_history,omitempty"` // 完整修改链 Source string `json:"source"` // 来源:牧尘口头 / 配置解析 / Agent推断 / LLM蒸馏 VolatileFlag bool `json:"volatile_flag"` // 频繁变更标记(≥3次修正自动设置) RecallCount int `json:"recall_count"` Freshness string `json:"freshness"` // fresh, stale, verified LastRecalledAt time.Time `json:"last_recalled_at"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` IsDeleted bool `json:"is_deleted"` DependsOn []string `json:"depends_on,omitempty"` // 依赖的记忆 ID 列表 DerivedFrom string `json:"derived_from,omitempty"` // 蒸馏来源 episode ID } // EpisodeRecord 原始对话/任务日志(存储在 LanceDB episodes 表中)。 type EpisodeRecord struct { ID string `json:"id"` AgentID string `json:"agent_id"` Namespace string `json:"namespace"` Content string `json:"content"` Category string `json:"category"` CreatedAt time.Time `json:"created_at"` } // TombstoneRecord 已删除/废弃记忆的墓碑记录。 type TombstoneRecord struct { ID string `json:"id"` OriginalID string `json:"original_id"` Reason string `json:"reason"` // deprecated, merged, corrected, evicted CreatedAt time.Time `json:"created_at"` } // RecallResult recall 接口返回的单条结果。 type RecallResult struct { ID string `json:"id"` Content string `json:"content"` Category string `json:"category"` Score float64 `json:"score"` Timestamp string `json:"timestamp"` } // RerankResult rerank 重排后的单条结果。 type RerankResult struct { Index int `json:"index"` Score float64 `json:"score"` Text string `json:"text"` }