# Obsidian 项目知识库配置指南 Claude Scholar 内置了 Obsidian 研究知识库工作流,不需要 MCP,也不需要 API key。 ## 这套工作流提供什么 Obsidian 在这里不是单纯的论文库,而是研究项目的默认知识层,可以统一沉淀: - 稳定的项目背景与研究问题 - 论文笔记与文献综合 - 实验 runbook 与结果总结 - 每日研究日志、scratch notes 与同步队列 - 草稿、slides、proposal、rebuttal 等写作资产 - 不应继续留在主工作面的历史知识 ## Requirements ### Required - 一个本地 Obsidian vault 路径 - 通过环境变量设置 `OBSIDIAN_VAULT_PATH`,或在 bootstrap 时显式传入 ### Optional - 安装并打开 Obsidian Desktop,便于跳转与查看 - 可用的 `obsidian` CLI,用于 open/search/daily 等辅助操作 - `OBSIDIAN_VAULT_NAME`,便于生成更干净的 `obsidian://` 链接和 CLI targeting ## 内置 skills Claude Scholar 内置了面向项目作用域的 Obsidian KB 工作流。 默认主线最相关的是: - `obsidian-project-kb-core` - `obsidian-source-ingestion` - `obsidian-literature-workflow` - `obsidian-kb-artifacts` - `defuddle` 默认工作流不依赖 `.base`、MCP 或 API 服务。默认自动维护的图谱产物只有 `Maps/literature.canvas`;其他 `.base` 视图或项目/实验 canvas 都是 explicit-only。 ## 默认行为 当 Claude Scholar 运行在一个包含 `.claude/project-memory/registry.yaml` 的仓库里时,应默认把这个仓库视为已经绑定到 Obsidian 项目知识库,并在任务过程中自动维护它。 如果仓库还没有绑定,但看起来像研究项目(例如包含 `.git`、`README.md`、`docs/`、`notes/`、`plan/`、`results/`、`outputs/`、`src/` 或 `scripts/`),Claude Scholar 应自动 bootstrap 一个项目知识库。 ## Vault 中的默认目录结构 ```text Research/{project-slug}/ 00-Hub.md 01-Plan.md 02-Index.md Sources/ Papers/ Web/ Docs/ Data/ Interviews/ Notes/ Knowledge/ Experiments/ Results/ Reports/ Writing/ Daily/ Maps/ Archive/ _system/ registry.md schema.md lint-report.md ``` 常见生成文件包括: - `02-Index.md` - `_system/registry.md` - `_system/schema.md` - `_system/lint-report.md` - `.claude/project-memory/{project_id}.md` - 文献工作流需要时生成 `Maps/literature.canvas` ## Repo-local binding metadata 每个研究仓库都会在本地维护: ```text .claude/project-memory/ registry.yaml {project_id}.md ``` - `registry.yaml` 存 repo ↔ vault 的绑定关系 - `{project_id}.md` 存 assistant-facing 的运行时项目记忆 ## 笔记语言 生成和同步笔记时,语言按以下优先级解析: 1. `.claude/project-memory/registry.yaml` 中的项目配置 2. 环境变量 `OBSIDIAN_NOTE_LANGUAGE` 3. 默认 `en` 注意:`registry.yaml` 仍然只是 repo-local runtime binding 文件。项目内真正可见的 source of truth 仍然是 `_system/registry.md`。 支持的值: - `en` - `zh-CN` ## 主命令 - `/kb-init` — 初始化 vault-first 项目知识库 - `/kb-status` — 汇总当前已绑定 KB 的状态 - `/kb-ingest` — 将新的 source material 路由到 canonical notes - `/kb-log` — 更新当天 `Daily/` 和相关项目表面 - `/kb-sync` — 运行确定性的 KB 维护并重同步项目表面 - `/kb-links` — 修复或增强 canonical notes 之间的 wikilink - `/kb-promote` — 将稳定内容提升为 canonical note - `/kb-index` — 重建 `02-Index.md` - `/kb-lint` — 运行确定性的 KB 健康检查并重写 `_system/lint-report.md` - `/kb-archive` — 归档、detach、purge 或重命名 KB 对象 - `/kb-map` — 在默认 literature canvas 之外按需生成 artifact - `/kb-literature-review` — 从 `Sources/Papers` 合成文献并写入 `Knowledge`、`Writing`、`Maps/literature.canvas` ## 已绑定仓库的最小维护面 当仓库已经通过 `.claude/project-memory/registry.yaml` 绑定时,Claude Scholar 应保持保守维护: - 只要研究状态发生变化,就检查 `Daily/YYYY-MM-DD.md` - 只有项目顶层状态真正变化时才更新 `00-Hub.md` - 只要项目状态变化,就更新 `.claude/project-memory/{project_id}.md` - `Knowledge/`、`Experiments/`、`Results/`、`Writing/` 默认保持 agent-first,而不是每轮都自动重写 ## 可选的 Obsidian CLI 安装 官方 Obsidian CLI 是内置在较新的桌面版安装器里的。要使用 `obsidian ...` 命令: 1. 使用支持 CLI 注册的 Obsidian Desktop 版本。 2. 在 Obsidian Desktop 中打开 `Settings -> General -> Advanced`。 3. 打开 **Command line interface**。 4. 在 macOS 上确保 `/Applications/Obsidian.app/Contents/MacOS` 已加入 `PATH`(例如写入 `~/.zprofile`)。 5. 重启终端后验证: ```bash obsidian help obsidian search query="diffusion" limit=5 ``` 如果提示 `Command line interface is not enabled`,通常说明 shell 路径已经配置好,但 Obsidian 应用内的开关还没打开。 ## Lifecycle actions ### Detach - 停止自动同步 - 保留 vault 内容 - 保留 project memory 文件 ### Archive - **note archive**:把 canonical note 移到 `Research/{project-slug}/Archive/` - **project archive**:把整个项目移到 `Research/_archived/{project-slug}-{date}/` - archive 会保留历史记录;project archive 会同时禁用同步 ### Purge - 永久删除 binding、project memory 和 vault 中的项目目录 - 只有在用户明确要求永久删除时才使用 ## 可选的 CLI 与 URI 用法 Claude Scholar 可选使用官方 Obsidian CLI 与 URI: - CLI 文档: - URI 文档: ## Troubleshooting | 问题 | 解决方式 | |------|----------| | Bootstrap 缺少 vault path | 设置 `OBSIDIAN_VAULT_PATH` 或显式传入 vault path | | 项目反复重新导入 | 检查 `.claude/project-memory/registry.yaml` 是否存在且 repo root 正确 | | vault 里仍出现旧目录拓扑 | 那通常来自旧文档或旧项目生成;当前默认结构以上述目录为准,默认只自动维护 `Maps/literature.canvas` | | CLI 命令失败 | 检查 `Settings -> General -> Advanced -> Command line interface` 是否已打开;否则继续使用 filesystem-only sync | | “删除项目知识” 看起来过于危险 | 优先使用 archive 或 detach;purge 仅用于永久删除 |