Obsidian 笔记管理
在 Obsidian 知识库中读取、搜索、创建和编辑笔记
Obsidian Vault
使用此技能进行以文件系统为核心的 Obsidian 知识库操作:读取笔记、列出笔记、搜索笔记文件、创建笔记、追加内容以及添加双向链接。
知识库路径
在调用文件工具之前,请使用已知或已解析的知识库路径。
文档约定的知识库路径约定是 OBSIDIAN_VAULT_PATH 环境变量,例如来自 ~/.hermes/.env。如果未设置,则使用 ~/Documents/Obsidian Vault。
文件工具不会展开 shell 变量。不要将包含 $OBSIDIAN_VAULT_PATH 的路径传递给 read_file、write_file、patch 或 search_files;请先解析知识库路径,再传递具体的绝对路径。知识库路径可能包含空格,这也是优先使用文件工具而非 shell 命令的另一个原因。
如果知识库路径未知,可以使用 terminal 来解析 OBSIDIAN_VAULT_PATH 或检查默认路径是否存在。一旦确定了路径,切回文件工具。
读取笔记
使用 read_file 并传入解析后的笔记绝对路径。优先使用此方法而非 cat,因为它提供行号和分页功能。
列出笔记
使用 search_files 并设置 target: "files" 和已解析的知识库路径。优先使用此方法而非 find 或 ls。
pattern: "*.md"。搜索
使用 search_files 进行文件名和内容搜索。优先使用此方法而非 grep、find 或 ls。
search_files 设置 target: "files" 和文件名 pattern。search_files 设置 target: "content",内容正则作为 pattern,如果只想匹配 Markdown 笔记则设置 file_glob: "*.md"。创建笔记
使用 write_file 并传入解析后的绝对路径和完整的 Markdown 内容。优先使用此方法而非 shell heredoc 或 echo,因为它避免了 shell 引号问题并返回结构化结果。
追加内容
在不别扭的情况下,优先使用原生文件工具工作流:
read_file 读取目标笔记。patch 进行锚定追加,比如在已有标题后添加新节,或在已知尾部块之前追加。write_file。使用 patch 进行锚定追加时,将锚点替换为锚点加上新内容。
对于没有稳定上下文的简单追加,如果 terminal 是最清晰的方案,可以接受。
定向编辑
当当前内容能提供稳定上下文时,使用 patch 进行精确笔记修改。优先使用此方法而非 shell 文本改写。
双向链接
Obsidian 使用 [[笔记名称]] 语法链接笔记。创建笔记时,善用此语法关联相关内容。
安装指南
复制下方命令,在终端运行即可安装:
使用指南
安装完成后,在对话框中直接使用此技能。