Obsidian 论文目录导入 Zotero 并建立双链
插件级轻量故障协作
- 本 Skill 负责 DOI—正式 PDF—Zotero 父条目/附件—Obsidian 双链的事实与流程;不确定时暂停,不猜标识、版本或 URI
- 用户要求“使用我的 Obsidian 语言风格”“按我的 Obsidian 笔记风格写”或语义等价表达时,先调用
obsidian-note-style;表达可调整,本文的事实、状态和安全合同优先 - 插件任务开始或 Skill 清单变化时读取插件根
../../references/skill-collaboration-contract.md并核对职责;同一任务内拓扑未变不重复读取 - 正常成功路径不写故障库。仅在组件已知脆弱、复用历史方案或路线刚失败时运行
incident_registry.py preflight:本地事故库优先,未命中才查公共事故库只读 - 任意异常、非零退出、权限拒绝、结果缺失或验证失败均先
capture-event,再改路线;原路线重试前通过 retry guard。最终回答前扫描实际工具结果并补记;预期 TDD RED、受控探针和用户取消不算产品事故 - 只有本轮事件发生变化或历史方案产生新复用结果时才检查候选;候选非空才加载
promotion_audit.py - 本 Skill 的效果验证:DOI/标题/年份身份一致;Zotero parent 与 stored PDF 附件可打开且去重无误;Obsidian 的
zotero://与返回链接命中正确对象
权威与按需加载
SKILL.md 与下列三个一级 reference 共同构成本 Skill 的权威要求。先判断任务类型,再加载对应文件;全批任务加载三者,每个 reference 只加载一次。reference 之间不形成强制加载链。
| 当前任务 | 本轮直接加载 |
|---|---|
| 编号、DOI、出版身份、PDF 来源或合法获取 | references/identity-and-acquisition-contract.md |
| Zotero 查重、父条目、附件、合并、写入或回滚 | references/zotero-write-safety-contract.md |
| 状态、Obsidian 回链、批处理报告、失败防护或交付验收 | references/state-verification-and-reporting-contract.md |
不可越过的运行门
- 身份:DOI、正式页面、PDF 版本或 Zotero key 任一不确定即暂停;不猜 DOI、版本、父 key、附件 key 或 URI
- 唯一性:在详细合同规定的每个刷新边界分页读取全库,同时审计规范化 DOI、题名身份和 Obsidian 编号;任一组多父条目即
duplicate_merge_required - 写入:零命中才创建,唯一命中才复用;写前必须有 dry-run 与父 key 写前快照,写入后必须再次分页读取
- 附件:仅正式版本、
%PDF-魔数、身份匹配且本机 API 反查为application/pdfstored attachment 才成功 - 回链:实际附件 key、父子关系、内容类型和 URI 全部反查后才改 Obsidian;父 key 不得充当附件 key
- 权限:不绕过付费墙、验证码、访问控制、版权或限速;403、429 或登录页立即退避或转获授权流程
- 架构:批处理前核对 canonical 入口、协作合同与插件清单;冲突时停止导入、下载、写入和回链
单证据门与刷新边界
同一门内只生成一份权威证据,后续步骤引用证据 ID,不重复执行同一验证:
| 证据 ID | 一次生成后可供 |
|---|---|
IDENTITY_EVIDENCE |
DOI 接纳、正式元数据、PDF 版本核验 |
PREWRITE_LIBRARY_SNAPSHOT |
写入门内的 DOI/题名/编号三组审计、dry-run 与父 key 快照 |
POSTWRITE_RECONCILIATION |
写后唯一性、children、附件 content type、URI、状态与回链 |
达到新的强制取证边界时必须刷新,不得跨边界复用旧证据。批次开始、每次新论文搜索或重跑、正式来源抓取完成、每次 saveItems 紧前、每次写后、合并或回滚后都重新取证;“单证据”只消除同一门内的重复读取与解释。
执行状态机
- 核对 canonical 入口与插件协作合同
- 提取编号、来源并验证连续性
- 生成
IDENTITY_EVIDENCE - 刷新
PREWRITE_LIBRARY_SNAPSHOT;零/一/多父条目分别创建、复用或阻断 - 生成 dry-run;每批最多 10 条
- 创建或复用父条目;合格 PDF 上传为 stored attachment
- 生成
POSTWRITE_RECONCILIATION;新增重复只按回滚合同处理本次唯一可证明的误建项 - 仅用已反查的真实附件 key 回填
zotero://open-pdf - 按详细状态合同落盘,未完成不得写成成功
- 运行单元测试、API/Markdown/架构审计,按状态分类报告
与论文精读样式的职责边界
论文 Callout 的强调语义不属于本 skill。本 Skill 只负责身份、父条目/附件、回链、状态和幂等性;来源行仅保留正式链接、DOI、Zotero PDF、状态与真实附件 key。全文证据、作者贡献和高亮语义移交 read-paper-analysis-highlight;Markdown/HTML、全称—简称、Callout 与 WikiLink 规范移交 obsidian-note-style。导入后如需精读则显式调用前者;如需写入或整理 Obsidian,由其协同后者。
交付判定
交付前确认:所需 reference 各加载一次;每个刷新边界均有新证据;十种状态和 write_rolled_back_duplicate 未合并;父条目、附件、DOI、content type、文件、URI 已对账;实际失败已闭环;canonical 入口与聚合说明来源标记有效。
canonical 与聚合说明
本文件及其三个强制 reference 是本 Skill 的唯一权威来源。规则或 reference 变化后,只刷新 Skill完整指南/research/zotero-obsidian-paper-import-完整指南.md;用途、输入输出、协作或边界变化时,再更新 architecture-manifest.json、协作合同与《Skill 与 Plugin 的总体系说明》对应段。派生说明不得反向覆盖 canonical。