# Literature Search

> 文献检索与真实引用获取参考（中文知网/CNKI 强制门控+英文文献池阈值）。当需要中文文献、知网/CNKI 检索、GB/T 7714 参考文献、中文引用真实性核验或补全导出时优先使用。必须显式触发 browser-task 进知网检索并导出引用，不可用则由用户手动回填；拿到页面可见元数据、来源链接或可核验回填后才能写中文引用，绝不假装打开知网或凭记忆编造文献。英文文献池阈值与获取层级也在此参考。

- Skill: `ahang1598/literature-search` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add ahang1598/literature-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/literature-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/literature-search

---

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

