Skill: tino-chen/debunk (version 1.4.0)

--- name: debunk description: 事实核查与辟谣工具。当用户提供链接/图片/视频/文字要求事实核查时触发。覆盖两类场景：自查信息真伪，或核查别人分享的内容并生成回复。 repository: https://github.com/tino-chen/openclaw-skills/tree/main/debunk clawhub: https://clawhub.com/skills/debunk guide: https://tino-chen.github.io/notes/workflows/debunk.html --- # 事实核查 对用户提供的内容进行事实核查，输出结构化的分析报告和回复话术。 ## 触发场景判断 根据用户输入判断属于哪类场景： ### 场景 A：自查型 特征：用户提供链接/图片/视频/文字，要求核查，**没有提及他人分享** - 例："事实核查一下"、"这个是真的吗"、"帮我查一下这条消息" - 目标：纯粹查证信息真伪，不需要生成回复话术 ### 场景 B：社交回复型 特征：用户提供链接/图片/视频/文字，**附带社交语境** - 例："xxx说xxx，事实核查一下"、"朋友转发的，帮我查查"、"群里有人发了这个" - 目标：查证信息真伪 + 生成可直接发送的回复话术 ## 执行步骤 ### 步骤 1：获取内容 根据用户提供的信息类型： - **公众号/视频号 URL**（`mp.weixin.qq.com`）：优先用 Playwright 脚本，公众号有反爬机制 ```bash node ~/.openclaw/skills/debunk/scripts/fetch-url.js "<url>" --max-chars 15000 ``` 若脚本失败则回退到提示用户复制粘贴。 - **其他 URL**：用 `web_fetch` 抓取页面正文。若失败（反爬），回退到 Playwright 脚本： ```bash node ~/.openclaw/skills/debunk/scripts/fetch-url.js "<url>" --max-chars 15000 ``` 最后提示用户复制粘贴文字内容 - **截图**：用 [REDACTED_SECRET]（智谱 MCP）提取文字内容；若未配置该 MCP，依赖模型原生视觉能力 - **文字**：直接使用 - **视频**：用 `zai-mcp-server__analyze_video`（智谱 MCP）提取关键帧和内容；若未配置该 MCP，提示用户手动描述 ### 步骤 2：提取核心论点 从内容中识别所有**可验证的事实性声明**，逐一列出： - 具体的健康/科学/技术声明 - 引用的数据、数字、百分比 - 引用的"专家""研究""机构"名称 忽略：主观感受、情感描述、营销话术本身 ### 步骤 3：逐一查证 对每个核心论点，通过 `web_search` + `web_fetch` 搜索并阅读权威来源进行验证： - **权威来源优先级**：官方博客/公告、国际权威媒体（Reuters、AP、Ars Technica、The Guardian、The Verge、TechCrunch）、国内权威媒体（新华社、人民日报、央视）、官方机构（WHO、国家卫健委、FDA）、权威医学平台（丁香医生） - **关键词策略**：论点关键词 + "辟谣"/"假的"/"真相"/"官方回应"/"专家解读" - 每个论点至少搜索 2 轮，交叉验证 - **必须用 `web_fetch` 阅读权威来源原文**，不能仅凭搜索摘要判断 对每个论点按以下**固定格式**记录查证结果（严格遵循，不可省略）： ``` 论点：[待验证的声明] 结论：✅属实 / ⚠️部分属实 / ❌虚假 / ❓无法确认 查证： · [媒体/机构名称]（链接）：[一句话概括该来源说了什么] · [另一来源]（链接）：[交叉验证] 真相：[基于权威来源的实际情况] ``` **格式铁律**： - 每条论点**必须**有至少一个权威来源链接，不可空着 - 查证过程必须说明**谁说的、说了什么、怎么推导出结论**，不能只甩链接 - 链接来源必须是可识别的权威媒体或官方渠道 - 搜索不到任何权威来源时标注 ❓，并说明已搜索的关键词 - 不允许出现无来源的结论、模糊的"据了解"、无链接的"有报道称" ### 步骤 4：生成输出 根据场景生成不同结构的输出。 --- ## 输出结构 ### 场景 A（自查型） ## 📋 分析报告 ### 可信度评级 客观评级（☆☆☆☆☆ ~ ⭐⭐⭐⭐⭐，必须显示满 5 个符号）+ 一句话定性，不带个人态度。 评级参考： - ☆☆☆☆☆：完全捏造，毫无事实依据 - ⭐☆☆☆☆：几乎全假，仅有少量无关事实碰巧正确 - ⭐⭐☆☆☆：大部分不实，少量事实被严重扭曲 - ⭐⭐⭐☆☆：有事实基础但被显著夸大 - ⭐⭐⭐⭐☆：大部分属实，个别措辞有营销成分 - ⭐⭐⭐⭐⭐：完全属实 ### 核查清单 每条论点使用以下**固定格式**（编号 + 论点 + 结论 + 来源，缺一不可）： ``` **N. "原文引用的论点"** ✅/⚠️/❌/❓ 一句话结论。关键数据对比和实际情况说明。 🔍 来源名称：一句话概括该来源说了什么（[原文](链接)） ``` 格式要求： - 编号从 1 开始，论点用加粗 + 中文引号包裹 - 结论紧跟其后，用 emoji 标记开头，一句话概括真相 - 🔍 开头列出来源，包含来源名称、概括和可点击链接 - 每条之间空一行 - 多个来源可以多行 🔍 ### 锐评总结 主观评论，可以毒舌、调侃、嘲讽，展现态度和观点。 **禁止**重复核查清单里的具体数据和结论——锐评是"读后感"，不是"摘要"。 --- ### 场景 B（社交回复型） ## 📋 分析报告 （同场景 A：可信度评级 → 核查清单 → 锐评总结） --- ## 💬 回复话术 ### 意图推测 推测分享者分享此内容的**背后动机和想法**（不是判断对方是否需要核查，而是分析"他为什么发这个"）。 - 列出所有合理的可能意图，用编号清单 - 按可能性从高到低排列 - 每条意图用一句话概括，附带简短分析 - 如果某条意图可能性远高于其他，可以标注"最可能" ### 推荐回复：🤝 高级情商版 默认展示此版本。**纯文本**，方便直接复制粘贴。 **结构铁律（必须同时包含两个环节，缺一不可）**： **环节一：肯定（50%篇幅）** - 肯定内容中确实正确的部分 - 肯定对方分享的善意或关注点 - 语气自然，不像在敷衍 **环节二：不留痕迹引导（50%篇幅）** ← **核心难点，不可省略** 以下引导技法至少使用一种： | 技法 | 原理 | 示例 | |------|------|------| | 疑问引导 | 用疑问句让对方自己发现矛盾 | "不过这个数字我看着有点奇怪，80分说的是哪个版本来着？" | | 补充信息 | 用"顺便分享"的方式递出真实信息 | "对了之前看到另一个测试里 Claude 还是领先两分左右" | | 邀请验证 | 把"打脸"包装成"一起看看" | "这个数据是官方的还是媒体自己算的？回头可以找原报告看看" | | 延伸阅读 | 推荐更权威的来源 | "IT之家那篇报道写得比较克制，细节更多，可以对比着看" | | 转移焦点 | 从虚假的论点自然跳到真实但反直觉的事实 | "不过有意思的是，虽然标题说直逼，其实在终端测试上它确实超过 Claude 了" | **关键原则**： - ❌ 绝对不允许只有肯定没有引导——只有肯定 = 阿谀奉承版 - ❌ 不允许用"但是""不过"这种明显转折词——太刻意 - ✅ 用"对了""顺便""说到这个"等连接词自然过渡 - ✅ 引导内容要具体，不能泛泛而谈 - ✅ 让对方觉得你是在"聊天中分享信息"，不是在"纠正错误" ### 备选回复 ``` 需要其他风格的回复吗？ A. 🔪 直言不讳版：直接犀利、实事求是，完全不考虑对方感受 B. 🤝 高级情商版（当前）✅ C. 🍬 阿谀奉承版：不提虚假的地方，结合真实内容和对方意图迎合讨好 D. 💤 敷衍了事版：一条通用的短回复，快速结束对话 ``` --- ## 回复风格指南 ### A. 🔪 直言不讳版 - 直接说"这是假的""数据不对""来源不可靠" - 引用权威数据正面打脸 - 不照顾任何情绪，纯理性输出 - 适合：对关系一般的人、需要明确立场时 ### B. 🤝 高级情商版（默认） - 参考 SKILL.md 中的「回复风格指南」和「引导技法表」 - **结构**：肯定（~50%）+ 引导（~50%），两者缺一不可 - **肯定**：先承认内容中真实的部分和对方分享的善意 - **引导**：用上表中的技法，把事实"递"过去，让对方自己意识到 - **语气**：像朋友聊天中顺便提到一件事，不像在"辟谣" - **禁止**：只有肯定没有引导 - 适合：长辈、关系好的朋友、不想伤和气的场合 ### C. 🍬 阿谀奉承版 - 只提内容中真实/合理的部分 - 结合分享者的意图进行赞美 - 把虚假的部分模糊处理或巧妙跳过 - 语气热情、赞同、感激 - 适合：需要维系关系的场合（慎用） ### D. 💤 敷衍了事版 - 一句话通用回复 - 不包含任何事实核查结果 - 礼貌但无信息量 - 例："收到，我看看""这个有意思""了解了谢谢分享" - 适合：不值得花时间的消息 --- ## 格式要求 - 分析报告：可用 Markdown，结构清晰 - 核查清单：固定格式（编号 + 加粗论点 + emoji结论 + 🔍来源） - 回复话术：**纯文本**，方便复制粘贴到微信/飞书 - 回复话术长度：200-400 字为宜（群聊场景） - 每条核查引用必须包含**来源名称 + 一句话概括 + 链接** --- ## 安装与依赖 ### Playwright 浏览器 反爬抓取脚本依赖 Playwright + Chromium。安装技能后需执行： ```bash npx playwright install chromium ``` ### 外部工具 本技能在执行过程中可能调用以下 OpenClaw 内置工具，无需额外安装： | 工具 | 用途 | 来源 | |------|------|------| | `web_search` | 搜索权威来源 | OpenClaw 内置 | | `web_fetch` | 抓取网页正文 | OpenClaw 内置 | | `zai-mcp-server__extract_text_from_screenshot` | 截图 OCR 文字提取 | 智谱 MCP（需配置） | | `zai-mcp-server__analyze_video` | 视频内容分析 | 智谱 MCP（需配置） | `web_search` 和 `web_fetch` 为 OpenClaw 内置工具，开箱即用。`zai-mcp-server__*` 系列工具由智谱提供，需在 OpenClaw MCP 配置中添加智谱服务后才能使用；若未配置，截图场景将依赖模型原生视觉能力，视频场景将提示用户手动描述内容。

path: package.json
content: {
  "devDependencies": {
    "playwright": "^1.59.1"
  }
}


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)