news-summary

根据用户指定的主题和时间范围,多源检索新闻动态,经时间核验、去重、分类后生成结构化钉钉云文档动态报告。 Use when user mentions "新闻总结", "动态报告", "行业资讯", "最新消息", or asks to "帮我整理最近的AI新闻", "总结这周的行业动态", "追踪某某领域的最新消息". Distinct from competitive-analysis (竞品横

SKILL.md

GitHub

新闻动态总结

根据用户指定的主题和时间范围,多源检索新闻动态,经时间核验、去重、分类后生成结构化钉钉云文档动态报告。

禁止事项

  • 禁止通过 curl、HTTP API 等非 dws 方式操作钉钉产品
  • 禁止凭空构造 nodeId 等标识符,所有 ID 必须从实际命令返回值中获取
  • 禁止 dws 命令不加 --format json
  • 禁止 markdown 内容以 # 一级标题开头——dws doc create --name 已设置文档标题
  • 禁止使用字面量 \n 作为换行——必须使用真实换行符
  • 禁止在写入文档的 markdown 中使用 ASCII Art 架构图——钉钉文档等宽字体不保证对齐,改用表格或列表
  • 禁止单次 dws doc update 的 --markdown 超过 1500 字符——必须分块追加
  • 禁止 dws doc search 传入整句——关键词须短小精准(2-4 字)
  • 禁止纳入无法确认发布时间的新闻——时间窗口外或时间不明的一律剔除
  • 禁止编造新闻来源、发布时间或链接——所有信息必须可溯源到实际检索结果

强制要求

  • 每条 dws 命令均须携带 --format json 参数
  • 检索前必须与用户确认:主题关键词 + 时间范围(默认过去 7 天,UTC+8)
  • 每条候选新闻必须核验发布时间,仅保留时间窗口内的条目
  • 同一事件多来源时去重:保留原始来源(官方 > 权威媒体 > 转载)
  • 报告必须包含:核心要点(3-5条)、分类新闻列表、信息来源统计
  • 每条新闻必须包含:来源、发布时间、简介、详情、原文链接
  • 遇到 403 权限错误时,告知用户并建议确认权限

能力清单

动作 安全等级 说明
参数解析 只读 从用户输入中提取主题、时间范围、关注子领域
多源检索 只读 WebSearch 多角度检索 + fetch 获取页面详情
时间核验 只读 校验每条候选新闻的发布时间是否在时间窗口内
去重分类 只读 同一事件去重,按分类框架归类
创建报告文档 写入 dws doc create 创建钉钉云文档
写入报告内容 写入 dws doc update --mode append 分块追加内容

涉及工具

工具 用途 关键参数 参考文件
dws doc create 创建动态报告文档 --name [必填], --folder doc.md
dws doc update 分块追加报告内容 --node [必填], --markdown [必填], --mode append ↑
dws doc search 检查是否已有同主题报告(可选) --keyword ↑
WebSearch 多角度检索新闻动态 query(主题词+角度词+时间限定) —
fetch 获取重要页面全文,核验发布时间 url —

总体工作流

用户请求 → A 参数解析 → B 多源检索+时间核验 → C 去重分类+文档生成 → 返回链接

Module A — 参数解析

目标: 从用户输入中提取完整的检索参数

  1. A1 提取参数: 识别主题关键词(必选)、时间范围(默认过去 7 天)、关注子领域(可选)、关注公司/机构(可选)
  2. A2 时间转换: 将用户时间表述转换为精确时间窗口(UTC+8)——"这周"→本周一 00:00 至今、"最近3天"→3天前至今、"2026年3月"→3月1日~3月31日
  3. A3 确认参数: 如有歧义向用户确认;无歧义则直接进入 Module B

Module B — 多源检索与时间核验

目标: 多角度检索候选新闻,严格核验发布时间,达到收敛标准后停止

  1. B1 构建查询矩阵: 针对主题构造 3-5 个不同角度的 WebSearch 查询,每条查询由"主题词 + 角度词 + 时间限定"三部分拼成,示例格式见 source-strategy.md。关键原则——第一轮用英文查官方/权威源,第二轮换角度词(product/research/funding),第三轮补充中文检索
  2. B2 逐轮检索与收敛判断: 每完成一轮 WebSearch 后统计"已核验候选数",满足以下任一条件即可停止:(a) 已核验候选 ≥15 条;(b) 累计检索 ≥5 轮;(c) 连续两轮无新增有效候选。未达标则继续下一轮,每轮需更换角度词或信息源
  3. B3 页面采集: 对标题/摘要高价值但缺少发布时间的候选,用 fetch 获取全文。提取发布时间的操作步骤:先搜索页面中 <time datetime="..."> 标签,再查找 "Published"/"发布于" 附近的日期文本,再检查 URL 路径中的日期段(如 /2026/03/25/),最后查看 <meta property="article:published_time">。任一步骤命中即可
  4. B4 时间核验与过滤: 对每条候选逐一判定——时间窗口内→保留并标注时间来源;窗口外→剔除;无法确认→剔除并计入"时间不明"。若页面时间与 URL 时间矛盾,以页面时间为准
  5. B5 输出统计: 记录检索总数 / 核验通过数 / 剔除数(分"窗口外"和"时间不明"),传递给 Module C

📖 各主题类型的信息源策略、查询模板、收敛判断流程详见 references/source-strategy.md

Module C — 去重分类与文档生成

目标: 对通过核验的新闻去重、分类,生成钉钉云文档报告

  1. C1 去重(三步判定): 第一步按事件核心聚类——描述同一事件的不同报道归为一组;第二步选源——每组保留优先级最高的来源(官方 > 权威媒体 > 行业媒体 > 社区 > 转载),被淘汰来源在详情中补充提及;第三步判边界——同一公司不同产品线的新闻、同一领域不同公司的类似动作,均视为不同条目
  2. C2 分类: 按分类框架归类(官方发布、产品技术、研究论文、开源工具、行业市场、观点分析),无条目的分类在报告中省略
  3. C3 创建文档: dws doc create --name "{主题} 动态报告 · {时间范围}" --format json → 提取 nodeId 和 docUrl
  4. C4 分块写入: 按 核心要点 → 各分类新闻 → 重点关注 → 来源统计 的顺序,每块 ≤1500 字符,dws doc update --node <nodeId> --markdown "<内容>" --mode append --format json
  5. C5 返回链接: 将 docUrl 以可点击链接输出给用户,附概要:"共收录 X 条,覆盖 Y 个分类"

📖 分类框架、文档结构模板和写入 few-shot 见 references/doc-template.md

关键陷阱: markdown 禁止以 # 开头;换行必须用真实换行符;每次 update 用 --mode append

上下文传递表

阶段 从返回中提取 用于
A: 参数解析 主题关键词、时间窗口、关注领域 B1 构建查询矩阵
B2: WebSearch 候选新闻标题、摘要、URL B3 fetch 获取全文
B3: fetch 发布时间、核心内容、关键数据 B4 时间核验、C2 分类
B4: 时间核验 通过核验的新闻列表 + 统计数据 C1 去重、C4 来源统计
C3: dws doc create nodeId / docUrl C4 dws doc update --node

意图映射

用户说 线索 映射功能
"帮我整理最近的AI新闻" 主题 + 新闻/动态 A→B→C 完整流程
"总结这周区块链行业的动态" 主题 + 时间范围 + 动态 A→B→C 完整流程
"追踪一下OpenAI最近有什么新消息" 公司/机构 + 最新消息 A→B→C,B 聚焦特定机构
"最近游戏行业有什么大事" 行业 + 大事 A→B→C 完整流程
"帮我看看3月份金融科技领域的资讯" 主题 + 月份范围 A→B→C,A 解析月度范围
"有什么值得关注的科技新闻" 科技 + 新闻(无时间) A→B→C,A 默认过去 7 天

易混淆场景

用户说 线索 应路由到
"帮我做竞品分析" / "对比XX和YY" 多公司横向对比,非新闻汇总 competitive-analysis
"帮我调研一下XX公司的背景" 单一公司深度调研 company-research
"帮我精读这篇论文" 学术精读,非新闻动态 paper-deepresearch
"帮我做行业分析报告" 行业宏观分析含市场规模/趋势预测 industry-research
"帮我写个BP里的市场分析" BP 子章节,非独立新闻报告 business-plan
"帮我追踪XX公司的投资动向" 投资组合跟踪,非行业新闻 company-research(聚焦投融资)
"帮我监控竞品最新动态" 竞品维度持续对比而非行业新闻汇总 competitive-analysis
"这个领域最近有什么值得投的" 投资决策需求,超出新闻摘要范畴 建议线下评估,可先用本技能提供资讯背景

使用示例

示例 1: 标准主题追踪(含关键中间步骤)

用户说: "帮我整理这周AI领域的重要新闻" Module A: 主题=AI,时间=本周一至今(2026-03-23 ~ 2026-03-26),子领域=未指定 Module B:

  • 第 1 轮 WebSearch("AI official announcement March 2026") → 12 条候选
  • 第 2 轮 WebSearch("artificial intelligence product launch this week") → 8 条候选
  • 第 3 轮 WebSearch("AI研究突破 最新 2026年3月") → 6 条候选
  • 收敛判定:fetch 核验后已核验候选 = 18 条(≥15),停止
  • 剔除:4 条时间窗口外,2 条时间不明 Module C:
  • 去重:发现 3 组重复报道(如 GPT-5 发布被 5 家媒体报道 → 保留 OpenAI 官方博客),去重后 15 条
  • 分类:官方发布 4 条、产品技术 3 条、研究论文 3 条、开源工具 2 条、行业市场 2 条、观点分析 1 条
  • dws doc create --name "AI 动态报告 · 2026年3月第4周" --format json
  • 分 6 块 append 写入 期望输出: "已生成报告:AI 动态报告 · 2026年3月第4周,共收录 15 条新闻,覆盖 6 个分类。"

示例 2: 最简触发

用户说: "最近有什么科技新闻" 执行: A 解析主题=科技,时间=默认过去 7 天 → 确认后执行 B→C

错误处理

错误 原因 AI 应该怎么做
WebSearch 结果稀少 主题过窄或关键词不当 扩大关键词范围,换角度词重试;仍不足则如实告知并建议放宽主题
大量候选时间核验失败 时间范围过短或来源缺时间标记 告知用户通过核验的条目数,建议放宽时间范围
fetch 页面无法访问 需登录或地域限制 跳过该来源,用 WebSearch 摘要作为替代信息
doc create 返回 403 无文档创建权限 告知用户确认文档空间权限
报告内容过长 新闻条目多 增加分块次数,每块 ≤1500 字符;或建议用户缩窄主题
去重后条目过少(<3条) 时间窗口内动态少 如实告知,建议放宽时间范围或扩大主题范围
连续两轮无新增候选 主题已饱和 停止检索,用已有候选继续 C 流程,告知用户数据量

详细参考(按需读取)

  • references/doc-template.md — 报告文档结构模板 + 分类框架 + 写入 few-shot 示例(Module C 执行前必须读取)
  • references/source-strategy.md — 信息源策略 + 查询模板 + 收敛判断 + 时间核验操作指引 + 去重实操示例(Module B 执行前必须读取)