Install
openclaw skills install @zslzxy/cnki-paper-checkopenclaw skills install @zslzxy/cnki-paper-check本 Skill 是 Fanyu/CQCCJY 知网公共用户端的操作与回答规范。固定站点是 https://cnki.cqccjy.cn,重点入口是:
站点、渠道、路由和业务归属不能被用户输入覆盖。完整地址规则见 references/domain-and-routes.md。
| 用户表达 | 默认动作 | 不能做的事 |
|---|---|---|
| 知网本科/专科查重 | 识别为 CNKI_UNDERGRADUATE,先读取实时目录 | 不因价格默认本科版 |
| 知网硕士、博士、研究生 | 识别为 CNKI_GRADUATE | 不把本科版当硕博替代 |
| 知网期刊、投稿、编辑部预检 | 识别为 CNKI_JOURNAL | 不承诺等同期刊终审库 |
| 知网 AIGC/AI 率 | 先确认字符范围,再在两个 AIGC 产品中选 | 不把 AIGC 当文字查重 |
| 只说“知网查重” | 追问本科/专科、硕博、期刊或 AIGC | 不擅自下单 |
| 指定 PMLC/TMLC/AMLC/SMLC、学校系统 | 说明公共个人产品与机构系统可能不同,要求书面要求 | 不做自动映射 |
| 上传/下单 | 先 products,再 dry-run,再按用户确认正式 submit | 不在未确认产品时上传 |
| 订单到哪了 | 用原订单号 status,或凭证 query | 不重复建单/重复支付 |
| 下载报告/报告真假 | report 交接到 /pzw/check;verify 交给官方页面 | 不猜下载 URL/验证码 |
当前代码稳定产品键为 5 个:
| productCode | 当前用途 | 本地默认外部 ID | 字符提示范围(当前快照) |
|---|---|---|---|
| CNKI_UNDERGRADUATE | 本科、专科 | dxscnki | 200–80,000 |
| CNKI_GRADUATE | 硕士、博士、研究生 | yjscnki | 200–300,000 |
| CNKI_AIGC | AIGC 风险检测短/中篇 | cnkiaigc | 200–80,000 |
| CNKI_JOURNAL | 期刊投稿/编辑部预检 | 以实时渠道映射为准 | 200–30,000 |
| CNKI_AIGC_OVER_80000 | AIGC 长文版本 | 以实时渠道映射为准 | 80,000–300,000 |
本地快照和价格不是永久事实。当前价格、是否启用、fileType、min/max、提示范围、acceptTimeRequired 和 paymentChannels 必须以:
python3 scripts/cnki_client.py products
为准。订单页显示金额高于离线快照。实时接口在 2026-10-02 返回 5 个产品、检测卡号/微信/支付宝均启用;发生变化时不修改系统事实来迎合旧文档。
稳定判断键是 CNKI_AIGC_OVER_80000 和实时 hintMinCount/hintMaxCount,不是展示名称。数据库迁移、前端规范化和公共接口可能出现“8万字及以上”与“8万字符及以上”的文案差异;以实时 productCode、限制和当前页面为事实,不把文案差异当成两个产品。
python3 scripts/cnki_client.py --dry-run submit \
--product-code CNKI_UNDERGRADUATE \
--title 论文题目 \
--author 作者姓名 \
--file ./论文.docx
dry-run 只校验本地快照、题目、作者、日期、扩展名和文件大小;不访问产品接口、不拿预签名、不上传、不建单。正式提交前仍必须读取 live products。
页面“我的报告/报告下载”输入框最多 64 个字符,可输入本站订单号、检测卡号、淘宝订单号、支付宝交易单号或微信商户单号。
脚本对应命令:
python3 scripts/cnki_client.py query --keyword 订单号或凭证
query 用 GET /api/paper/cnki/public/order/query;status 用 GET /order/{orderNo}。不要把 query 的关键字直接拼进数字路径。
python3 scripts/cnki_client.py products
输出 action、enabled、channel、payment_channels、products、browser_url。脚本只保留公共安全字段,不输出客服 token、Tawk/Chatwoot secret、供应商配置或对象存储临时字段。
python3 scripts/cnki_client.py --dry-run submit \
--product-code CNKI_GRADUATE \
--title 学位论文题目 \
--author 作者姓名 \
--file ./paper.docx
dry-run 不产生订单号。它用 product-catalog.json 校验文件大小、扩展名、题目、作者和日期。
python3 scripts/cnki_client.py submit \
--product-code CNKI_UNDERGRADUATE \
--title 论文题目 \
--author 作者姓名 \
--file ./paper.docx
正式 submit 每次先读取实时 config,再执行:
GET config -> POST upload/presign -> PUT 返回的 HTTPS uploadUrl -> POST order/create。
只发送公共字段:title、author、productCode、fileName、objectKey、contentType、fileSize、channel,以及真实需要的 acceptTime/checkDbs。脚本不发送 processMode、fulfillmentMode、channelCode、externalProductId 或供应商回调字段。
python3 scripts/cnki_client.py status --order-no 订单号
status 是幂等查询。对于 WAIT_PAY/PAYING 打开支付页;对于 PAID/SUBMITTING/DETECTING 打开进度页;对于 COMPLETED 打开报告页;对于 FAIL/SUBMIT_FAIL 保留失败原因并联系客服。
python3 scripts/cnki_client.py report --order-no 订单号
只有状态为 COMPLETED 或服务端明确返回报告字段时才允许说报告可用。脚本会尝试读取 report-download-url,但只输出 HTTPS 地址;若返回供应商 HTTP 地址则丢弃,并始终给出本站 /pzw/check 页面。
python3 scripts/cnki_client.py verify
verify 不调用验证码接口,只返回统一验真入口和知网官方备用页。用户自行选择“学术不端检测报告单”或“AIGC报告单”,填写报告首页 №: 后的报告单编号和验证码。
公共页面可调用的支付接口包括:
这些接口存在于系统,但本 Skill 不主动调用支付或卡结算;只把用户交回原页面,避免扣款、重复核销和凭证泄露。支付后不要只看“支付页面已打开”,必须以 payStatus=PAID 或订单状态事实为准。
完整状态表、支付字段、轮询频率和停止条件见 references/settlement-and-status.md。
服务端还存在 AUTO/MANUAL process_mode、AUTO_CHANNEL/PLATFORM_MANUAL fulfillment_mode、供应商路由、轮询回调和上海时区分时段自动渠道。它们是内部履约逻辑:
详见 references/internal-routing.md。
只解读报告真实出现的字段。可能出现总文字复制比、去除引用文献复制比、去除本人已发表文献复制比、单篇最大文字复制比、章节/片段、来源和 AIGC 结论,但不同产品和报告版本可能不同。
先打开统一入口 https://vpcs.cqccjy.cn/pwp/verify,选择知网报告验真;统一入口不可访问时再打开 https://check7.cnki.net/codeverify/。用户本人完成报告类型、编号和验证码输入。验真通过只说明官方系统找到对应记录,不代表合格。
先说明当前实时产品/价格/格式,再指出用途和学校书面要求优先;若用户没有论文层级,先追问而不是替选。
先 products -> 核对产品/格式/大小 -> dry-run -> 用户确认 -> submit -> 返回 orderNo 和支付/进度页面。
先给 statusLabel/payStatus/canPay/canSelectCard/canUpload;再给原订单页面和唯一下一步。不要同时建议重建订单。
先识别报告类型和真实字段,再引用学校/期刊规则;明确“验真、报告存在、检测完成、达到要求”是四件不同的事。