论文全文精读、证据原子分析与 Zotero 原生批注
插件级轻量故障协作
[!important]- 快路径与慢路径
- 正常成功路径不写故障库,也不包装每次工具调用
- 组件已知脆弱、准备复用历史方案或路线刚失败时,才运行
incident_registry.py preflight:先查项目守卫指定的本地事故库,再查公共事故库只读- 任意异常、非零退出、权限拒绝、结果缺失或验证失败立即
capture-event;记录后才换路,同签名/参数/路线重试前通过 retry guard- 最终回答前扫描真实工具结果;预期 TDD RED、受控探针和用户取消不算产品事故
- 只有本轮事件发生变化、复用结果新增或回归状态变化才查候选;候选非空才加载
promotion_audit.py- 图/表/公式读取的 verified 方案必须带
quality_guard:视觉模型直接读取渲染图像;ocr-downgrade、text-ocr-then-read、paddleocr-fallback、tesseract-fallback均为禁止降档路线- 插件任务开始或 Skill 清单变化时读取插件根目录的
references/skill-collaboration-contract.md;同一任务内拓扑和来源哈希未变时不重复枚举- 本 Skill 的效果验证只由下文证据对象与最终门承担,不在故障协作层重复运行
触发、职责与权威读取
本 Skill 在 zotero-obsidian-paper-import 已核验正式版本与 application/pdf 附件后执行。凡生成或修改简体中文论文笔记,固定经过 专业语义草稿 → global.renhua → obsidian-note-style:本 Skill 先依据全文证据写清事实与方法逻辑,global.renhua 负责中文表达和陌生复合词释义,obsidian-note-style 最后负责知识归属与格式。格式化阶段新增实质性正文时,新文字重新经过 global.renhua。本 Skill 仍独占全文证据、作者调研、论文强调语义、PDF 定位、Zotero 原生批注和完成门。
用户说“使用我的 Obsidian 语言风格”时,必须调用 obsidian-note-style;该触发语不改变上述先经 global.renhua 润色、再由 obsidian-note-style 定稿的固定顺序。
按当前任务分支完整读取一次下列直接参考;不预载无关分支,直接参考不得继续路由第二层参考:
| 分支 | 唯一直接参考 |
|---|---|
| 身份、版本、状态、固定总流程、职责边界 | references/identity-state-and-capability-contract.md |
| 全文遍次、逐页台账、研究问题、公式、图表、实验和知识归属 | references/full-reading-protocol.md |
| 证据原子、评论、关系组、双坐标、Zotero 原生批注 schema | references/pdf-annotation-contract.md |
| 一作/共同一作/通讯作者外部证据 | references/author-research-contract.md |
| 唯一论文 Callout、强调语义、个人理解与 Sheets Extended | references/obsidian-callout-template.md |
| 原生 bridge、首页记忆句、回链、插件安装与一次 UI 门 | references/zotero-memory-link-and-ui-contract.md |
| Windows 路线、依赖、增量/最终验证、清理与交付 | references/runtime-validation-and-cleanup.md |
本文件和上述参考共同构成权威合同;架构清单、authority map、计划、测试与报告只作记录,不能替代原要求。
单一证据主链
每个对象在同一证据边界生成并验证一次,后续只消费对象 ID、来源哈希和状态。PDF、笔记 block、manifest、Zotero 快照、作者来源、视觉集合、用户内容或风险实质变化时,只刷新受影响对象及下游;不能进入新章节就重新验证全链。
| 对象 | 唯一内容 | 消费门 |
|---|---|---|
PAPER_BASELINE |
身份、版本、PDF/backup 哈希、状态、block、个人内容、能力预检 | 是否允许全文处理 |
READING_LEDGER |
schema v4 每页正文/公式/图/表/图注与 unresolved | 全文完成 |
CLAIM_EVIDENCE_MAP |
研究问题、公式、实验五槽、证据原子、知识缺口 | 笔记与批注选择 |
AUTHOR_EVIDENCE |
指定角色、身份消歧、字段、URL、日期、不确定性 | 三处作者交付 |
NOTE_PACKAGE |
唯一 Callout、记忆句、精确链接、个人内容、视觉交接 | Obsidian 验收 |
ANNOTATION_PLAN |
稳定 ID、quote/quads、area 双坐标、颜色、评论、允许 keys | bridge preflight/apply |
NATIVE_READBACK |
digests、回执、native keys、逐字评论、可编辑/删除/无锁、回链行为 | 原生效果门 |
PAPER_ACCEPTANCE |
新鲜最终全检、架构、清理和状态结论 | 最终交付 |
不可妥协的内容与质量硬门
身份、全文与状态
- 摘要、网页、旧笔记和二手综述只定位,不能替代 PDF;优先从 Zotero PDF 跳转取得本地 PDF,本地 PDF 可用时,不先抓取网页,工具失败不等于论文不存在
- DOI、标题、作者、版本冲突,非
application/pdf,页数/哈希不符,无可信 annotation-free backup,Snapshot/残缺 OCR 冒充全文,任一立即停止并保持待精读 - 正式全文能力以可逐页读取的
full-textPDF 为准;身份、附件类型、协议能力预检与权限预检只在PAPER_BASELINE建立时验证一次,后续复用其哈希和状态 - 读取真实 ProductVersion;本合同在 Zotero 9.0.6 验证,其他 Zotero 9 小版本重新做一次原生批注读回测试
- overwrite 前必须有 SHA-256 可核验的 annotation-free、干净 backup;任何定义、公式、符号、下标、数量、几何形状、更新顺序、条件和边界都回到原 PDF,不能确认就写“未从原文确认”,不能改写成更强的绝对结论,do not invent
- 从第 1 页到最后一页完成三遍全文阅读;视觉直读公式、图表、图注、坐标轴、图例和排版关系,不得用文本模型 OCR 冒充完成;补证和验证不增加新的全文阅读轮次
- 未完成时至少每隔 20 分钟汇报遍次、页码、已查公式/图/表、当前环节和剩余门;汇报不能替代验证或催生粗读
- 只有所有证据、笔记、知识/视觉、原生批注、回链、清理和最终门通过后,才从
待精读改为已AI全文读
阅读、公式、图表与实验
READING_LEDGER每页恰好一条;新建根对象必须声明schema_version: 4,v3 仅兼容读取- 每页的
equations_checked、figures_checked、tables_checked、captions_checked必须为checked|not_present;unresolved为空。图存在时figure_audits非空,不存在才允许not_present - 每幅
Fig.和每个 panel 实际视觉检查:标题/图注、正文引用、轴/单位/范围/刻度、图例、颜色/线型/形状、模块/箭头/数据流、趋势/数值/异常/失败及正文—公式—表一致性;不能以 OCR、空列表或not_present掩盖未读 - 研究问题必须回答 Interesting、Solvable、Current level、Impactful,明确“新问题新方法 / 新问题老方法 / 老问题新方法 / 老问题成熟方法的新组合”,并完成 What / Why / How、Pros / Cons、如何拓展与利用
- 控制、感知和机器人论文的每个主链模块必须按八项合同解释:模块任务、输入来源、输入内容、实际处理顺序、输出的物理意义、下游接口、训练阶段与部署阶段的差异、条件与失效边界。不能用术语替代解释,不能把“射线距离”“速度目标”“PPO 选速度”“几何投影”等词组当成已经说明;原文未给出的单位、维度、坐标系、频率或实现细节写“论文未报告”
- 问题评估的稳定字段为
Interesting(问题值得研究吗)、Solvable(问题可解吗)、Current level(当前研究水平)、Impactful(问题影响大吗)和新旧问题/方法分类;字段名不得被摘要性改写替代 - 每个主张先确定唯一语义归属:在最合适的栏目完整陈述一次,其他栏目只新增事实、机制、条件、证据或边界;不得用同义改写再次陈述,也不得以“去重”为由删除数字、假设、局限或复现缺口
- 每个公式解释整体作用、逐符号、从左到右计算与方向/正负、系统位置、设计原因、成立条件/失效方式。内部证据记录保留
(PDF第 N 页)(公式 X);完成态已AI全文读Callout 不显示 PDF 页码,只保留准确的公式、图、表和算法编号。三个以上待解释符号或解释超过两条列表时用嵌套折叠,不能只标编号或写“鼓励安全” - 知识点递进解释合同:必须先写
第一层:直觉理解,再写第二层:公式与原理,坚持“先直觉、后数学”;不得只用图代替公式。第二层给公式原文、逐符号解释、最小推导,以及数值代入或极端情形,再回扣直觉;够用即止,同一结论只说一次。组织顺序固定为“正文说明 → 现有图 → 读图与图例 → 公式与原理”,论文 Callout 只保留本文用途 - 每个主张记录 Claim、Evidence、Condition、Status、Boundary;严格区分
supported | partially_supported | not_established、论文报告、可以推断、尚不能证明、论文明确承认的局限、未报告与疑点 - 每项实验分开保存方法名、baseline、结果、条件、边界、复现缺口、作者局限和参考文献角色,写入前复述“对象—条件—样本—结果—边界”;N/N 成功先忠实写结果,缺失项不能抹掉正面证据
- 高亮和批注不设置每页、每篇、每类型数量上下限,评论不设置字符上限;数量不是目标,证据原子必须脱离上下文仍能说明问题、机制、证据、条件和边界
证据原子、评论与作者
- selection mode 保留
semantic-span、key-term、key-metric、key-link、author-name、area;关系组默认connector_mode: shared-id,至少一个 predicate 和一个 entity/effect/condition。只有 Zotero 原生 Ink 的可编辑、可删除、坐标、刷新和不遮字全部实证后才用connector_mode: native-ink - 关系型证据原子必须形成“技术实体 → 谓词/动作 → 作用对象/效果 → 条件/边界”;连接词只用于定位候选,保留否定、范围、模态、数值限定。
we propose只作话语脚手架,success rate remains必须连同数值、条件和边界;测试锚点incurs cumulative latency、lack theoretical safety guarantees、out-of-distribution generalization failures、tightly couples reinforcement learning with model-based safety mechanisms、alleviates local minima in Euclidean distance objectives均须按完整关系抽取,不能截成孤立短语 - 普通评论第一行必须先给结论并使用
结论:,作者评论第一行必须外部信息:;至少再有一行说明通过什么原理、构建什么结构、实现什么效果,或给出意义/复现/边界/疑点/定位/来源。评论不设置字符上限,与 annotation manifest 的annotation_comment逐字相等,自动翻译后缀为 0;原批注、翻译后缀与新批注分别计数 - 只调查论文明确的一作、共同一作和通讯作者,多人全部调查;先消歧,再核验教育、在读阶段/年级、机构、实验室、职称、导师、研究、项目、成果、荣誉、会籍、动态计量、QS 版本和谨慎影响力判断
- 一作/共同一作必须明确核验硕士生还是博士生、具体年级,或标为已毕业/当前非在读;无法核验写“未公开核验”,不得根据入学年份自行推算
- 每个外部事实记录 URL 与
as_of;Google Scholar、机构页与其他来源属于“外部核验,不是论文正文事实”,QS 必须注明版本。403、429、CAPTCHA、Access Denied、登录墙不能作唯一入口。未知写not_publicly_verified,不能写 0、空串或按入学年推算;替代平台指标写真实平台,不能冒充 Google Scholar - 作者信息只交付到当前论文折叠“作者与团队背景”、PDF 作者姓名批注、内部作者调研 JSON;不得创建独立作者/团队笔记、人物库或作者知识枢纽
Obsidian Callout、知识与视觉交接
- 每篇标题下只保留一个
> [!note]-。来源第一行的下载链接、DOI、Zotero key、等级与标点原样保留;唯一^block-id必须单独放在论文标题下方、主 Callout 之前 - 来源下一行写与 PDF 首页逐字相同的“一眼记住这篇论文”;允许使用 1–3 个完整句子,先让初学者知道谁接收什么、做什么、输出给谁,再收束原理—结构—效果。它不是术语口号,不能为了短而省略主语、对象归属或关键数据来源
- 论文 Callout 强调语义合同:粗体只作短扫描锚点,
==...==必须可独立复述;绿色只标有全文证据支撑的正面结果,红色标未提供链接、参数、硬件或解释等明确缺口/冲突/不成立。颜色与==...==不叠加,同一语义一个主强调,不得为了凑齐颜色而使用 - 必须有明确
**作者贡献**;只有字段名加粗,逐项给贡献核心短语、新增内容、相对改变、正文/公式/图/实验定位和不能推出什么;分开写作者声称的贡献与全文证据支持的真实增量 知识索引仅链接既有或经obsidian-note-style验收的正式知识点,使用[[笔记#标题|别名]]或[[笔记#^block-id|别名]]精确定位;支撑链接(supporting links)必须能回到论文页码、公式、图表或可信外部来源。证据选择不设死板名单,以独立信息价值决定是否保留- 用户个人理解区强制合同:每次生成完成态 AI Callout 时,必须在同一次写入中同步生成或核验紧随其后的
> [!personal]+ 个人理解,不得出现只有 AI Callout、没有个人理解 Callout。两者之间源码必须恰好保留一个真实空行;新建时内部必须为空,已有个人内容逐字保留。它在阅读模式默认展开,AI 不得生成、润色、移动或覆盖,不得拆分到单独笔记。个人 Callout 末行到下一篇###标题前的源码空行必须为 0,即下一篇###标题前不保留空行,可见间距必须为 0 - 若 Sheets Extended 已启用且目标含普通 Markdown 表格,局部合并
disable-sheet: true;不得全局禁用/卸载,不机械加到无表笔记 - 基础概念、扩展概念与论文特定用法形成的概念前置缺口、公式解释闭环和示意图需求交给
obsidian-note-style,附 PDF 页码、公式号、图号或原文定义;本 Skill 不得自行创建零散知识文件 - 笔记正文和知识链接全部写入完成后,每篇论文只触发一次
obsidian-note-style;处理中不触发,逐段写入和单图完成时不重复。它审计 Vault 全部正式知识点,不限于当前论文,每点独立0或1张,已有合格图快速跳过;缺图调用draw-style的八项硬质量门槛,媒体引用审计与孤儿图片清理由obsidian-note-style独占负责 - 视觉审计和必要配图完成前,不得把本次论文处理标记为完成;唯一归属和全部链接也必须通过
定位、Zotero 原生化与 PDF 回链
- 文本严格
quote → quads → actual_text:零匹配、多匹配未用 context/occurrence 消歧、读回不等即停止;普通文本禁止手填矩形 - area 只用于公式布局、算法框、图、表和视觉关系;同时保存
pymupdf-page-top-left的rect、page_box、page_rotation和pdf-page-bottom-left的zotero_rect - 外部暂存审计必须识别 PDF /Square 与 PDF /Ink,但二者不得当作 Zotero 原生路线:文本 quads 最终映射为
highlight,area 映射为image。area 的两矩形均在 page box 内、面积一致,坐标往返的正反变换最大误差 ≤ 0.01 pt;旋转页单独验证;每个 area 渲染并人工核对 - 先由
build_zotero_native_annotation_plan.py构造计划,再由zotero_local_bridge_client.py调用zotero-local-bridge;固定health → preflight → apply → readback,完成原生读回。同一计划/digests/回执原子执行。409安全停止重建计划,503fresh health 恢复后最多重试一次;禁止前台脚本和鼠标,禁止直接写 SQLite,禁止重复 apply - 最终
storage_mode: zotero-native、可编辑、可删除、无锁、位置准确,未知用户批注变化为 0;只按 native key、完整指纹和 allow-key 精确删除 - PDF 本体最终 embedded/external markup 为 0;首页记忆句和回链从干净 backup 单次生成,至少 150–200 dpi 渲染,并固定在 PDF 首页左上角;在 Zotero 内置阅读器点击后返回 Obsidian的对应精读位置
- 回链固定
https://obsidian-link.invalid/open?uri=<percent-encoded obsidian://open?...>,bridge_url_count = 1、direct_obsidian_uri_count = 0;真实点击到当前论文 block,无外部协议确认框且 Edge 未调用 - 禁止把直接 Obsidian URI 写入 PDF;
plugin_installation_normalized与bridge_click_verified是两个独立门。回链行为门槛只允许协议 handler 的launchWithURI(...),明确禁止Zotero.launchURL(obsidianURI);不能用安装缓存、不可见会话或“窗口打开”冒充真实行为,离线原位升级后仍须验证,失败状态记ui_gate_pending
Windows、删除、增量验证与最终门
- Python 先锁解释器与 import;低风险 allow-list 至少
yaml → PyYAML、fitz → PyMuPDF。缺依赖才用同一解释器python -m pip install一次,安装后重新 import,不静默切环境 - 中文统一 UTF-8;优先
Python -X utf8,PYTHONPYCACHEPREFIX长路径用python -B、内存 compile 或已验证短路径,不留__pycache__ - split writable roots、PowerShell 乱码、临时目录、Poppler、GUI 权限和同卷替换按运行参考的固定路线;同签名禁止循环
- 对
0x80070005、PowerShell/GUI 权限与不可见会话采用固定故障路由;Computer Use 仅承担一次逐图结构化审计或必要 UI 门,默认无界面且不得抢占鼠标。原生 Ink、回链或 UI 失败必须失败闭合,交给global.collect-bug-update-accelerate记录与路由,不能降级成非原生结果 - 只删除本轮/明确旧批次 AI 批注和目标运行目录内可再生产物、中间文件;旧批注、未知用户批注、个人理解、原件、backup、其他论文运行数据和代码依赖均保护。知识副本先合并独有内容、验证链接,再按绝对路径白名单删除并重建索引
scripts/validation_gate_cache.py仅用于中途增量验证:缓存输入指纹“已通过且输入未变”的成功门;失败门槛、输入变化和受影响的下游门槛必须重跑,不重复运行无影响门- 默认不限制完成时间。最终交付前忽略中途成功缓存,从新鲜输入完整运行一次最终全量验证:Python 编译/
python -B、Skill 本地测试、插件全测、manifest/坐标/原生效果、行为点击、聚合说明来源标记与清理
执行与交付
按 PAPER_BASELINE → READING_LEDGER → CLAIM_EVIDENCE_MAP → AUTHOR_EVIDENCE → NOTE_PACKAGE → ANNOTATION_PLAN → NATIVE_READBACK → PAPER_ACCEPTANCE 执行。NOTE_PACKAGE 写回前完成 专业语义草稿 → global.renhua → obsidian-note-style,但专业事实与未报告边界仍由本 Skill 负责。read-paper-analysis-highlight 唯一负责批注选择、评论、颜色、坐标转换;zotero-local-bridge 只负责协议承载与原生写入,global.collect-bug-update-accelerate 只记录并路由故障。最终结果必须让每个关键问题、方法、证据、图表、作者信息和边界回到准确位置,批注仍可由用户编辑与删除;任何必需门失败都保持 待精读。
本文件及其强制 reference 是唯一 canonical。规则或直接参考集合变化后,只刷新 Skill完整指南/research/read-paper-analysis-highlight-完整指南.md;用途、输入输出、协作或边界变化时,再更新《Skill 与 Plugin 的总体系说明》对应段与自动关系区。派生说明不得替代或反向覆盖 canonical。架构层级或直接参考集合只有在用户明确批准、架构版本提升并通过迁移测试后才可改变;普通内容增删不得顺带改变架构。