搭建 Zotero + Obsidian + WorkBuddy 研究 Vault
把 Zotero 作为文献来源,把 Obsidian Vault 作为长期知识库,把 WorkBuddy 作为处理与检索入口。先搭建可验证的最小闭环,再扩展模板、索引和批处理。
先确认范围
确认以下信息;能从本机只读检查得到时不要重复询问:
- Vault 的目标路径;
- Zotero Desktop 是否已安装并包含目标分类;
- 用户希望处理的 Zotero 分类;
- 精读结果是否允许写入 Vault;
- WorkBuddy 是否已经导入并启用专门的 Zotero 精读和 Vault 检索 skills。
不要默认扫描整台电脑、处理整个 Zotero 库或覆盖已有 Vault。涉及安装软件、下载依赖、启用 Zotero 本地 API、修改 Obsidian 设置或批量写入前,遵循当前环境的授权规则。
选择工作模式
新建 Vault
读取 references/setup-guide.md,再运行:
python scripts/scaffold_vault.py --vault "/absolute/path/to/vault"
脚本只创建缺失的目录和模板,不覆盖已有文件。完成后打开生成的 工作流验收清单.md。
检查已有 Vault
运行:
python scripts/scaffold_vault.py --vault "/absolute/path/to/vault" --check
先报告缺失项和冲突,再征得用户同意后补建。保留用户既有命名和目录;不要为了匹配模板而移动或重命名现有笔记。
处理 Zotero 分类
优先调用环境中已安装的 Zotero 数据读取、深度精读和批处理 skills。不要在本 skill 中重新实现论文分析。
- 验证 Zotero 可访问。
- 精确确认分类名称和条目数量。
- 先用一篇论文做端到端试运行。
- 确认元数据、全文、批注和附件的可用情况。
- 按
templates/paper-template.md生成笔记并写入notes/;在 Frontmatter 的collection中保留 Zotero 分类。 - 更新处理日志和索引。
- 单篇验收通过后再批量处理;批处理必须支持断点续传。
如果用户只说“处理某文件夹”,先解析为 Zotero 分类,不要把系统目录误当成 Zotero 分类。
建立最小闭环
按顺序完成:
- 准备 Zotero、Obsidian 和 WorkBuddy。
- 创建或确认 Vault。
- 在 WorkBuddy 中导入并启用需要的 skills。
- 整理 Zotero 分类及可用附件。
- 用一篇论文完成精读写入。
- 在 Obsidian 中打开笔记并检查双链、属性和正文。
- 启用 Dataview 后检查索引页。
- 用 WorkBuddy 提出一个只能由 Vault 回答的问题。
- 确认答案能定位到真实笔记,而非依赖模型常识。
只有这条链全部通过,才宣告搭建完成。
使用 Dataview
把 Dataview 视为可选的展示层,而不是知识库的数据来源。
- 未安装 Dataview 时,Markdown 笔记仍必须可读。
- 索引查询依赖稳定的 YAML 属性和目录约定。
- 不要让索引文件成为唯一事实来源。
- 安装社区插件属于外部状态变更;若需代为操作,先取得相应授权。
验收
逐项检查:
- Vault 路径明确且可访问;
- 原始附件没有被移动或覆盖;
- 精读笔记写入预期分类目录;
- 精读笔记写入
notes/,且collection与 Zotero 分类一致; - 模板字段与索引查询一致;
- 中文标题、路径和 YAML 可正常解析;
- 重复运行不会重复处理已完成条目;
- 随机抽查一篇笔记,结论能追溯到全文或批注;
- Vault 检索先读索引、再定位笔记;
- 依据不足时明确说明,不用常识填补;
- 用户知道下一次如何指定 Zotero 分类并启动处理。
故障处理
- Zotero 不可访问:检查桌面端是否运行、本地 API 或连接器是否可用。
- 只有元数据没有全文:检查附件是否存在、是否已索引以及权限是否可读。
- 分类为空:核对分类名称、层级和当前库。
- Obsidian 不显示索引:检查 Dataview 是否启用、属性名是否一致。
- WorkBuddy 查不到笔记:确认任务已选择或打开 Vault 根目录,并先检查索引和实际写入路径。
- 批处理重复:检查处理日志与稳定的 Zotero item key,不用标题作为唯一标识。
不得伪造成功状态。说明已验证、未验证和需要用户操作的步骤。
提供可复制指令
批量处理时,给用户以下形式的指令,并替换分类名:
请处理 Zotero 中“【文件夹名】”文件夹里的所有论文。
请按照 templates/paper-template.md 的结构生成论文笔记,并保存到 notes 文件夹。
查询时,给用户以下形式的指令,并替换问题:
请基于 notes 文件夹中的论文笔记回答:
【问题】
要求:
1. 只基于当前论文库回答;
2. 每个结论后标注来自哪篇论文;
3. 按方法类别整理;
4. 如果论文库中证据不足,请明确说明。