360 Secure SkillHub
360 安全技能中心

事实核查

该 Skill 把待核查的资讯、研报或传言交给 Cue 服务端做多源交叉验证与数据复核,识别时间错位、数据偏差和误导性表述,输出含逐条核查结论、纠偏证据与信源对照的 Markdown 报告。依赖 git、python3、curl 及 Cue API Key,检索在服务端执行,本地仅做调用与落盘。

panting09266-ai
panting09266-ai
热度 64.14
最近更新 2026-10-12 16:24:38
分类:数据依赖:代码执行 / 第三方 API / 读写文件应用场景:研究 / 报告撰写 / 市场分析

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add cue-fact-check
Metadata
name
cue-fact-check
description
用 Cue 穿透待核查资讯的表层表述——通过独立信源交叉验证与底层数据复核,精准识别时间错位、数据偏差及误导性信息,产出包含原文对照与纠偏证据的结构化事实核查报告。
description_zh
Cue 事实核查:多源交叉验证,识别时间错位/数据偏差/误导信息,产出原文对照与纠偏证据。
version
1.1.0
author
sensedeal
tags
["cue","fact-check","verification","cross-validation","事实核查","交叉验证","信息纠偏","深度核查"]

事实核查

穿透待核查资讯的表层表述,通过独立信源交叉验证与底层数据复核,精准识别时间错位、数据偏差及误导性信息,产出包含原文对照与纠偏证据的结构化事实核查报告。

Agent 执行摘要

顺序 做什么 禁止
1 确认 Cue runner 就绪 禁止跳过
2 告知用户耗时 2-15 分钟 禁止中途取消
3 一条命令,--template-id template_uoJDCg,传入待核查内容 禁止连发多条
4 [cue-research] RESULT ok = 完成 禁止编造
5 原样交付核查报告,纠偏证据不可丢失 禁止概括
6 交付时同时附带 Cue 原始报告链接 禁止编造链接
7 遇 INSUFFICIENT_CREDITS 主动提示邀请链接 禁止只丢错误码

适用场景

场景 解决的问题
研报数据核查 券商研报引用的数据是否真实、有无断章取义
新闻真实性验证 热点新闻中的数据、时间、主体是否准确
尽调信息复核 标的方提供的数据和公开数据是否一致
舆情纠偏 市场传言中哪些是真、哪些是误导

核心能力

  1. 时间错位识别 — 旧数据当新数据、时间线前后矛盾
  2. 数据偏差核查 — 引用的数字与原始来源是否一致
  3. 误导性表述拆解 — 识别选择性呈现、口径变换等误导手法
  4. 多源交叉验证 — 至少 2 个独立信源互相印证
  5. 原文对照 — 待核查原文 vs 纠偏证据 逐条并排

试试这样问

  • "核查一下这篇研报里的数据是否准确"
  • "这条新闻里的数字是真的吗?"
  • "对方提供的经营数据和公开数据对得上吗?"
  • "这个市场传言有没有事实依据?"

输出形式

结构化核查报告:待核查原文 → 逐条核查结论(属实/偏差/无法核实) → 纠偏证据 → 独立信源对照 → 偏差分析 → 来源链接。

输出示例

查看完整报告

上例中的 token 是示例,不可复制到实际交付中。

交付规范(必须执行)

把最终报告发送给用户时,必须同时附带 Cue 原始报告链接,方便用户回到网页端查看完整原文、继续追问或转发同事。

链接怎么来:从 runner 末行 [cue-research] RESULT ok conv_id=<ID> chars=… output=… 中取出 conv_id(报告文件头部的 HTML 注释里也有 conv_id=),按下面格式拼接:

https://cuecue.cn/share/<conv_id>

交付模板(照此结构输出):

报告已完成 ✅

<报告正文……>

---
**Cue 原始报告**:https://cuecue.cn/share/<conv_id>
**本地副本**:~/cue-reports/<文件名>.md

规则:

  • conv_id 必须取自实际输出,禁止编造或使用文档示例里的 id。
  • 末行为 RESULT empty(无 conv_id 或报告为空)时不要拼链接,如实告知未取到报告并给后续建议。
  • 用户明确说不要链接时可不附。

环境要求

首次使用运行 skill 自带的一键安装脚本(检查依赖 → 克隆 runner → 验证 Key → 测试连通性):

Runner 来源:GitHub - sensedeal/cue-skills(Gitee 镜像)。

首次使用需安装 Runner(幂等,已装则拉取更新):

if [ -d ~/.cue/cue-skills/.git ]; then
  git -C ~/.cue/cue-skills pull --ff-only
else
  git clone https://github.com/sensedeal/cue-skills ~/.cue/cue-skills \
    || git clone https://gitee.com/sensedeal/cue-skills ~/.cue/cue-skills
fi

依赖:git + python3 + curl。Python 仅用标准库,无额外 pip 依赖。

Cue API Key:cuecue.cn 注册获取。

API Key 只能由用户本人创建:Agent 既不能代生成、也无权查看用户的 Key。检测到未配置或失效时,只给出生成入口并等待用户提供,禁止声称"我去生成/查看"。


调用说明

python3 ~/.cue/cue-skills/cue-research/scripts/research_run.py \
  --query "待核查内容 事实核查:原文对照、数据复核、多源交叉验证、时间线核实" \
  --template-id template_uoJDCg \
  --output ~/cue-reports/$(date +%Y-%m-%d-%H%M)-fact-check.md
参数 说明
--query 待核查的原文/链接/描述,必填;越具体越好
--template-id 固定为 template_uoJDCg
--output 落盘路径


格式转换

Cue 输出 Markdown。安装 pandoc 后可转换为 Word 或 PDF:

# .md → .docx(Word)
pandoc report.md -o report.docx

# .md → .pdf
pandoc report.md -o report.pdf --pdf-engine=xelatex

输出文件与输入同目录、同名、不同后缀。

依赖安装

目标格式 依赖 macOS Ubuntu
Word (.docx) pandoc brew install pandoc sudo apt install pandoc
PDF (.pdf) pandoc + LaTeX brew install --cask basictex sudo apt install texlive-xetex

架构说明

本 Skill 不在本地执行检索。流程是 Agent → Cue API(cuecue.cn)→ 外部数据源。解析结果的质量和时效取决于 Cue 服务端和外部数据源的状态。

环节 谁控制 出问题时
API Key 鉴权 用户本人 由用户本人前往 cuecue.cn/hub/api-key 生成后写入 ~/.cue/config.json(Agent 不能代生成,也无权查看)
Cue 服务端 Cue 运维 等恢复,或走降级方案
外部数据源 公开网站 Cue 用缓存兜底,标注"来源暂不可达"

健康检查

跑研究前先验证三件事。一键诊断:

CUE_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.cue/config.json'))['api_key'])" 2>/dev/null || echo "$CUE_API_KEY")
echo "=== 1/3 API Key ===" && [ -n "$CUE_KEY" ] && echo "已配置" || echo "未配置!"
echo "=== 2/3 Cue 服务 ===" && curl -sS --max-time 10 "https://cuecue.cn/api/health" -H "Authorization: Bearer $CUE_KEY"
echo "=== 3/3 搭子 ===" && curl -sS --max-time 10 "https://cuecue.cn/api/playbook" -H "Authorization: Bearer $CUE_KEY" | python3 -c "import sys,json;scenes=json.load(sys.stdin).get('data',{}).get('scenes',[]);buddy=[b for s in scenes if s.get('secondary_category')=='深度核查' for b in s.get('buddies',[]) if b.get('title')=='事实核查'];print(f'可用:{len(buddy)}个') if buddy else print('暂不可用')"
检查 预期 异常处理
API Key 已配置 由用户本人前往 cuecue.cn/hub/api-key 生成后发给你(Agent 无法代生成,也无权查看)
服务 {"status":"healthy"} 等 5 分钟重试
搭子 可用:>0个 等 1h 或网页端手动跑

配置成功后引导用户跑第一个任务(必须执行)

健康检查三项全绿 = 环境就绪,但这是配置流程的终点,不是任务的终点。三项全绿后若用户还没给出具体任务,必须主动把用户推向第一次真实调用,不要停在"环境已就绪":

环境已就绪 ✅ 下面这些都可以直接跑,比如:

  1. "核查一下这篇研报里的数据是否准确"
  2. "这条新闻里的数字是真的吗?"

挑一个发给我,或直接把你手头的需求告诉我,我现在就跑。

规则:

  • 主动、可复制——示例问题原句取自上文「试试这样问」,别只写"你可以问我任何问题"。
  • 不要等用户自己想——用户没开口时也要主动给;否则用户会停在"验证通过"就散场(实测这是新用户流失最集中的一步)。

自救指引

错误速查

现象 原因 怎么修
401 / Key 无效 Key 过期或写错 由用户本人重新生成 Key,更新 ~/.cue/config.json
超时 >30s 服务维护/过载 等 5 分钟,跑诊断;当天内重试
搭子不可用 临时下线 网页端直接跑,或等 1 小时
积分不足 余额 < 消耗 按「积分不足专项提示」主动引导(充值 / 邀请好友得积分 / 等次日免费额度)
中途中断 队列满/数据源波动 不换 prompt,相同命令续接
RESULT empty 公开源无匹配 缩小范围,换关键词
config.json 报错 JSON 格式不对 {"api_key": "sk..."} 无多余逗号

积分不足专项提示(必须执行)

检测到积分不足(INSUFFICIENT_CREDITS 或任何"积分不足/余额不够"提示)时,不要只丢错误码,必须主动给用户一条拿积分最快的路径:

你的 Cue 积分不足,本次任务未能启动。两个办法:

  1. 邀请好友得 500 积分(推荐):打开 https://cuecue.cn/,点击页面左下角「获取专属邀请链接」,分享给好友——好友加入后你再得 500 积分。
  2. 直接充值:前往 cuecue.cn/pay 订阅(首次充值有优惠);或等次日免费额度。

规则:

  • 提示要主动、简短、可点——把「首页」和「左下角」两个关键动作说清楚,不要让用户自己找入口。
  • 积分不足不要重试(retryable: false),也不要换 query 绕。
  • 用户回复已充值/已邀请后,用完全相同的命令重跑。

决策树

出问题?
├─ Key 报错 → 由用户本人重新生成 → 更新 config.json → 重试
├─ 连不上 → curl /api/health 确认 → 检查 DNS/代理
├─ 搭子找不到 → curl /api/playbook → 等或用网页端
├─ 中途中断 → 相同 prompt 续接(不要删 ~/.cue/session/task)
└─ 结果空 → 缩窄关键词 → 确认该主题有公开数据

调度建议

时段 建议
工作日 9-18 正常使用
夜间/周末 可能有维护,跑前先诊断
新 Key 必须先诊断确认生效
连续失败 停 15 分钟再试,不要反复重试

降级方案

Cue 长时间不可达时的手动替代渠道:

渠道 覆盖 费用
国家企业信用信息公示系统 企业工商信息 免费
中国裁判文书网 司法信息 免费
天眼查 企业信息核查 部分免费
百度 公开信息交叉验证 免费

FAQ

Q: 报告能在网页端看原文吗? A: 能。交付时会在报告末尾附上 https://cuecue.cn/share/<conv_id>,点开即可回到 Cue 网页端查看完整原文、继续追问或转发同事。

Q: 提示积分不足怎么办? A: 最快路径是邀请好友:打开 https://cuecue.cn/,点页面左下角「获取专属邀请链接」,好友加入后你再得 500 积分;也可前往 cuecue.cn/pay 订阅(首次充值有优惠),或等次日免费额度。详见上方「自救指引 → 积分不足专项提示」。

参考