知网文献检索与引用获取
这个技能用于在论文写作前拿到可追溯的中文文献引用。它的核心不是写一个独立爬虫,而是把知网页面操作转化为清晰的 browser-task(浏览器任务):AI 负责明确检索目标、判断结果质量、整理引用和建立证据映射;browser-task 负责打开知网、搜索、登录检查、导出和页面信息提取;只有 browser-task 明确不可用、登录/验证码阻塞或用户明确要求手动时,才让用户手动操作。
什么时候必须使用
只要任务会产生或依赖学术引用,就先使用本技能,尤其是:
- 用户要求写论文、开题报告、引言、研究背景、国内外研究现状、相关工作、文献综述。
- 用户要求“找几篇中文文献”“查知网”“补参考文献”“生成 GB/T 7714 引用”。
- 用户给出论文题目、摘要、关键词,希望继续写正文。
- 用户已有正文但缺少中文参考文献或引用格式不规范。
如果没有 browser-task 返回的真实引用,且用户也没有手动回填真实引用,不得开始撰写带引用的正文。可以先给写作计划和检索策略,但正文中的文献、作者、年份、期刊和结论都必须来自真实检索结果。不能把“已打开知网”“正在检索”“检索完成”当作引用证据;只有页面可见元数据、来源链接/检索词、知网导出引用原文或用户可核验回填,才算完成中文文献真实性核验。
本参考只解决中文文献真实性和 GB/T 7714 引用获取,不替代英文文献检索。技术类论文进入 Draft Mode 时,CNKI 中文引用池应与英文引用池配合使用;若英文基础文献不足,必须回到 literature-review 英文来源流程补足 DOI、出版社页面、Google Scholar 引用入口、arXiv 或用户 PDF 来源;Semantic Scholar、OpenAlex 只能作为候选发现工具,不能用作正式引用来源,也不能用中文文献填满“国内外研究现状”。scholar_search、general_search、普通搜索工具和搜索面板同样不得在未尝试 browser-task 前先行建立中文候选文献池。这里对英文 scholar_search 的放开不适用于中文文献;中文候选文献默认优先选择近几年内与主题高度相关、具有代表性且可核验的来源,在时间范围相近时可以适度优先高引用文献,但不强求“最新一年”文献;基础理论、经典政策文本和代表性研究可适当放宽年份。
核心原则
- 真实来源优先:所有中文文献引用必须来自知网页面或知网导出的引用文本。
- browser-task 强制触发:默认必须显式调用豆包 browser-task(浏览器任务)完成多步骤网页操作;只有 browser-task 不可用、登录/验证码阻塞或用户明确要求手动时,才改为用户手动浏览器操作。不在主对话里手工执行 DOM 选择器级爬取,也不得在未尝试 browser-task 前先用
scholar_search、general_search、普通搜索工具、搜索面板或其他后台检索工具建立候选文献池。 - 用户登录介入,但不误判机构登录:知网未登录、机构认证、扫码、手机号验证、滑块验证码都必须交给用户在浏览器中手动完成。若页面显示学校/机构名称、机构已登录、IP 登录、CARSI/统一认证成功、可访问检索结果或可打开导出/引用功能,即视为具备继续检索和导出条件;页面上同时出现“个人登录/登录”按钮不等于未登录,不得因此停止或偷懒。
- 先引用后写作:引言、相关工作、文献综述等引用密集内容,必须先形成引用池和 evidence map。
- 不绕过限制:不尝试绕过验证码、付费墙、机构权限或反爬机制;只获取用户有权访问的检索结果和引用信息。
- 失败要明说:如果无法拿到页面可见元数据、来源链接/检索词、导出引用或用户回填,必须输出“中文文献真实性核验未完成”,不能补写、猜写或润色成看似真实的中文参考文献。
- 后台检索不算核验:
scholar_search、general_search、普通搜索工具、CrossRef、Semantic Scholar、OpenAlex 或其他 API 返回的元数据不得冒充知网页面可见结果,也不得整理成“知网引用”;这些工具也不得在未尝试 browser-task 前先行建立中文候选文献池。
browser-task 使用模型
将 browser-task 当作高层执行流程:用自然语言描述目标,让豆包浏览器任务完成导航、输入、点击、等待、提取和导出。不要把某个命令名当成必然存在的 API;但必须在任务文本中明确写出“启动 browser-task/浏览器任务”。在未尝试启动 browser-task 前,不得直接切换为手动流程(manual fallback),也不得先调用 scholar_search、general_search、普通搜索工具、搜索面板或其他后台检索工具建立候选文献池;如果当前豆包环境明确没有 browser-task 入口,就停止自动获取,给用户明确的手动操作步骤和需要回填的结果格式。
不要这样做
- 不要默认在主对话里逐个调用
navigate、click、evaluate。 - 不要把知网选择器当作主流程。
- 不要直接伪造
GetExport返回结果。 - 不要在用户未登录时继续声称“已导出引用”。
- 不要只说“已打开知网/已检索到相关文献”后填充中文参考文献。
- 不要把模型记忆里的中文题名、作者、期刊、年份整理成“知网引用”。
- 不要因为担心 browser-task 不可用,就先用 direct search、
scholar_search、general_search、普通搜索工具或搜索面板建立候选池,再把 browser-task 当补验证步骤。 - 不要使用
scholar_search、general_search、普通搜索工具、CrossRef、Semantic Scholar、OpenAlex 或其他 API 返回的元数据冒充 browser-task 页面可见结果。
应该这样做
把浏览器目标写清楚,优先交给 browser-task 执行;只有 browser-task 不可用、登录/验证码阻塞或用户明确要求手动时,才改为用户手动执行:
启动 browser-task/浏览器任务:打开 https://kns.cnki.net ,检查是否已具备检索和导出条件。若页面显示学校/机构名称、机构登录、IP 登录、CARSI/统一认证成功,或能正常看到检索结果与“导出/引用/参考文献”入口,即继续检索;不要因为页面仍有“个人登录/登录”按钮就判定未登录。只有无法检索、无法打开导出/引用入口,或页面明确要求扫码/账号/验证码/机构认证时,才停下让用户处理。随后使用关键词“[检索词]”检索中文文献,优先选择近几年、核心期刊、与主题最相关且可核验的结果;在时间范围相近时可适度优先高被引文献,但不强求最新一年,必要时保留经典基础文献。返回前 [N] 条候选文献的题名、作者、来源、年份、被
复杂任务应拆成更窄的浏览器目标;若返回结果不完整,重新给出更窄的操作目标,而不是切换为自写爬虫或直接搜索兜底。
## 标准工作流
```text
识别写作/引用需求 -> 提取检索词 -> 启动 browser-task 检索知网 -> 用户登录/验证码人工处理 -> 验证返回内容是页面可见字段或导出原文而非后台检索/API 元数据 -> 返回候选文献 -> 用户确认 -> browser-task 导出引用 -> 建立引用池和 evidence map -> 再进入写作
1. 提取检索词
根据用户的题目、摘要、研究问题或章节目标提取 2-5 个核心概念。
输出给用户确认:
我会先检索中文文献,拟用以下检索式:
- 主题词:...
- 同义词:...
- 检索字段:主题 / 篇名 / 关键词 / 摘要
- 初始筛选:优先近几年;优先核心期刊、主题高度相关和可核验来源;在时间范围相近时可适度参考高被引,但不强求最新一年;如结果太少则放宽年份
用户已经给出明确关键词时,可以直接检索,不必反复确认。
2. 检查知网登录
先启动 browser-task 打开知网并判断是否能检索和导出;只有 browser-task 不可用时才让用户手动打开。
判断规则:
- 页面显示学校/机构名称、机构已登录、IP 登录、CARSI/统一认证成功,或已能检索并看到“导出/引用/参考文献”入口:继续,不要因“个人登录/登录”按钮存在而停止。
- 页面只能看见公共检索但导出/引用入口不可用,或点击导出时要求扫码、个人账号、机构认证、短信或验证码:停止并让用户处理。
- 只有无法检索、无法进入导出/引用流程,或页面明确要求登录/认证时,才判定为阻塞。
如果确实未登录或认证阻塞,停止自动流程,把浏览器停留在登录/认证页面,并提醒用户接管浏览器完成操作。对用户说:
知网导出引用需要登录或机构认证。我已停止自动操作,并把浏览器停在需要处理的页面。请你在当前浏览器里完成扫码登录、手机号登录、机构/CARSI认证或验证码;我不会索要或代填账号、密码、短信码。完成后告诉我“已登录”,我再继续检索和导出引用。
不要索要、保存或代填用户账号密码。
3. 检索候选文献
通过 browser-task 检索,并要求返回结构化候选列表;browser-task 不可用时才要求用户手动回填:
| # | 题名 | 作者 | 来源 | 年份 | 被引 | 类型 | 链接 | 相关性说明 |
|---|---|---|---|---|---|---|---|---|
筛选原则:
- 主题高度匹配优先于单纯高被引。
- 近几年文献优先,但不强求最新一年;在时间范围相近时可适度优先高被引文献。基础理论、经典方法、政策法规和代表性研究可放宽年份。
- 期刊论文、学位论文、会议论文要标明类型,不混用。
- 文献综述任务应覆盖不同研究主题,而不是只取同一作者或同一期刊的结果。
4. 用户确认引用范围
把候选文献展示给用户,让用户选择需要导出的编号。若用户说“你来选”,按以下规则选择:
- 与主题直接相关;
- 来源可靠;
- 年份、方法、研究对象具有互补性;
- 避免重复主题堆叠。
5. 导出真实引用
再次通过 browser-task 导出引用;browser-task 不可用或导出失败时,才要求用户手动复制页面可见引用。导出是目标,不是可选动作;知网结果页支持勾选多篇文献后使用页面工具栏的“导出/引用/参考文献/批量导出”等入口一键导出引用,应优先使用这个批量导出方式,不要逐条抄元数据。只拿到题名、作者、来源、年份时,不能把它整理成正式 GB/T 7714 引用,只能标为待核验:
启动 browser-task/浏览器任务:在当前知网检索结果中,先勾选已选文献编号 [1,3,5],再使用页面工具栏中可见的“导出/引用/参考文献/批量导出”等入口一键导出 GB/T 7714 格式引用;不要逐条抄题名、作者和来源来拼引用。若页面是学校版/机构版但仍显示个人登录按钮,只要导出入口可用就继续导出,不要停止。返回每条引用原文,并附上对应题名、作者、年份和来源,便于核对。不要自行改写引用内容;如批量导出失败,进入单篇详情页尝试“引用/导出/参考文献”。若仍失败,说明失败原因和当前页面状态。
如果 browser-task 返回的是 API 元数据、检索摘要或结构化 JSON,而不是页面可见字段或导出原文,视为中文文献核验未完成;必须重新要求 browser-task 从页面提取可见内容,或转为用户手动回填。如果用户回填的是页面可见元数据而不是最终引用,应先要求补充知网页面导出的 GB/T 7714 文本,或整理为“待核验引用”。不要默认运行本地脚本做后处理;最终引用必须能追溯到知网页面或知网导出结果。如果无法追溯,不得输出正式参考文献条目,只能列出“未完成核验的检索任务”和需要用户回填的字段。
6. 建立引用池和 evidence map
将结果整理为两份内容。
引用池:
## CNKI 引用池
[CNKI-01] 作者. 题名[J/D/C]. 来源, 年, 卷(期):页码.
- 来源链接:...
- 检索词:...
- 获取方式:知网导出 / 用户回填 / 浏览器任务回填
- 页面证据:题名、作者、来源、年份等页面可见字段 / 导出引用原文 / 用户回填截图或链接
- 核验状态:已核验 / 待核验(待核验不得作为正文事实支撑)
证据映射:
| Source ID | Citation | Source type | Abstract-level finding | Usable fact | Supported claim | Citation slot | Risk |
|---|---|---|---|---|---|---|---|
Supported claim 必须是可写进正文的一句话;不能写“这篇文献很相关”。若只拿到题名和引用,Abstract-level finding 标注为“未读取摘要”,不得编写该文献的具体研究结论。
7. 进入写作
只有在引用池和 evidence map 完成后,才开始写引言、研究现状或文献综述正文。正文中的每个文献性判断都应能回到 Source ID。
场景模板
用户要写引言
- 先检索至少 10 篇中文核心相关文献。
- 建立 evidence map。
- 按“研究背景 -> 现有路径 -> 不足 -> 本文问题”组织段落。
- 不把候选文献列表直接写成正文。
用户要写文献综述
- 先启动 browser-task 检索 10-20 篇候选文献;browser-task 不可用时才让用户手动检索并回填。
- 按主题聚类,而不是按年份罗列。
- 每个主题至少 2 篇文献支撑。
- 对无法读取摘要或全文的文献,只使用题名、来源、年份等元数据,不写具体发现。
- 若是技术类论文,同步检查英文文献池是否达到
../literature-review/SKILL.md的 Draft Mode 阈值;不足时列出英文文献缺口,不把中文候选文献冒充国际相关工作。
用户只要参考文献列表
- 不写正文。
- 勾选目标文献后,优先使用知网页面工具栏的“导出/引用/参考文献/批量导出”等入口一键导出 GB/T 7714 引用。
- 输出编号列表,并标注获取日期和检索词。
失败处理
| 情况 | 处理 |
|---|---|
| browser-task 不可用 | 告知用户当前环境缺少 browser-task/浏览器任务能力;给出检索词、筛选条件和回填表格,让用户手动检索,不改走 direct search、scholar_search、general_search 或普通搜索兜底。 |
| 页面有个人登录按钮,但学校/机构版可检索或可导出 | 继续检索和导出;不要把个人登录按钮当作未登录证据。 |
| 未登录或认证阻塞 | 只有无法检索、无法打开导出/引用入口,或页面明确要求扫码/账号/机构认证时才停止;把浏览器停在当前页面,提醒用户接管浏览器完成登录或认证,用户确认后再继续。 |
| 验证码 | 停止并停留在验证码页面,提醒用户手动完成验证;用户确认后再继续 browser-task。 |
| 检索结果太少 | 放宽年份、换同义词、从篇名改为主题字段。 |
| 检索结果太多 | 增加限定词,优先近几年、主题高度相关、核心期刊和可核验来源;在时间范围相近时再适度参考高被引。 |
| 批量/一键导出入口可见 | 勾选目标文献,优先使用页面工具栏一键导出 GB/T 7714 引用。 |
| 导出失败 | 先重试批量/一键导出;再进入单篇详情页尝试“引用/导出/参考文献”;仍失败则返回元数据和失败原因,不编造引用。 |
| 选择器/API 失效 | 不在主流程修爬虫;改用页面可见文本和用户手动回填完成操作。 |
参考文件
references/citation-formats.md:引用格式规范。references/cnki-faq.md:登录、验证码、导出失败和浏览器任务处理。references/cnki-selectors.md:低层页面线索,仅在浏览器任务失败且需要诊断页面变化时阅读;不要作为主流程。