Dossier 是一个生成自包含 HTML 简报的工具,适用于需要将结构化数据整理为清晰、可阅读简报的场景。
用途
Dossier 用于根据任意数据源生成精致的、自包含的 HTML 简报。数据源可以是 SharePoint 列表、已上传的文档、聊天中粘贴的表格,或者仅凭口头描述。它适合制作竞争对手分析、客户/潜客档案、候选人资料、SharePoint 站点概览、董事会成员、演讲者、合作伙伴、供应商等对象的简报。
主要能力
- 支持从 SharePoint 列表读取数据(调用 list_items,读取所需列)。
- 支持解析已上传文档或粘贴在聊天中的表格。
- 支持仅凭口头描述构建简报。
- 通过一次消息中的多个问题完成用户访谈,涵盖对象类型、对象数量、目的与受众、关键事实、叙述重点、调色板、模式覆盖等。
- 构建并校验 JSON 文档,JSON 为权威数据源。
- 支持两种渲染模式:网格模式(2–8 个对象)和一页纸模式(1 个对象),可自动检测或手动指定。
- 提供四种调色板:warm-paper(默认)、deep-ink、clean-white、slate。
- 每个对象支持结构化关键事实(2–6 对)、标签(1–6 个)、摘要(2–5 句)、状态与状态颜色、活动记录(0–5 条,按最近优先)。
- 输出完全预渲染的 HTML,即使禁用 JavaScript 也完全正确。
使用方式
步骤 1:确定数据源。检查用户已提供的内容。若为 SharePoint 列表,调用 list_items 并读取所有需要的列。若为已上传文档或粘贴的表格,解析全部内容。若仅有口头描述,进入步骤 2。
步骤 2:访谈用户。若数据或意图不完全清晰,在单条消息中一次性提出所有问题,而非逐条提问。问题包括:对象类型(竞争对手、客户/潜客、候选人、SharePoint 站点、董事会成员、演讲者、合作伙伴、供应商等)、对象数量(决定渲染模式)、目的与受众(决定细节层级和关键事实)、关键事实(每个对象最重要的 3–6 个结构化事实)、叙述重点(产品/能力、财务、关系、风险等)、调色板(warm paper、deep ink、clean white、slate,默认 warm paper)、模式覆盖(仅在数量为 1 或用户似乎需要细节时询问)。在构建 JSON 前确认理解。
步骤 3:选择渲染模式。自动检测规则:2–8 个对象 → 网格模式;1 个对象 → 一页纸模式;用户明确说 "one-pager" 或 "full briefing" → 一页纸模式(无论数量);用户明确说 "grid" 或 "landscape" → 网格模式。除非数量恰好为 1 且用户未表明偏好,否则不要询问模式。
步骤 4:决定内容放置。关键事实保存结构化、可快速浏览、低字数数据,规则:3–6 对,无句子,值短于 6 个词。标签是最快信号,2–5 个短标签。摘要为 2–5 句散文,第三人称,以最重要事实开头,无项目符号。活动保存 2–5 条最近、最相关的动态,按最近优先,每条有短日期前缀和一句话描述。
步骤 5:构建并校验 JSON 文档。顶层结构包含 report 对象(title 必需、subtitle 可选、palette 必需、mode 可选、footer 可选)和 subjects 数组(1–8 个对象)。每个对象包含 id(必需、唯一)、name(必需)、type(必需)、status(可选)、status_color(可选:green、amber、red、gray、blue)、key_facts(必需、2–6 项)、tags(必需、1–6 项)、summary(必需、2–5 句)、activity(可选、0–5 项、最近优先)。渲染前运行所有校验检查,任何失败必须修复。
步骤 6:渲染 HTML。读取 assets/dossier-template.html。替换 {{REPORT_TITLE}}、{{PALETTE_CLASS}}、{{PAGE_HEADER}}、{{CONTENT}}、{{FOOTER}}。交付完整文件作为响应,文件外无散文。
适用场景
- 制作竞争对手景观简报。
- 制作客户或潜客档案。
- 制作候选人资料。
- 制作 SharePoint 站点概览。
- 制作董事会成员、演讲者、合作伙伴、供应商简报。
- 需要 2–8 个对象的网格对比。
- 需要单个对象的一页纸深度简报。
限制
- 输出 HTML 中不得包含外部 URL、CDN 链接或网页字体。
- 不得包含 <script src> 标签,所有 JavaScript 必须内联。
- 所有值必须预渲染,页面在禁用 JavaScript 时也必须完全正确。
- 不得生成 Python、PowerShell 或其他脚本,输出始终是 HTML 文件。
- 在校验清单通过前不得渲染。
- 在任何附带的列表模式中不得使用 SharePoint Person 列类型,只能使用文本列。
- 对象数量限制为 1–8 个。
- 关键事实值必须是短标签,不能是句子。
- 活动项必须按最近优先排序。
- 对象数量必须匹配所选模式(网格:2–8,一页纸:1;或明确设置模式)。