package com.superbiz.agent.dto; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.time.LocalDate; import java.util.List; import java.util.Map; /** * Frontmatter 数据模型 * 用于解析 Markdown 文件头的 YAML frontmatter */ @Data @Builder @NoArgsConstructor @AllArgsConstructor public class Frontmatter { /** * 文档标题(必填) */ private String title; /** * 关键词列表(必填,用于 L0 精确匹配) */ private List keywords; /** * 文档摘要(必填) */ private String summary; /** * 文档类别(可选) */ private String category; private String source; private String breadcrumb; @JsonProperty("kb_scope") private String kbScope; /** * 章节锚点(预留字段,MVP 不使用) * Key: 章节标题,Value: 章节 Markdown 标题 */ private Map sections; /** * 版本号(预留字段) */ private String version; /** * 作者(预留字段) */ private String author; /** * 最后更新日期(预留字段) */ private LocalDate lastUpdated; /** * 业务场景标签,供 Planner 决策用(LLM 上传时自动生成) */ private List covers; /** * 文档级检索时机(LLM 上传时自动生成) */ private String whenToRetrieve; }