# Scholarrelay

> 文献接力（ScholarRelay）：人机协作法学／中文学术论文写作工作流。解决的核心问题是——机构订阅文献库（知网等）需经校园 webvpn 的 IP 授权才能下载，Agent 无法自行走通这条链路，而让非专业用户自建浏览器自动化又门槛过高；本工作流把链路切在授权边界上：人做检索/导出题录/下载 PDF，AI 做解析/分级/精读/写作/校验/排版。并把流程固化为十阶段协议（立项定锚→题录获取→解析分级→精读笔记→分章写作→修订体检→编号校验→投稿排版→模拟审稿→选刊投递），用脚本强制保证正文引用编号与文末参考文献一一对应、不从零编造文献页码、用版本健康度监控防止补丁式迭代把论文改烂、用机械扫描清除 AI 写作痕迹与标点问题。 Trigger when user asks for 文献接力, scholarrelay, 论文合作流程, 人机协作写论文, 文献分级, 文献精读笔记, 写作启动包, 参考文献编号校验, 编号错位, 投稿排版, 模拟审稿, 征文投稿, 知网题录解析, 期刊体例 Word, 论文修订, 车轱辘话, 越改越烂, 版本对比, 文字冗余, 摘要写作, 关键词, 去AI腔, AI写作痕迹, 选刊, 投稿策略, 投稿检查清单, 法学引注手册, CSSCI期刊.

- Skill: `keize-tang/scholarrelay` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add keize-tang/scholarrelay`
- Raw SKILL.md: https://api.skillmd.com/api/skills/keize-tang/scholarrelay/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: Keize-Tang (https://skillmd.com/u/keize-tang)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/keize-tang/scholarrelay

---


# 文献接力 ScholarRelay · 人机协作法学论文写作工作流

> 这不是"让 AI 写一篇论文"，而是**把一篇论文拆成人机各自最擅长的工序，用固定交付物把它们咬合起来**。
> 核心洞察：AI 无法在 webvpn + 知网环境中稳定下载全文，而人做这件事很快；人无法在 259 条题录里权衡取舍，而 AI 做这件事很快。分工不是妥协，是效率最优。

## 一、本工作流要解决的核心问题

> **一句话**：机构订阅型文献库（知网等）的访问控制，**不是一个 API 能绕过去的**——
> 所以本工作流**不试图让 AI 自动化这条链路，而是把它明确划给人**。

### 问题到底是什么

知网这类文献库对个人账号**没有下载额度**。能下载，靠的是**机构订阅**，而机构订阅的校验是三层叠加的：

| 层 | 校验什么 | 为什么自动化很难 |
|---|---|---|
| **① IP 授权** | 请求是否来自机构出口 IP | 必须先连入学校 webvpn，让知网看到的是**机构 IP** |
| **② 登录态** | 是否有有效的机构/个人会话 | 会话绑在真实浏览器的 cookie 上，且常带设备指纹 |
| **③ 下载额度** | 该账号/该 IP 当日还能下几篇 | 超限即拒，且**无法预测**何时触发 |

三层里任何一层不过，拿到的都只是摘要页，不是全文。**这不是"写个爬虫"能解决的问题，
而是访问授权问题。**

### 于是"自动查文献"类技能的实际困境

已有的自动检索类技能，通常要求使用者自己先把浏览器自动化环境配好——
常驻进程、CDP 端口、登录态保持、验证码人工介入、被站点风控拦截后的重试……

**对非专业使用者，这一步的门槛高于写论文本身。** 结果就是：
工具装上了，但**下载不到全文**，最后仍然只能手动去知网一篇篇下。

### 本工作流的解法：把链路劈成两半

不去硬碰那条走不通的自动化路径，而是在**正确的边界上切一刀**：

```
① 检索 → ② 导出题录 → ③ 下载 PDF   ← 人做（他本来就登着 webvpn，几秒钟的事）
④ 解析题录 → ⑤ 分级 → ⑥ 精读 → ⑦ 写作 → ⑧ 校验 → ⑨ 排版   ← AI 做
```

| 环节 | 谁做 | 为什么 |
|---|---|---|
| **登录 webvpn → 进知网 → 检索 → 导出题录 → 下载 PDF** | **人** | 需要机构 IP + 登录态 + 下载额度；人已经登着，成本几乎为零 |
| 题录解析、去重、分级、精读、写作、编号校验、排版 | AI | 批量文本处理，AI 的成本远低于人 |

**关键点：这不是"AI 能力不足的妥协"，而是正确的架构取舍。**
让 AI 去攻一个本质上是**授权问题**的关卡，投入产出比极低且不稳定；
让已经持有授权的人花几十秒完成，把 AI 的算力全部用在它真正擅长的批量阅读与写作上。

> **分工的原则**：见 `references/01-division-of-labor.md`；
> 人侧的具体操作手册见 `references/02-cnki-export-guide.md`；
> 为什么不建议用浏览器自动化去打通知网，见 `references/13-companion-skills.md`。

---

## 二、为什么还需要这套流程（四条铁律）

学术写作里 AI 最大的风险不是写得不好，而是**编得很像真的**。本流程用四个机制从结构上堵死它：

1. **证据链闭环**：任何进入正文的引用，其原文必须存在于工作区（PDF / txt / OCR 文本）。AI 的"我记得有篇文献说过"永远不作为证据。
2. **交付物锚定**：每个阶段产出一个**落盘文件**（启动包 / 分级清单 / 精读笔记 / 校验报告）。上下文压缩后，读这几份文件即可恢复全部关键知识，不依赖对话记忆。
3. **脚本强制校验**：编号、页码、文献去重这类"低级但致命"的错误，不靠人眼检查，靠 `scripts/validate.py` 机器校验。
4. **重写而非打补丁**：每一轮修订都产出**完整的新版本文件**，禁止用脚本 `replace()` 逐句修改正文。见 `references/09-revision-discipline.md`。

### ⚠️ 第四条铁律是怎么来的（最贵的一课）

三次真实合作的对照表明：**交付物齐全 ≠ 论文能写出来。**

| | 思想史论文（最好） | 方法类论文（次之） | 规范分析论文（**被放弃**） |
|---|---|---|---|
| 资料准备 | 三轮文献需求 | 题录解析+工具化 | 启动包/分级清单/精读笔记**全齐** |
| 迭代方式 | 整篇重写 | 整篇重写 | **字符串替换打补丁** |
| 修订脚本 | 0 个 | 0 个 | **7 个 `fix_*.py`** |
| 版本字数曲线 | 6.1k→7.3k→7.6k→8.8k→8.6k | 平稳 | 9.9k→12.7k→13.7k→**5.8k** ⚠️ |
| 结局 | 定稿 | 定稿并自审 | 拦腰砍断后放弃 |

那个被放弃的项目，资料准备是三次里最完备的——**但没救它**。
它的最后一个修订脚本叫 `fix_v6_chegulun.py`，注释写着"v6 车轱辘话清除：11 处修订"。
**车轱辘话不是写出来的，是补丁生产出来的。**

其余已知的真实踩坑：

- 参考文献 `gen_refs.py` 手工列表里，施亚君一篇重复占两个编号（[1] 和 [4]），应飞虎一篇重复三次（[30][31][45]）；
- 正文引用编号在增删文献后整体错位 12 处；
- 期刊文献全部缺起止页码（GB/T 7714 顺序编码制硬性要求）；
- 把"江西九江、江苏吴江和太仓、山东潍坊"全部写成了"江苏"。

这些都是人眼容易漏、脚本一秒查出的错误。**所以本流程要求：任何增删文献之后，必须重跑 `renumber.py` + `validate.py`。**

## 三、人机分工表（不可逾越的边界）

| 工序 | 谁做 | 为什么 |
|---|---|---|
| 确定选题 / 议题 / 目标期刊 / 字数 | **人** | 涉及投稿策略与个人偏好，AI 无权决定 |
| 知网检索、筛选来源类别（CSSCI/北大核心） | **人**（AI 给检索式建议） | 需要 webvpn 登录态 |
| **导出题录 txt（RefWorks 或 EndNote 格式）** | **人** | AI 无法在知网点导出 |
| **下载 PDF 全文** | **人** | webvpn 环境下直链下载报错，已验证不可行 |
| 题录解析、去重、按主题聚类 | AI（`scripts/parse_cnki.py`） | 批量文本处理 |
| **文献 A/B/C 分级** | AI（产出分级清单，人可推翻） | 读摘要判断相关性 |
| **下载 PDF → 提取文本** | 人下载；AI 跑 `scripts/pdf2txt.py`（一条命令，PyMuPDF，零安装） | 已实测选型，**不要重新纠结用哪个库**，见 `14` |
| 精读 PDF 并产出精读笔记 | AI（人负责修文本损坏的 PDF） | 批量长文阅读 |
| **写作前定锚**：写作启动包 | AI（人确认关键决策） | 把政策、数据、文献、纪律压缩进单文件 |
| 分章写作 | AI（人审每章引用清单） | 人把关"虚挂引用" |
| **每轮修订** | AI 产出**完整新版本文件**（人决定改什么） | 见铁律 4：禁止字符串替换式打补丁 |
| **回读原文核验直接引用** | AI，但**必须真的读工作区里的原文** | 不得凭笔记复述 |
| **核实法条/政策/案例的现行版本** | AI 用 `web-access` / `browser-use` | 条号会随法律修订变化 |
| 参考文献编号重排 / 校验 | AI + `scripts/renumber.py` / `validate.py` | 机器校验 |
| 投稿排版（期刊体例 Word） | AI（`scripts/md2docx.py`） | 模板化 |
| **启动审稿**：新建独立窗口 + 选用更强模型 | **人** | 审稿必须与写作窗口隔离、并换更强的模型，见阶段 8 |
| 模拟审稿自审 | AI（在**独立窗口**中出具审稿意见报告） | 换视角找硬伤；同窗口自审会替自己辩护 |
| **选刊与投稿决策** | **人**（AI 只提供期刊匹配信息） | 涉及投稿策略，见 `12-journal-and-submission.md` |
| 决定投稿、填作者信息、上传系统 | **人** | AI 不代替人做对外动作 |

## 四、十阶段流程（每阶段输入 → 输出）

### 阶段 0 · 立项与定锚
**人**给：选题方向、征文/期刊、截稿日、字数区间、引注体例要求。
**输出**：`写作启动包_<项目名>.md`（模板见 `assets/01_写作启动包_模板.md`）

启动包是全流程的**单文件恢复锚点**，必须包含 10 个板块：定稿信息 / 核心论题（一句话）/ 章节框架与字数总账 / 法条锚点 / 政策文件锚点 / 数据锚点（带时点）/ 核心文献锚点 / 写作纪律 / 待核实待办 / 逻辑衔接点。

> 硬性要求：**核心论题必须是一句话，全文只允许一个判断。** 论题散掉，后面全散。

### 阶段 1 · 题录获取（人操作）
**人**在知网检索 → 勾选文献 → 导出题录为 `RefWorks` 或 `EndNote` 格式 → 保存为 `CNKI-<时间戳>.txt` 放进项目根目录。
详见 `references/02-cnki-export-guide.md`（含检索式写法与来源类别筛选）。

### 阶段 2 · 题录解析与分级
```bash
python scripts/parse_cnki.py CNKI-20260827143104583.txt -o 题录.tsv
```
**输出**：`题录.tsv`（结构化）+ `文献筛选清单_<项目名>.md`

分级标准（详见 `references/03-literature-grading.md`）：

| 档 | 判定 | 动作 |
|---|---|---|
| **A** | 直接支撑核心章节的论证 | 全部下载 PDF，逐篇精读 |
| **B** | 支撑性引用 / 背景 / 比较法 | 按需下载 |
| **C** | 边缘、与选题不直接相关 | 暂不下载，写作用到时再调 |

**禁止**：把不确定的文献丢进 A 档凑数量。宁可 A 档只有 15 篇，也不要 50 篇里一半没读。

### 阶段 3 · 精读与笔记

**人**：下载 A 档 PDF 放进项目根目录（命名 `标题_作者.pdf`）。

**AI**：**先跑一条固定命令把 PDF 批量转成文本，然后逐篇精读**：

```bash
python scripts/pdf2txt.py <项目目录>/
```

```bash
python scripts/pdf2txt.py 文献目录/ --check    # 先看哪些是扫描版需 OCR
python scripts/pdf2txt.py 文献目录/ --outdir 文献txt/
```

> ⚠️ **不要重新评估选型。** 引擎已实测选定为 **PyMuPDF**（比 pypdf 快约 12 倍，
> 提取内容完全一致，且无噪声警告），本机已装、**零安装**。
> 完整的实测数据与"不要做的事"清单见 `references/14-pdf-to-text.md`。
> 脚本会自动判定扫描版、自动跳过已提取的文件。

**只有**脚本报告"需 OCR"的文件（无文本层）才需要用 `pdfkit-py` 做 OCR，
OCR 结果**必须人工抽查**——数字、年份、文献编号最容易识别错。

产出 `文献精读笔记_<项目名>.md`（模板见 `assets/03_文献精读笔记_模板.md`）。
笔记的核心价值不是"摘要"，而是**可直接引用的原句 + 出处页码 + 对本文哪个论点的用途**。
格式见 `references/04-reading-notes-spec.md`。

> **笔记是索引，不是证据。** 正文引用前必须回读原文核验——笔记只是帮你找到该读哪一页。
> txt 里的 `===== PAGE n =====` 是 **PDF 页序**，不一定是刊物页码，标注时要区分。

### 阶段 4 · 分章写作
**AI** 动笔前，必须先向**人**提交该章的**引用清单**（本章引用哪几篇文献、分别用在哪个论断），人确认后再写。这条规则专治"虚挂引用"。

写作纪律见 `references/05-writing-discipline.md`，核心是：
- 忠于原文，不基于读书笔记瞎编原文内容；
- 不确定就停下来问，不猜；
- 文风：逻辑严密优先，不堆比喻、不追求辞藻、不写"看起来有思路的拆分分点"式浅层文字；
- **不写 AI 腔**——见 `references/11-de-ai-patterns.md`（不说大话、不模糊归因、不用"本文"）。

摘要与标题在写作收尾时单独打磨，规范见 `references/10-abstract-and-title.md`
（200—300 字、单段、禁"本文"、问题→分析→对策三段完整）。

**写作收尾必做一次标点与编号校正**（对齐人工定稿习惯，见 `references/15-human-editing-patterns.md`）：

```bash
python scripts/normalize_cn.py 论文正文_XX_v1.md            # 直引号→弯引号、半角标点→全角
python scripts/aitrace.py 论文正文_XX_v1.md                 # 顺带检查标题编号体系
```

> **为什么单列一步**：实测同一篇论文的"AI 稿 → 人工终稿"差异中，
> **标点修改量最大**——AI 稿有 634 处半角直引号 `"`，人工终稿是 0 处、
> 全部改为全角弯引号 `“ ”`。这类修改机械但量极大，应当交给脚本，不要手改。

文件命名用 `论文正文_<项目名>_v1.md → v2 → ...`，**不要覆盖旧版本**。

### 阶段 5 · 修订与体检（决定成败的阶段）

**输入**：`论文正文_XX_vN.md` + 人的修改意见（或自审报告）
**输出**：`论文正文_XX_vN+1.md`（**完整新版本，不覆盖旧版**）

```bash
# 版本健康度：字数曲线 + 塌方预警
python scripts/redundancy.py 论文_v1.md 论文_v2.md 论文_v3.md 论文_v4.md

# 单版体检：车轱辘话 / 超长句 / 臃肿段落 / 填充语 / 重复片段
python scripts/redundancy.py 论文正文_XX_v4.md

# AI 腔扫描：AI 词汇密度 / 模糊归因 / "本文"用法 / 膨胀词 / 标点与标题编号
python scripts/aitrace.py 论文正文_XX_v4.md

# 中文标点规范化：直引号→弯引号、半角标点→全角（量最大的一类修改）
python scripts/normalize_cn.py 论文正文_XX_v4.md --report   # 先体检
python scripts/normalize_cn.py 论文正文_XX_v4.md            # 再修正
```

**这一阶段的两条硬规矩**（详见 `references/09-revision-discipline.md`）：

1. **整段重写，禁止打补丁。**
   每一轮修订都产出一个人工审阅过的完整新版本。**不要写脚本 `replace(old, new)` 去改正文**——
   补丁只能改句子，改不了结构；而且每加一句解释就和上一句重复一点，补到第十轮就成了"车轱辘话"。
   脚本只用于题录解析、编号重排、格式转换；**凡是改动"人说的话"的，都必须重写。**

2. **字数曲线单版跌幅 > 40% 时必须停下来。**
   这不是"精简"，是**结构塌方**。此时应重审核心论题与章节框架，
   而不是继续在塌了的版本上修补。（对照：健康项目的曲线是 6.1k→7.3k→7.6k→8.8k→8.6k；
   出问题的项目是 9.9k→12.7k→13.7k→**5.8k**。）

**体检工具的边界（务必记住）**：它只帮你**快速定位可疑段落**，不判断论文好坏。
实测中，评价最好的论文反而报了更多"超长句"——因为思想史类的文本分析，长句是正常文风。
排比与递进式的有意重复有修辞价值，不要机械去重。

---

### 阶段 6 · 参考文献与编号校验（本流程的护城河）
```bash
# 从题录生成 GB/T 7714 条目（自动补起止页码、卷期）
python scripts/cnki2gbt.py 题录.tsv --filter 已引文献.txt -o refs_gbt.md

# 校验：正文引用编号 ↔ 文末列表 是否一一对应
python scripts/validate.py 论文正文_XX_v5.md

# 重排：按正文首次出现顺序重新编号，并同步重写文末列表
python scripts/renumber.py 论文正文_XX_v5.md --dry-run   # 先看
python scripts/renumber.py 论文正文_XX_v5.md             # 再改
```
`validate.py` 会报出：**缺失**（正文有、文末无）、**多余**（文末有、正文未引）、**跳号**、**重号**、**顺序不符**。
规则详见 `references/06-citation-and-validation.md`。

### 阶段 7 · 投稿排版
```bash
python scripts/md2docx.py 论文正文_XX_定稿.md -o 投稿_XX.docx --profile journal
```
产出符合期刊体例的 Word：标题黑体、正文宋体小四、1.5 倍行距、首行缩进 2 字符、参考文献悬挂缩进、真正的页下脚注（非尾注）。
字体与体例细则见 `references/07-docx-formatting.md`。

**已按人工终稿实测修正三个易错项**（见 `references/15-human-editing-patterns.md`）：

1. **页面必须是 A4**（21×29.7cm）。python-docx 默认模板是 **US Letter（612×792pt）**，
   实测 AI 生成的 docx 就是 Letter，人工终稿改成了 A4。脚本已强制 A4。
2. **标题用 Word 内置标题样式**（Heading 1/2），不要用"手动设字体+加粗"模拟外观。
   只有用了样式，Word 才能生成目录与文档结构图。
3. **中文标点自动规范化**（直引号→弯引号），脚本在生成 Word 前自动执行。

> 中文 Word 排版最大的坑是**中文字体不生效**——必须同时设置 `w:eastAsia` 属性。脚本已处理。

### 阶段 8 · 模拟审稿（跨窗口 + 跨模型）

> ⚠️ **这一阶段不能在本写作窗口里做。** 必须**新建独立窗口**，并**选用更强的推理模型**。
> 这不是偏好，是它有效的原因——详见 `references/08-self-review.md` 第二节。

**为什么必须隔离**：写作窗口里堆着启动包、精读笔记、每一轮的修改理由。
在同一上下文里读稿，AI 会替自己此前的判断辩护、自动补全稿件里**没写出来**的逻辑，
把"我知道这里想表达什么"误当成"读者能读懂"。**真实审稿人只看到一份稿件。**

**为什么用更强的模型**：起草要的是产出速度，审稿要的是挑错能力
（长文交叉比对、发现事实矛盾、识别论证跳步）。这一步值得投入，因为它决定后面所有修订的方向。

**隔离带来一个硬约束：交接只能靠文件。** 所以先清洗稿件、再送审：

```bash
# 生成第 N 轮审稿任务包（清洗稿件 + 审稿指令）
python scripts/mk_review_packet.py 论文正文_XX_v5.md --round 1 --anonymize
```

产出 `审稿稿_M1.md`（移除元信息块、内部文件标题、HTML 注释、状态行）与
`审稿任务说明_M1.md`（写明身份、材料边界、必查硬伤、输出格式、落盘要求）。
把这两份交给独立窗口，让它落盘产出 `审稿意见_M1.md`，再带回本窗口执行修订。

**给审稿窗口什么、不给什么**：

| 给 | 不给 |
|---|---|
| ✅ 清洗过的稿件 + 审稿任务说明 | ❌ 写作启动包、精读笔记、修改理由、对话记录 |
| ✅ 目标期刊的投稿要求 | ❌ 上一轮的审稿意见（第二轮除外，且需要求它逐条复查） |

**为什么连修改理由都不给**：如果审稿人要读到作者的意图说明才能理解某段论证，
那这段论证在稿件里就是失败的——**这正是要指出的问题**。

审稿重点查四类"低级但致命"问题：
1. **事实性硬伤**（地名、机构、年份、案例归属）
2. **口径混淆**（地方数据 vs 国家数据、不同时点数据混用）
3. **引注不达标**（缺页码、缺发布日期、正文引用的政策文件未入列表）
4. **数值嫁接**（把两个不同基准的巧合数字说成"恰相对应"）

审稿意见必须**落盘**为 `审稿意见_M<N>.md`（模板见 `assets/04_审稿意见报告_模板.md`），
按「位置 + 原文 + 问题 + 具体改法 + 依据」五要素逐条写。修订时逐条对照执行、改完打勾——
**不要把意见直接变成字符串替换对**，那样改了什么、还有哪些没改，全部不可追溯。

---

### 阶段 9 · 人投递

**人**填作者信息、按目标期刊要求微调格式、上传投稿系统。AI 不代替人做对外动作。

选刊与投稿决策见 `references/12-journal-and-submission.md`（期刊梯队、审稿人视角、投稿检查清单）。
**必须先明确这次投稿的目标**——成功率优先、含金量优先、还是截止日期优先。
这个判断只能由人做，AI 只提供期刊匹配信息。

投递前最后一遍：

```bash
python scripts/validate.py 论文正文_XX_定稿.md
python scripts/redundancy.py 论文正文_XX_定稿.md
python scripts/aitrace.py 论文正文_XX_定稿.md
python scripts/md2docx.py 论文正文_XX_定稿.md -o 投稿_XX.docx --profile footnote
```

## 五、脚本清单

| 脚本 | 作用 | 依赖 |
|---|---|---|
| `scripts/parse_cnki.py` | 解析知网题录（RefWorks / EndNote 双格式自动识别）→ TSV + 清单 | python3 标准库 |
| **`scripts/pdf2txt.py`** | **PDF 批量转文本（PyMuPDF；自动识别扫描版、增量跳过）** | PyMuPDF（本机已装） |
| `scripts/cnki2gbt.py` | 题录 → GB/T 7714 / 法学引注手册体例条目（自动补页码卷期、清 DOI） | python3 标准库 |
| `scripts/validate.py` | 只读校验正文引用编号与文末列表的一致性 | python3 标准库 |
| `scripts/renumber.py` | 按首次出现顺序重排编号、合并重复条目 | python3 标准库 |
| **`scripts/redundancy.py`** | **文稿体检：车轱辘话 / 超长句 / 臃肿段落 / 填充语 / 版本塌方预警** | python3 标准库 |
| **`scripts/normalize_cn.py`** | **中文标点规范化：直引号→弯引号、半角标点→全角、省略号** | python3 标准库 |
| **`scripts/check_pii.py`** | **发布前隐私扫描：姓名/单位/联系方式/本地路径/未发表内容** | python3 标准库 |
| **`scripts/aitrace.py`** | **AI 腔扫描：词汇密度 / 模糊归因 / "本文"用法 / 膨胀词 / 标点与标题编号** | python3 标准库 |
| **`scripts/mk_review_packet.py`** | **生成跨窗口审稿任务包：清洗稿件 + 审稿指令** | python3 标准库 |
| `scripts/md2docx.py` | Markdown → 期刊体例 Word（含真脚注） | `python-docx` |

## 六、文档清单

| 文档 | 用途 |
|---|---|
| `references/00-workflow-overview.md` | 十阶段详解与阶段间咬合点 |
| `references/01-division-of-labor.md` | 人机分工协议与提问节奏 |
| `references/02-cnki-export-guide.md` | 知网检索与题录导出（人操作手册） |
| `references/03-literature-grading.md` | 文献 A/B/C 分级规范 |
| `references/04-reading-notes-spec.md` | 文献精读笔记格式 |
| `references/05-writing-discipline.md` | 写作纪律与证据安全 ★核心 |
| `references/06-citation-and-validation.md` | 参考文献与编号校验 |
| `references/07-docx-formatting.md` | 期刊体例排版 |
| `references/08-self-review.md` | 模拟审稿自审 |
| **`references/09-revision-discipline.md`** | **修订纪律：反补丁迭代、版本健康度、车轱辘话** ★核心 |
| **`references/10-abstract-and-title.md`** | **标题、摘要（200—300字·禁"本文"·三段论）、关键词** |
| **`references/11-de-ai-patterns.md`** | **去 AI 腔：内容/语言/结构/格式四层痕迹 + 补丁产出的冗余** ★核心 |
| **`references/12-journal-and-submission.md`** | **选刊梯队、审稿人视角、投稿检查清单** |
| **`references/13-companion-skills.md`** | **配套技能协同：何时调用 web-access / browser-use / pdfkit-py** |
| **`references/14-pdf-to-text.md`** | **PDF 转文本的标准做法与选型决策记录（防止重复造轮子）** |
| **`references/15-human-editing-patterns.md`** | **人工修改习惯：从真实"AI 稿→定稿"差异中提取的规则** ★核心 |
| **`references/16-privacy-protection.md`** | **隐私保护与脱敏规范：哪些信息不能公开、发布前怎么查** ★必读 |
| `CREDITS.md` | 第三方方法与署名（含 MIT 版权声明） |

## 七、模板清单

| 模板 | 用途 |
|---|---|
| `assets/01_写作启动包_模板.md` | 阶段 0 产出，全流程恢复锚点 |
| `assets/02_文献筛选清单_模板.md` | 阶段 2 产出，A/B/C 分级 |
| `assets/03_文献精读笔记_模板.md` | 阶段 3 产出，引用句 + 页码 + 用途 |
| `assets/04_审稿意见报告_模板.md` | 阶段 8 产出，模拟审稿 |
| `assets/05_论文正文骨架.md` | 阶段 4 起点 |

## 八、配套技能

本流程不吞并工具类技能，而是约定"何时调用"（详见 `references/13-companion-skills.md`）：

| 技能 | 在本流程中的作用 |
|---|---|
| `web-access` | 核实法条现行版本、政策文件文号、案例裁判要点、媒体来源（支持登录态页面） |
| `browser-use` | 需要点击/填写/截图的网页操作；**事实取证的截图留证** |
| `pdfkit-py` | **仅当 `pdf2txt.py` 报告"需 OCR"时**，给扫描版 PDF 做 OCR |

阶段 3 的常规 PDF 提取由本流程的 `scripts/pdf2txt.py` 完成（**固定做法，零安装，不要重新选型**），
见 `references/14-pdf-to-text.md`。

## 九、每次开工前的自检

- [ ] 写作启动包是否存在且为最新？
- [ ] **核心论题能否用一句话说出来，且它在第几章被论证？**（答不上来不要开写）
- [ ] 所有要引用的文献，PDF 是否都在工作区？
- [ ] PDF 是否已用 `pdf2txt.py` 批量转文本（**别重新纠结提取方案**）？有无需 OCR 的未处理？
- [ ] 本章引用清单是否已提交人确认？
- [ ] 上次增删文献后，`validate.py` 是否跑过？
- [ ] 本轮修订是否**整篇重写**，而不是 `replace()` 打补丁？
- [ ] 字数曲线是否平稳（单版跌幅 > 40% 要停下来重审论题）？
- [ ] 摘要是否 200—300 字、单段、无"本文"、三段完整？
- [ ] `aitrace.py` 严重项是否清零（尤其摘要里的"本文"）？
- [ ] `normalize_cn.py` 是否跑过（直引号清零、弯引号左右配对）？
- [ ] 标题编号是否为「一、/（一）/1./（1）」而非「1 / 1.1」（`aitrace.py` ⑧ 项检查）？
- [ ] 末章标题是「结语」而非「结论」？标题里没有「启示」「结构」「层次」这类空词？
- [ ] 有没有"从…开始""第一个…在于""本文提炼出"这类元叙述与机械过渡语？
- [ ] 审稿是否在**独立窗口 + 更强模型**中完成？（不要在同一窗口自审）
- [ ] 送审前是否用 `mk_review_packet.py` 清洗了稿件？
- [ ] 有没有"待核""需用户核实"标记还挂着没处理？
- [ ] **若要公开/投稿：`check_pii.py` 是否跑过？**（姓名、单位、联系方式、本地路径、未发表内容）
- [ ] 公开前是否确认过：**尚未发表的论文题目与正文不得出现在公开材料里**（见 `16`）？

