Agent Skills: 全知晓(Fact-Check-X)

面向真实业务决策的多平台事实核验 Skill。正式支持深知晓、深知晓(深度研究)、豆包、腾讯元宝、DeepSeek 和通义千问,按用户输入动态选择 N≥1 个平台。完整采集原回答、引用、截图与页面存证,拆解并对比关键事实,再按需使用可信搜索取得权威证据,交付四份独立报告和可追溯结论。基础采集与对比无需 API Key;可信搜索是权威核验阶段的可选增强。语义工作由 Codex、Claude Code、WorkBuddy 等当前运行载体完成,不调用外部大模型 API。

UncategorizedID: ASI2030/Fact-Check-X/fact-check-x-complete

Install this agent skill to your local

pnpm dlx add-skill https://github.com/ASI2030/Fact-Check-X/tree/HEAD/skills/fact-check-x-complete

Skill Files

Browse the full folder contents for fact-check-x-complete.

Download Skill

Loading file tree…

skills/fact-check-x-complete/SKILL.md

Skill Metadata

Name
fact-check-x-complete
Description
面向真实业务决策的多平台事实核验 Skill。正式支持深知晓、深知晓(深度溯源)、豆包、腾讯元宝、DeepSeek 和通义千问,按用户输入动态选择 N≥1 个平台。完整采集原回答、引用、截图与页面存证,结构化比较关键事实,按需使用可信搜索逐点核验权威证据,并评估各平台表现。权威答案是核验产物之一,原始证据、冲突与证据边界全程可追溯。基础采集与对比无需 API Key;可信搜索是权威核验阶段的可选增强。语义工作由 Codex、Claude Code、WorkBuddy 等当前运行载体完成,不调用外部大模型 API。

全知晓(Fact-Check-X)

Fact-Check-X 多平台事实核验:完整采集、知识点对比、权威核验与答案生成、平台表现评估

把同一个问题交给一个或多个 AI 平台,完整保留每家的回答和引用,再把关键事实逐点对齐、核验并评估各平台表现。第三步会基于权威证据生成最终答案,但不会用“答案生成”代替完整事实核验:证据冲突会被保留,官方无法查证的内容统一标为“疑似误导”,移入补充参考风险区且不写入确定结论。用户只需说出问题和要比较的平台,不需要学习平台 ID、内部流程编号或报告术语。

支持平台

当前内置以下网页端平台,按用户本次输入动态选择任意 N≥1 个:

| 平台 | 能力 | |---|---| | 深知晓 | 标准问答、引用与官方来源采集 | | 深知晓(深度溯源) | 等待普通回答完成后在同一会话启动深度溯源,并作为独立结果采集 | | 豆包 | 回答、引用与页面存证 | | DeepSeek | 回答、引用、逐条来源正文与页面存证 | | 通义千问 | 回答、引用、逐条来源正文与页面存证 | | 腾讯元宝 | 回答、引用、逐条来源正文与页面存证 | 平台由用户选择,不存在固定“五平台模式”。N=1 可完成单平台事实核验;N≥2 会额外比较各平台的共识、冲突和来源差异。网页结构变化时,技能会明确报告失败并停在当前阶段,不会用部分结果冒充完整报告。

使用体验

  • 用户只需提供核验问题和想比较的平台;没有指定平台时,立即列出“深知晓、深知晓(深度溯源)、豆包、DeepSeek、通义千问、腾讯元宝”供用户选择,不得漏掉深度溯源,也不要求用户记平台 ID。
  • 第一次使用某个平台时打开浏览器,由用户本人完成登录或验证码;会话保存后自动复用。
  • 每一步都交付可打开的独立报告:各方答案汇总、各方答案聚合(未核验)、权威核验后的最终答案、各方答案测评报告。
  • 每份阶段报告展示后都必须等待用户明确选择继续、修正或结束;最初要求完整执行不能替代逐阶段确认。
  • 第二步在概览和逐知识点明细中分别展示直接答案与补充参考;第三步只保留权威最终答案;第四步以一个锁定明细区承接第三步结果并分区测评。
  • 第三步只展示最终答案、权威证据和证据边界;第四步只消费已锁定的第三步数据,负责平台裁决、指标与表现对比,不重算第三步。
  • 第四步覆盖率只衡量“答没答到”:答到即算覆盖,证据是否充分由证据充分率单独体现。仅当一个知识点在所有平台中都是未回答或证据不足时,才整体移出覆盖率与准确率分母。
  • “编造式幻觉”和“证据不足”只作为内部原始裁决状态保留;对用户统一显示为“疑似误导”,移入补充参考风险区并在报告上方突出。每个知识点的长依据默认收起,点击后可看完整原文。
  • 来源采集、可信搜索等技术动作失败时原则上停止;若流程仍继续,每一步报告都必须在显著位置提示技术失败及影响,相关主张继续按“疑似误导”呈现。
  • 原答案的引用存在性与来源支持性独立保留。attachedReferenceIndexes 为当前摘录观察到的引用,citedReferenceIndexes 为校验采用的证据;抓取失败或不支持不能写成“平台未附依据”。跨句、跨表格行的引用必须回到对应主张检查,不得借用邻行脚标。
  • 拆解主张时保留年度、政策项目、适用对象与条件。历史公示不能省略年度改写为现行政策;不同项目的金额不得直接当作同一事实冲突。金额必须与单位匹配,年份、备案号不能充当金额证据。
  • 多平台采集与知识点对比不需要 API Key。只有用户继续进行权威证据核验,且现有材料不足以直接裁决时,才检查可信搜索配置。
  • 可信搜索未配置时,只引导用户登录深知智能平台;技能自动获取或创建专用 Key 并安全保存在本机,不要求用户复制粘贴密钥。
  • 语义分析由 Codex、Claude Code、WorkBuddy 等当前运行载体完成,不调用外部大模型 API。

强制执行门禁(任何动作前先读)

  1. 语言硬门禁:读取本技能后的第一句话、过程更新、命令说明、阶段检查点、错误说明和最终答复全部只使用简体中文;不得输出英文句子。命令、路径、平台 ID 和数据字段名可以保留原文。第一条回复直接使用“我会核验这个问题:先采集您选择的平台原回答和引用,再比较共识与分歧;如需权威结论,最后用可信搜索逐点核验。每一步都会给您一份可打开的报告。”,不得先用英文介绍技能或内部流程编号。
  2. 执行任何命令前先检查当前会话可调用的工具。完整在线采集优先由包内 Playwright 直接启动并控制系统 Chrome、Microsoft Edge、Brave 或 Chromium;Computer Use 不是正常采集的前置条件。页面结构变化时先运行选择器恢复与验证层;当前载体自带的浏览器或 Computer Use 是首选诊断手段,agent-browser 只可作为失败后的可选诊断工具,不是依赖,也不得直接交付答案或改写适配器。只有命令工具时可以前台执行一次 login 验证可见浏览器,但没有真实成功输出前不得声称浏览器已启动。
  3. 所有流水线命令必须前台直接执行并等待真实退出状态,包括 login、run、prepare-comparison、complete-comparison、prepare-authority、search-authority、finalize-authority、reopen-authority 和 deliver。执行工具因等待用户操作而返回可轮询的运行会话 ID 时,应保留并轮询该会话;禁止使用 shell 后台任务,禁止给任何流水线命令添加 | tail、| tee、|| true 或其他会掩盖退出码的包装。
  4. login 是可见浏览器命令,必须严格按本技能给出的参数执行,不得添加 --headed 或其他未列出的参数。精确命令尚未失败时,不得先检查 CLI 帮助、源码或浏览器环境;精确命令失败后只按错误与 capture-recovery.json 恢复。
  5. 未看到 login 成功、可提问页面已建立或 results.json 全平台成功证据前,禁止告诉用户“浏览器已启动”“采集已在后台运行”或“将自动进入后续流程”。
  6. login 或 run 运行期间出现登录、短信验证码、人机验证或 CAPTCHA 时,保持命令和当前 Playwright 页面运行,立即提示用户本人处理;检测到处理完成后自动继续,不得关闭页面、重输问题或提前结束任务。
  7. login 或 run 非零退出、浏览器意外关闭、人工处理超时或采集失败时,立即读取 capture-recovery.json,主动调用宿主浏览器工具或 Computer Use 恢复。两者都不可用时才说明能力缺失并停在原始答案采集阶段。
  8. 进入恢复后,禁止改用 headless/无头浏览器、清理锁文件或修改启动参数规避接管。先读取 captureLifecycle:只要 submissionAttempted、submissionConfirmed 或 answerObserved 为真,就禁止重新填入、提交或询问同一问题,只能恢复原会话并继续等待、定位或提取现有回答。只有 resubmissionAllowed=true 时才可提交一次。选择器候选必须经过程序的唯一、可见、可编辑或非进度文本门禁;模型、Computer Use 和 agent-browser 都只能提议,不能直接采用或写回适配器。
  9. capture-gate.json 未证明所有指定平台均成功前,禁止进入知识点对比和后续流程。不得用已有材料、搜索结果、空回答或部分成功结果替代失败平台。
  10. 分阶段交付门禁:原始答案采集、知识点对比和权威证据核验各自完成后,必须先向用户发送本阶段真实可打开的独立产物,再询问用户选择“继续下一步”“修正当前结果”或“到此结束并保留产物”。程序会在 stage-checkpoints.json 记录产物摘要和一次性确认令牌;收到用户“继续下一步”后,必须用 acknowledge-stage --decision continue 提交该令牌,否则下一阶段命令会直接失败。即使用户最初要求完整连续执行,也不能跳过阶段产物展示和用户确认。内部证据不足状态属于可交付边界,面向用户统一显示为“疑似误导”,不阻断后续报告。

本技能是对外唯一入口,包内自带三个独立业务模块:

  1. llm-answer-reference-compare:多端回答、原始引用与现场存证无损采集。
  2. fact-check-x-knowledge-compare:原子知识点拆解、主张对齐、来源忠实性判断。
  3. fact-check-x-authoritative-verify:逐知识点可信搜索、证据裁决、独立权威核验报告与最终平台表现报告。

脚本只负责采集、校验、编排和渲染。知识点拆解、证据理解与裁决由当前运行载体完成,禁止调用任何外部模型 API。

所有面向用户的提示、阶段检查点、错误说明和最终答复必须使用中文。不得因为运行载体的默认语言改用英文。

首次运行

先定位包内模块并自动准备采集运行时:

python3 scripts/fact_check_x.py locate
python3 scripts/fact_check_x.py prepare-runtime

prepare-runtime 的返回里带 installedVersion,是当前实际运行的这份技能包的版本与读取路径。 载体界面显示的可能是应用市场上的可用版本而不是本机已装版本,二者不一致时以这里为准; 向用户或群里反馈问题时先报这个版本号,避免把版本没装上误判成功能缺陷。

prepare-runtime 会先自检;依赖完整时直接跳过,首次缺失时根据包内锁文件自动执行 npm ci --omit=dev,并在实际调用采集 CLI 验证通过后才返回。不得借用其他技能目录或 旧安装残留的 node_modules,也不要求用户手工进入目录安装依赖。

正常在线采集直接使用系统 Chromium 浏览器,不要求下载 Chrome for Testing。 只有无头/CI 回归确有需要时才单独安装 Playwright 测试浏览器。

macOS 可见登录与交互采集按以下顺序自动选择系统浏览器:用户通过 FACT_CHECK_X_BROWSER_EXECUTABLE 指定的 Chromium 浏览器、Google Chrome、 Microsoft Edge、Brave、Chromium。Playwright 自带的 Chrome for Testing 默认只用于无头/CI 回归。系统没有上述浏览器时,使用 Computer Use 或提示用户 安装任一受支持浏览器;不得反复启动 Chrome for Testing。

完整流程

第一步:各方答案汇总

首次采集某个平台时,必须先在对话中告诉用户“将打开浏览器,请完成登录;检测到可提问界面后自动保存会话”。不得把提示只藏在命令输出里。然后逐个平台打开可见浏览器并等待登录准备命令成功:

node modules/llm-answer-reference-compare/assets/tool/dist/cli.js login \
  --platform dknowc-chat \
  --question "<用户原始问题>" \
  --out <run目录>/capture

node modules/llm-answer-reference-compare/assets/tool/dist/cli.js login \
  --platform doubao \
  --question "<用户原始问题>" \
  --out <run目录>/capture

不得代替用户填写账号、密码、短信验证码或处理人机验证。登录会话只保存在 ~/.fact-check-x/browser-profiles,不得写入技能包、任务产物或报告。已有持久化会话可以减少用户登录操作,但不能跳过载体能力预检、前台执行和可见页面成功验证。

豆包未登录页面也可能显示输入框。不得用“找到输入框”代替登录确认:豆包右上角登录入口仍可见时,只提示并等待用户完成登录,禁止填入或提交核验问题;登录入口消失并检测到可提问界面后才开始采集。

node modules/llm-answer-reference-compare/assets/tool/dist/cli.js run \
  --question "<用户原始问题>" \
  --platform dknowc-chat \
  --platform doubao \
  --out <run目录>/capture \
  --headed \
  --interactive \
  --timeout 180000 \
  --retries 2

默认使用 2 个平台,也允许重复 --platform 选择任意 N 个平台(N≥1)。N=1 执行单平台知识点结构化与权威核验;N≥2 额外执行跨平台一致性和差异对比。 标准深知晓使用 dknowc-chat。深知晓(深度溯源)使用 dknowc-deep-research:采集器会在同一会话先等待普通回答完整生成,再点击 “深度溯源”;同页弹出结果时在当前页续采,打开同源结果页时接管新页面,等待结果 完整生成后独立保存为一个平台。两个平台同时选择时只提交一次原问题,普通答案与 深度溯源答案、引用和存证分别保存、互不覆盖;独立报告页必须同时满足流式返回已结束、步骤区已完成且报告正文已实质生成,页面壳、空报告、活动步骤或仍在运行的流均不得记为成功;按钮缺失、结果未出现或结果未完成均 按采集失败处理。平台组合完全按用户输入决定, 正式支持的内置选项包括 dknowc-chat、dknowc-deep-research、doubao、yuanbao、deepseek、 qianwen;generic 仅供开发者适配和验证新网页,不属于正式支持平台。 不存在固定“五平台模式”或固定上限。所有选定平台必须 采集成功后才允许进入知识点对比。原始答案、知识点对比、权威证据核验与平台表现报告均按本次 实际平台集合动态展示。

保留完整原答案、原始 URL、引用标记、引用正文、截图和失败状态。不得摘要、改写或用搜索结果替换原始来源。

来源标为 sourceContentScope=platform_excerpt 时,只代表平台展示的引用片段,不代表取得文件全文。预览字段的 capturedTextTruncated=true 仅表示预览被缩短,应回读原始采集正文,不得据此断言来源抓取失败。已采集的完整正文不得再次按预览长度截断。没有实质正文的外部链接应跟进目标页,失败时保留失败状态,不能把“查看全文/一键办理”当作证据。

业务验收必须逐点检查地区、适用人群、事项、有效时间、金额及条件。针对毕业生、留学回国人员等特定人群的标准,不能单独用来否定普通创业者的另一档标准;没有检索到某档金额不等于已证明该金额错误。补充参考的优势不得换算成直接答案覆盖率优势。旧报告更换采集结果后须重新建立来源绑定,禁止沿用旧引用数组下标直接重算胜负。

当深知平台所附来源只有标题或截断摘要时,采集阶段用可信搜索 return_full_content=true 补全与该标题或原始 URL 匹配的同一材料全文。深知晓与深知晓(深度溯源)的可信搜索材料统一按“官方材料”处理,返回的 源网址 仅作回溯链接,未返回时保留深知收录页且不伪造外链。DeepSeek、元宝和千问的每条外部引用必须逐条打开:成功时记录来源正文、最终落地 URL 和 sourceAcquisitionStatus=captured;可下载的 PDF/DOCX 直接提取正文,浏览器可访问但 Node 直连失败的 HTML 允许使用安全页面请求回退提取;访问受阻或提取失败时记录 blocked/failed 与具体原因。回答区上下文只保存在 answerContext,不得当作链接原文或来源忠实性证据。

采集完成硬门禁与 Computer Use 恢复

  • 回答开始后持续等待,直到内容稳定且页面不再生成;不得按固定短等待时间提前收走。
  • 完整回答中出现“登录”操作说明,或页面底部仍有地区提示,不等于回答本身是登录/地区门禁;只有短小且主体为门禁提示的内容才可判失败。
  • 单个平台失败、超时、只返回登录/地区提示或没有完整回答时,采集器只能在本次 run 和同一已提交页面内继续等待、恢复定位或提取;不得重新输入问题、重新提交或重新运行采集命令。
  • 同页恢复仍失败时,采集器会写出 capture-recovery.json 并以非零状态退出。此时必须暂停流水线。
  • Playwright 检测到登录、验证码或人机验证时,优先保持当前命令与页面运行,提示用户本人完成;完成后自动续采。
  • 登录准备命令非零退出、浏览器意外关闭或人工处理超时时,同样会写出 capture-recovery.json;这已经是 Computer Use 接管信号,不是继续诊断浏览器环境的授权。
  • capture-recovery.json 的 action 为 computer_use 时,Agent立即用宿主浏览器工具或Computer Use恢复同一平台。按提交记录决定只读续采或首次提交,不能重问已提交的问题。两者都不可用时停在原始答案采集阶段,不得直接跳到知识点对比。
  • 禁止以 headless 测试、另一套浏览器、锁文件清理、显示会话检查或启动参数调整代替恢复。
  • 接管时必须直接读取并复用 capture-recovery.json.question,不得要求用户滚动到旧会话开头寻找或复制原问题。
  • 登录、验证或人工发送需要用户参与时,保持当前 Playwright 页面和采集上下文,不得关闭页面、重复打开浏览器或机械重采。明确告诉用户直接在页面处理即可,也可回复“验证已完成”或“答案已生成”;不得要求用户暂停或取消任务。
  • Computer Use 遇到账号、密码、短信验证码、人机验证或 CAPTCHA 时,交给用户本人处理;检测用户处理完成或收到“验证已完成”“答案已生成”后,重新检查当前页面,等待回答完全停止生成并自动续采。
  • Computer Use 恢复时只能在原会话继续等待、定位和提取,不得再次提交问题。run 发现当前运行目录已有 results.json 会直接拒绝执行,避免单平台重跑覆盖多平台现场。运行中的同一用户任务禁止通过换新目录、延长等待时间或再次运行 run 来恢复;只有当前任务已终止且用户明确发起了新的独立测试,才可使用新运行目录。只有 results.json 中所有指定平台均为 success、回答非空且 capture-recovery.json.status 不再是 required,才允许运行 prepare-comparison。
  • 统一入口生成的 capture-gate.json 是程序级硬门禁;失败平台、空回答和初始化提示都无法进入知识点对比、权威核验或最终报告。

第二步:各方答案聚合(未核验)

python3 scripts/fact_check_x.py prepare-comparison \
  --results <run目录>/capture/results.json \
  --run-dir <run目录>

上述命令固定使用交互模式。每次向用户展示当前阶段产物并收到继续确认后执行:

python3 scripts/fact_check_x.py acknowledge-stage \
  --run-dir <run目录> \
  --stage <checkpoint.stage> \
  --token <checkpoint.acknowledgement.token> \
  --decision continue

修正当前结果 使用 --decision revise,到此结束并保留产物 使用 --decision stop;两者都不允许进入下一阶段。

命令成功后,必须立刻向用户发送一条独立的 原始答案采集完成检查点,展示每个平台的采集状态、可回溯参考文献数量、无 URL 来源标签数量和耗时,并提供以下可点击产物:

  • capture/report.html:原始答案、参考文献和引用关系;
  • capture/results.json:无损结构化采集结果;
  • capture/report.md:可迁移文本报告;
  • capture-gate.json:全部平台采集成功证明。

必须原样展示命令返回的 checkpoint.message 或 deliverables[0].markdownLink;二者都使用命令生成的标准 fileUri,并已在返回前校验产物存在。mustPresentBeforeNextStage=true 时,未向用户展示该链接不得调用下一阶段。禁止自行把 deliverables[0].path 拼成 Markdown,尤其不得重写 Windows 盘符、反斜杠或用户目录。该检查点必须在开始知识点对比前对用户可见。必须询问用户选择“继续下一步”“修正当前结果”或“到此结束并保留产物”,并等待选择;用户最初要求完整执行也不能替代本阶段确认。不得只把路径藏在“运行命令”、折叠执行详情或最终总结中。

豆包等页面可能只显示来源名称而不暴露原文 URL。采集器会先尝试展开来源标签获取真实链接;仍无链接时写入 sourceMentions。此时必须表述为“0 条可回溯参考文献,N 个无 URL 来源标签”,不得说“页面没有来源”,也不得把标签伪造成参考文献。

comparison-task.json 是阅读入口,不是证据全集。capturedText 为预览,模型可按 sourceResultsPath 读取对应原文,不设固定工具调用次数。片段缺条款时使用 hydrate-sources 补全同一原来源,然后从新采集版本重新比较;不得用预览未命中代替“官方查无”。

由当前承载智能体直接完成知识点分析。每个知识点只表达一个可核验事实变量;同一事实的不同数值必须对齐在同一点;只能使用原始答案采集阶段已经保存的来源判断来源忠实性,禁止联网补证。顶层必须填写 synthesisDraft,其 status 固定为 unverified,正文综合所有相关知识点并保留冲突、条件和缺口,basisKnowledgePointIds 只能引用当前知识点;它是“综合草案(未核验)”,不得写成权威最终答案。

由模型按问题、原答和证据的业务含义划分主张、直接答案与补充参考,区分事实与建议,并说明范围和推导。互不相关的事项应拆开;同一事实的不同写法、金额单位换算、明确算术推导无需机械拆分或降级。程序只检查原答摘录、证据摘录、来源ID和结构是否真实,不再用固定数字、关键词、主题组或连续匹配长度重判模型结论。

每个 covered=true 的 claim 必须有原答连续摘录 answerExcerpt。模型给出 faithfulness、reason 与来源证据,程序核对摘录确实出现在对应捕获材料中;不自行换一组材料或覆盖模型判断。发现伪造摘录、未知ID、缺证据却判支持等结构问题时返回输入错误,不伪装成被测平台的证据不足。

  • 保留局部脚标身份。模型也可评估同一回答的全局材料,但须如实记录为回答级支持,不能伪造局部绑定。
  • 没有局部角标时,模型可从该平台本次来源中选出相关原文,并在 reason 说明支持、矛盾或不足的原因。程序不按文本相似度自动升降级。
  • 回答级语义匹配不等于整篇自动继承来源。证据必须实际支持当前主张;只支持补充点的官方来源不得抬高核心点。
  • 深知晓的逐句脚标与“知识专库”回答级来源都必须采集;同一 URL 合并为 inline_and_global。知识专库入口或任一可见来源项打不开时,仍属于采集失败,重试后转 Computer Use,不得带残缺来源进入下一步。
  • 溯源方式会标准化为 local、declared_global、answer_level_semantic 或 none,最终报告分别外显为“逐段溯源 / 无对应的清单 / 全文语义溯源 / 未建立溯源”。缺少可定位证据时保守降级,不得默认为官方依据。
python3 scripts/fact_check_x.py complete-comparison \
  --results <run目录>/capture/results.json \
  --run-dir <run目录>

若命令返回 fact-check-x/product-truth@1 契约错误,必须停留在知识点对比阶段: 按错误路径补齐或重写 comparison-analysis.json,随后重新执行 complete-comparison,最多自动修复 2 次。两次后仍失败则明确报告知识点对比 阻断及缺失字段,禁止进入 prepare-authority,也禁止静默结束任务。

命令成功后,必须立刻向用户发送一条独立的 各方答案聚合完成检查点,展示知识点数量、分析信息不足数量和“综合草案(未核验)”。必须原样展示命令返回的 checkpoint.message 或 deliverables[0].markdownLink;不得自行拼接路径。mustPresentBeforeNextStage=true 时,未向用户展示该消息不得调用下一阶段。不能只写 comparison.html 或把表格补在最终答复中。必须询问用户选择“继续下一步”“修正当前结果”或“到此结束并保留产物”,并等待选择;用户最初要求完整执行也不能替代本阶段确认。

第三步:权威核验后的最终答案(可选增强)

可信搜索使用跨载体共享的本机配置。每次进入权威核验前先自动检查;已有有效 Key 时直接继续,不打开登录页,也不要求用户重复配置。首次缺少 Key 时,向用户说明“将打开深知 MaaS 页面,您只需完成登录,后续由技能自动配置”,随后立即执行命令返回的 configuration.command。配置组件会使用包内 Playwright 打开系统浏览器并等待用户本人完成短信、密码、验证码或人机验证;登录成功后自动读取已有完整 Key,没有可复用 Key 时创建名称为 Fact-Check-X 的专用 Key,验证后写入 ~/.fact-check-x/credentials/trusted-search-key。该配置供 Codex、Claude Code、WorkBuddy 等载体共同复用。

用户不需要查找、复制、粘贴或回复 Key,也不需要编辑 shell 文件、执行环境变量命令或回复“已配置”。配置命令成功后自动重新执行 prepare-authority 并继续。若用户在对话中粘贴疑似密钥,仍必须视为已经泄露:不得复制到命令、脚本、日志、配置或报告中,不得用该值继续执行;立即提示用户在 MaaS 控制台吊销,然后重新运行自动配置。

只有可信搜索返回 401/403 时才把现有 Key 视为失效并进入自动配置。超时、断网或服务异常必须保留现有配置,由搜索组件自动重试;重试后仍失败则停留在当前技术阶段并返回明确错误,不得要求用户重新登录,也不得转成事实复核任务。

python3 scripts/fact_check_x.py prepare-authority --run-dir <run目录>
python3 scripts/fact_check_x.py search-authority --run-dir <run目录> --max-workers 12

prepare-authority 会先统计必须调用可信搜索的知识点。只要存在非免查知识点且本机共享配置与既有环境都没有可用 Key,命令就返回 status=configuration_required、action=configure_trusted_search、configuration.command 和可直接展示的 userPrompt,并以非零状态退出。此时先向用户展示简短登录提示,再立即前台执行返回的配置命令:

部分知识点还需要调用可信搜索。首次使用将打开深知智能 MaaS 平台,您只需完成登录;技能会自动获取或创建 Fact-Check-X 专用 Key,验证并保存后继续。本机已有配置时会直接跳过。

配置组件返回 status=configured 或 status=already_configured 后,自动重新执行 prepare-authority;只有返回 status=prepared 才能继续搜索。登录期间保持浏览器与命令运行,用户完成登录后自动续接。已经通过程序校验的深知晓官方材料或 gov.cn 材料应直接复用;除此之外不得自行绕过可信搜索,不得以普通联网搜索代替,也不得让用户在对话中发送密钥。

comparison-gate.json 会锁定采集结果、comparison-analysis.json 与 comparison.json 的摘要;authority-gate.json 会继续锁定 request、evidence、assessment 和 result 的精确文件集合及摘要。后续发现文件被修改、ID 不一致、额外/陈旧 result、缺失 assessment(已取得证据的知识点)或手工结果时必须拒绝继续。只有 search-authority 正常完成并把门禁更新为 searched 后,才能写 assessment、运行 finalize-authority 或生成最终报告。禁止手工伪造 evidence、result,禁止通过修改中间 JSON 消除证据不足记录,禁止在缺钥时宣称“核心事实核验已完成”。

逐个读取 authority/requests 和 authority/evidence,由当前运行载体直接把裁决写入 authority/assessments/<知识点ID>.json。已有合格深知晓官方材料锚点或其他平台 gov.cn 材料锚点时必须免查;纯操作建议使用 recommendation_not_applicable,同样不调用可信搜索;其余每个事实知识点只调用一次可信搜索。多个知识点独立并发,不上传无关回答全文。

免查模式下,trustedAnchor.officialAnswer 是当前知识点的权威结论,锚点证据列表用于来源追溯,不要求每条标题或截断摘录逐字复述该结论。平台主张与 officialAnswer 语义一致,或可由其直接推出时,必须裁决为 supported 并引用当前锚点中的有效证据 ID。只有平台主张增加了 officialAnswer 和锚点均不能支持的实质事实,或者事实确实无法判定时,才使用 insufficient。不得仅因锚点摘录较短,就把与 officialAnswer 同义的主张判为证据不足。

知识点对比阶段的引用忠实性和本阶段的事实正确性必须分别保留:事实主张自己的引用不支持时,继续记录 faithfulness=insufficient;若该事实经权威结论证实,本阶段仍裁决为 supported,最终分类由程序据此形成 coincidental,不能用引用缺口代替事实裁决。纯操作建议使用 claimType=recommendation 和 faithfulness=not_applicable,对外显示“操作建议,直接引用不适用”,并从事实准确率、覆盖率、幻觉率中排除;若建议包含事实前提,必须拆成独立事实点照常核验。

数值单位、简称、比较方向、算术推导、基准/优惠关系均由当前模型结合上下文判断。算术结果不必逐字出现在原文中,例如同一对象、周期下2000元上浮40%可支持2800元;反之,同数值但对象、年份或条件不同不能直接采纳。模型须说明依据,程序保持判断,不追加另一套词法裁判。

提交后的原会话恢复

自动抓取、来源展开或续采失败后,Agent必须主动接管,不以失败提示结束任务:

  1. 读取恢复文件及当前宿主可用工具,优先实际调用浏览器工具;需视觉定位、弹窗、滚动等操作时使用Computer Use。
  2. 打开保存的原会话地址,核对原问题与页面状态。已提交时只等待完成、定位回答、展开引用或提取正文,不重新发送问题。
  3. 页面恢复后执行resume;若程序选择器仍不兼容,使用浏览器工具直接读取原答与来源,并保存页面和截图,按相同采集数据契约生成新的恢复产物,不修改原始记录。
  4. 核对全部原选平台、正文、引用和存证后再继续比较。不能虚构答案、删失败平台、把检索结果代替平台回答或把进度提示当最终答案。
  5. 只有扫码、验证码、硬件确认等不可委托步骤才请用户介入;完成后Agent自动接续其余操作,不要求用户再次说明任务。

模型需要原引用的完整正文时,可运行:

node modules/llm-answer-reference-compare/assets/tool/dist/cli.js hydrate-sources \
  --input <原采集目录/results.json> --platform dknowc-deep-research \
  --reference <来源序号> --out <新的空采集目录>

可重复提供来源序号。只补全选定原URL,保留原平台片段、截图和原答,不引入替代材料;失败状态仍保留。报告包内截图位于不同根目录时用 --artifact-root 指定存证根目录。

run 已提交后不得换目录重新提问。使用采集器的只读恢复入口,延长等待并提取原回答:

node modules/llm-answer-reference-compare/assets/tool/dist/cli.js resume \
  --input <原采集目录/results.json> --platform doubao \
  --out <新的空采集目录> --timeout 600000 --interactive

新结果保留原平台集合、其他平台原答和提交计数,恢复新增提交数为0,原目录不覆盖。旧版没有保存会话地址时,追加已核实的--conversation-url <原会话URL>;程序还会核对当前可见的原问题。不能使用首页重问,不能把失败平台删掉后当作原任务全通过。深度溯源续采使用已生成的报告页URL;入口尚未成功打开报告页时仍需检查原页面,不自动重复触发任务。恢复全部成功后从新采集结果重新进入比较,不沿用已锁定的旧比较或旧评分。

每个裁决文件必须严格使用以下结构;平台键必须与 request 中已覆盖的平台 ID 一致,evidenceIds 只能引用当前 evidence 文件中的证据 ID:

{
  "authoritativeFinding": "由权威证据支持的知识点结论",
  "verdicts": {
    "dknowc-chat": {
      "verdict": "supported",
      "reason": "主张与 E1 一致",
      "evidenceIds": ["E1"]
    },
    "doubao": {
      "verdict": "contradicted",
      "reason": "主张与 E1 冲突",
      "evidenceIds": ["E1"]
    }
  }
}

verdict 只能是 supported、contradicted 或 insufficient。禁止使用顶层 verdict、officialAnswer 或 platformAssessment 代替规定字段。结构错误、证据 ID 不存在、平台裁决缺失都会被程序拒绝,必须修正后重新执行。

python3 scripts/fact_check_x.py finalize-authority --run-dir <run目录>

finalize-authority 完成裁决后会独立生成 verification.json 和 03-authority-report.html。只有证据充分的直接答案知识点进入 finalAnswer;补充参考单独进入 supplementalFindings,不得混入最终答案;证据不足的知识点进入 evidenceGaps。必须立即发送 权威证据核验检查点 和 [打开权威核验后的最终答案](<返回路径>)。本报告只展示直接答案、证据边界和简洁来源索引,不展示逐平台裁决或评分。用户确认继续后必须执行 acknowledge-stage。

若第三步完成后发现 assessment 或结论表述需要修正,禁止手工清空 authority/results、篡改 gate 或覆盖已锁定产物。必须执行:

python3 scripts/fact_check_x.py reopen-authority \
  --run-dir <run目录> \
  --reason "<具体修订原因>"

命令会先校验当前 request、evidence、assessment、result、verification 和第三步报告摘要,把旧版本完整归档到 authority/revisions/revision-NNN/,再安全回退到 searched。修改 assessment 后重新执行 finalize-authority,并重新展示、确认新的第三步产物;旧结果不可覆盖或冒充新结果。

第四步:各方答案测评报告

用户确认后再生成平台表现评估与完整报告包:

python3 scripts/fact_check_x.py deliver \
  --results <run目录>/capture/results.json \
  --run-dir <run目录>

deliver 只能读取第三步已锁定的 verification.json 和 03-authority-report.html;摘要不一致时必须拒绝,不得重算、覆盖或变更第三步结论。第四步承接逐知识点核验明细,直接答案与补充参考分区展示;旧的重复裁决矩阵不得再次生成。技术流程成功但存在 evidenceGaps 时继续交付第四步:底层原始状态继续保留,用户界面统一显示为“疑似误导”,移入补充参考风险区,不写入确定答案或准确率分母。

可信搜索返回成功但当前知识点 no_evidence 时,底层归类为 insufficient_evidence。单次检索未返回材料不等于已经证实平台主张错误;程序必须保留原始证据边界,面向用户标为“疑似误导:官方无法查证,有可能过期、编造或信息源误导”,移入补充参考风险区并继续后续报告。覆盖率只衡量是否答到;只有该知识点在所有平台中都未回答或证据不足时,才整体退出覆盖率和准确率分母。

最终必须交付:

  • 05-complete-report-package.zip:可直接发送给他人的完整报告包,内含四份 HTML、原始 JSON、截图、页面存证和逐知识点核验数据;
  • 01-capture-report.html:各方答案汇总;
  • 02-comparison-report.html:各方答案聚合(未核验);
  • 03-authority-report.html:权威核验后的最终答案、权威证据和证据边界;
  • 04-final-report.html:按本次动态平台集合生成的各方答案测评报告;
  • capture/results.json:原始回答、参考文献、原始 URL、引用标记和现场存证索引;
  • capture/capture-recovery.json:在线采集时记录 Computer Use 恢复状态;
  • capture/report.html:原始答案、参考文献与引用关系可视化报告;
  • capture/report.md:原始答案与引用的可迁移文本报告;
  • capture-gate.json:全部指定平台采集成功的程序级门禁证明;
  • comparison-gate.json:知识点对比输入、分析与归一化结果未被后改的 provenance 证明;
  • comparison.html:知识点结构化对比报告(未核验);
  • verification.json、report.html、pipeline.json:权威核验数据、最终平台表现报告和全链路清单;
  • 每个知识点的 request、evidence、assessment 和 result。

最终对话必须原样使用 deliverables[].markdownLink,按“完整可分发报告包、各方答案汇总、各方答案聚合(未核验)、权威核验后的最终答案、各方答案测评报告、全链路清单”给出实际状态。path 只用于本机文件操作,不得由载体重新拼成链接。即使最终报告已经生成,也不得省略三个阶段报告。

本机文件链接只用于当前运行会话内查看,禁止把 macOS 用户目录、Windows 本地盘符路径或本机文件协议地址描述成群成员、客户或共享链接访问者可以打开的对外交付地址。需要对外发送或转交时:

  1. 优先把 05-complete-report-package.zip 作为真实文件附件上传到目标会话、群聊、邮件或云盘;
  2. 目标平台支持多附件时,同时上传 01-capture-report.html、02-comparison-report.html、03-authority-report.html 和 04-final-report.html;
  3. 目标平台不支持文件上传时,必须明确提示“当前链接仅在执行机器可用”,并请用户选择可上传的交付渠道;不得只发送本机 Markdown 链接后宣称交付完成;
  4. 05-complete-report-package.zip 内部必须使用相对路径,解压后可直接打开四份报告,不得包含可执行机器的绝对路径。

在线配置

仅当知识点没有合格深知晓锚点且本机尚无共享配置时,统一入口会自动返回并执行:

python3 scripts/trusted_search_config.py configure

命令会打开深知 MaaS 登录页。用户只完成登录,技能自动获取或创建专用 Key、 验证并保存;后续任何承载端均直接复用。Key 禁止写入对话、命令输出、报告、 请求文件或技能包。

执行边界

  • 深知晓普通与深度溯源输出的材料本身按权威来源处理,不要求 .gov 域名、官网回链或额外接口证明。是否权威与是否支持当前主张分开;缺失URL如实显示,不能编造链接,也不能把缺失URL当成非权威。

  • 引用忠实性不替代事实适用性。已有权威引用不能因追加搜索空结果而被降级;若其他权威证据证明其年度、项目或对象不适用,裁决必须引用该独立证据并解释差异,不得强制把互斥结论都判为正确。

  • 豆包“已交给后台Agent,完成后再返回结果”等任务受理通知不是最终回答,即使该次流已经结束也不得记成功。只在原会话等候或恢复,不得重新提交原问题。

  • DeepSeek采集必须保留列表、表格行列和普通链接可见文字,不能把整份答案压成一段后跨行绑定来源。

  • 用户明确问认定或申请条件时,比例门槛、事故违法限制等法定要求属于直接答案,不能仅因关键词归入其他话题而降为补充参考。

  • 原始答案阶段只采集,不核验。

  • 知识点对比阶段只比较原回答与其自带来源,不联网找真相。

  • 权威层一次只处理一个知识点,可信搜索只返回证据,不负责最终裁决。

  • 运行载体是 WorkBuddy、Codex、Claude Code 等智能体,不把运行载体称为“模型”。

  • 任何登录失败、验证码、搜索错误、证据不足和抽取异常都必须显式报告,不得伪装成功。技术动作失败后若流程仍继续,每一步报告都必须在显著位置统一提示,相关无法核验的主张按“疑似误导”呈现。

  • 深知晓与深知晓(深度溯源)的可信搜索材料统一按官方材料处理。两者都只能凭本次回答自身所附、与主张可定位且语义一致的官方材料独立生成 trustedAnchor.eligible=true;深度溯源不继承普通深知晓的结果。