事实核查

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

panting09266-ai

@panting09266-ai

Install

$ openclaw skills install @panting09266-ai/cue-fact-check

事实核查

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

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

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

依赖安装

目标格式依赖macOSUbuntu
Word (.docx)pandocbrew install pandocsudo apt install pandoc
PDF (.pdf)pandoc + LaTeXbrew install --cask basictexsudo 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 订阅(首次充值有优惠),或等次日免费额度。详见上方「自救指引 → 积分不足专项提示」。

参考

Top skills in this category