SuperAPI AI 工具集

obsidian-vault

办公与效率

查看项目

更新于 10-16 08:29

技能介绍

用途

该技能用于管理 JB 的 Obsidian 笔记库(vault),通过经过验证的路径、Title Case 笔记命名、[[wikilinks]] 双链和索引笔记来组织内容。它 fork 自 mattpocock/skills(skills/personal/obsidian-vault),将上游作者机器特定的 vault 路径替换为可移植的路径解析方式。

路径解析

技能明确要求:永远不要假设固定的 vault 路径。解析顺序为:

  1. JB 为当前任务显式提供的绝对 vault 路径。
  2. 非空的 OBSIDIAN_VAULT_PATH 环境变量。
  3. 记录在 TOOLS.md 中的、特定环境的 Obsidian vault 路径。
  4. 在可能的用户目录或挂载数据根目录中,对包含 .obsidian 的目录进行有边界的文件系统搜索。

在读取或写入之前,需验证解析出的目录存在且包含 .obsidian。若只找到一个 vault,则使用它;若找到多个且目标不明确,需询问 JB 使用哪一个;若一个都没找到,则报告未连接任何 vault,除非 JB 明确要求,否则不得创建 vault 或编造路径。直接进行 Markdown 文件操作时,不需要 Obsidian 处于运行状态。

组织方式

优先沿用现有 vault 中可发现的约定;否则使用以下默认规则:

  • 笔记基本保持扁平,放在 vault 根目录。
  • 笔记文件名使用 Title Case。
  • 使用索引笔记聚合相关主题,例如 Skills Index.md 或 RAG Index.md。
  • 避免仅为分类而创建新文件夹,优先使用链接和索引笔记。

链接

使用 Obsidian [[wikilinks]]。在笔记底部附近添加指向依赖项和紧密相关笔记的链接。索引笔记应是简单、可读的 [[wikilinks]] 列表。

搜索笔记

先搜索文件名,再搜索内容。优先使用 rg / rg --files;不可用时回退到 find 和 grep。示例(假设 $OBSIDIAN_VAULT_PATH 已验证):

rg --files "$OBSIDIAN_VAULT_PATH" -g '*.md' | rg -i 'keyword'
rg -il 'keyword' "$OBSIDIAN_VAULT_PATH" -g '*.md'

创建或更新笔记

  1. 解析并验证 vault 路径。
  2. 搜索是否已存在相同或用途重叠的笔记。
  3. 遵循 vault 现有的命名和组织模式。
  4. 在没有更强的本地约定时,使用 Title Case 文件名。
  5. 将笔记写成一个连贯的学习单元。
  6. 添加相关的 [[wikilinks]],并在合适时更新已有的索引笔记。
  7. 保留现有笔记中不相关的内容。

查找反向链接

搜索精确的 wikilink:

rg -l '\[\[Note Title\]\]' "$OBSIDIAN_VAULT_PATH" -g '*.md'

查找索引笔记

rg --files "$OBSIDIAN_VAULT_PATH" -g '*Index*.md'

安全约束

  • 绝不盲目覆盖已有笔记。
  • 未经明确指示,绝不创建或初始化新的 vault。
  • 当直接进行 Markdown 操作已足够时,不要求 Obsidian GUI 或 CLI。
  • 将 .obsidian/ 视为应用配置;除非 JB 明确要求更改 Obsidian 配置,否则不要编辑它。

适用场景与限制

适用于以命令行方式直接读写 Markdown 文件、维护个人知识库的场景,尤其是需要跨机器可移植路径解析、统一命名与双链组织的情况。限制方面:资料未提供具体的安装命令、依赖版本、支持的平台范围、收费或价格信息,这些内容暂未提供。