news-summary
根据用户指定的主题和时间范围,多源检索新闻动态,经时间核验、去重、分类后生成结构化钉钉云文档动态报告。 Use when user mentions "新闻总结", "动态报告", "行业资讯", "最新消息", or asks to "帮我整理最近的AI新闻", "总结这周的行业动态", "追踪某某领域的最新消息". Distinct from competitive-analysis (竞品横
Files3
View on GitHubSKILL.mdqwenwork/skills/news-summary/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 — 参数解析
目标: 从用户输入中提取完整的检索参数
- A1 提取参数: 识别主题关键词(必选)、时间范围(默认过去 7 天)、关注子领域(可选)、关注公司/机构(可选)
- A2 时间转换: 将用户时间表述转换为精确时间窗口(UTC+8)——"这周"→本周一 00:00 至今、"最近3天"→3天前至今、"2026年3月"→3月1日~3月31日
- A3 确认参数: 如有歧义向用户确认;无歧义则直接进入 Module B
Module B — 多源检索与时间核验
目标: 多角度检索候选新闻,严格核验发布时间,达到收敛标准后停止
- B1 构建查询矩阵: 针对主题构造 3-5 个不同角度的
WebSearch查询,每条查询由"主题词 + 角度词 + 时间限定"三部分拼成,示例格式见 source-strategy.md。关键原则——第一轮用英文查官方/权威源,第二轮换角度词(product/research/funding),第三轮补充中文检索 - B2 逐轮检索与收敛判断: 每完成一轮
WebSearch后统计"已核验候选数",满足以下任一条件即可停止:(a) 已核验候选 ≥15 条;(b) 累计检索 ≥5 轮;(c) 连续两轮无新增有效候选。未达标则继续下一轮,每轮需更换角度词或信息源 - B3 页面采集: 对标题/摘要高价值但缺少发布时间的候选,用
fetch获取全文。提取发布时间的操作步骤:先搜索页面中<time datetime="...">标签,再查找 "Published"/"发布于" 附近的日期文本,再检查 URL 路径中的日期段(如/2026/03/25/),最后查看<meta property="article:published_time">。任一步骤命中即可 - B4 时间核验与过滤: 对每条候选逐一判定——时间窗口内→保留并标注时间来源;窗口外→剔除;无法确认→剔除并计入"时间不明"。若页面时间与 URL 时间矛盾,以页面时间为准
- B5 输出统计: 记录检索总数 / 核验通过数 / 剔除数(分"窗口外"和"时间不明"),传递给 Module C
📖 各主题类型的信息源策略、查询模板、收敛判断流程详见 references/source-strategy.md
Module C — 去重分类与文档生成
目标: 对通过核验的新闻去重、分类,生成钉钉云文档报告
- C1 去重(三步判定): 第一步按事件核心聚类——描述同一事件的不同报道归为一组;第二步选源——每组保留优先级最高的来源(官方 > 权威媒体 > 行业媒体 > 社区 > 转载),被淘汰来源在详情中补充提及;第三步判边界——同一公司不同产品线的新闻、同一领域不同公司的类似动作,均视为不同条目
- C2 分类: 按分类框架归类(官方发布、产品技术、研究论文、开源工具、行业市场、观点分析),无条目的分类在报告中省略
- C3 创建文档:
dws doc create --name "{主题} 动态报告 · {时间范围}" --format json→ 提取 nodeId 和 docUrl - C4 分块写入: 按 核心要点 → 各分类新闻 → 重点关注 → 来源统计 的顺序,每块 ≤1500 字符,
dws doc update --node <nodeId> --markdown "<内容>" --mode append --format json - 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 执行前必须读取)