关于 obsidian
面向通过文件工具操作 Obsidian 库的 Skill,适合需要管理笔记的 Agent。涵盖读取、搜索、创建和编辑笔记,以及添加双向链接。
主要功能
- 01读取和列出 Markdown 笔记
- 02搜索文件名和笔记内容
- 03用文件工具创建和编辑笔记
- 04添加 Obsidian 双向链接
- 05文件操作前解析库路径
适用场景
- 01按文件名或内容查找笔记
- 02创建带相关链接的笔记
- 03向现有笔记追加章节
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nousresearch/ hermes-agent --skill obsidian安装后在 Claude Code 中输入/obsidian确认已加载。
详细介绍
Obsidian Vault
将此技能用于以文件系统为优先的 Obsidian 库操作:读取笔记、列出笔记、搜索笔记文件、创建笔记、追加内容以及添加维基链接。
Vault 路径
调用文件工具前,先使用已知或已解析的 Vault 路径。
文档中规定的 Vault 路径约定是 OBSIDIAN_VAULT_PATH 环境变量,例如从 ${HERMES_HOME:-~/.hermes}/.env 中获取。如果未设置,请使用 ~/Documents/Obsidian Vault。
文件工具不会展开 Shell 变量。不要将包含 $OBSIDIAN_VAULT_PATH 的路径传给 read_file、write_file、patch 或 search_files;请先解析 Vault 路径,再传入具体的绝对路径。Vault 路径可能包含空格,这也是优先使用文件工具而非 Shell 命令的另一个原因。
如果 Vault 路径未知,可以使用 terminal 来解析 OBSIDIAN_VAULT_PATH 或检查备用路径是否存在。路径确定后,请切换回文件工具。
读取笔记
使用 read_file 和已解析的笔记绝对路径。优先使用此工具而非 cat,因为它会提供行号和分页。
列出笔记
使用 search_files,并将 target: "files" 和已解析的 Vault 路径作为参数。优先使用此工具而非 find 或 ls。
- 要列出所有 Markdown 笔记,请在 Vault 路径下使用
pattern: "*.md"。 - 要列出子文件夹中的笔记,请在该子文件夹的绝对路径下搜索。
搜索
使用 search_files 搜索文件名和内容。优先使用此工具而非 grep、find 或 ls。
- 要搜索文件名,请使用
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 使用 [[Note Name]] 语法链接笔记。创建笔记时,请使用这些链接关联相关内容。