Obsidian
在 Obsidian 库中读取、搜索、创建和编辑笔记。
技能元数据
| 来源 | 内置(默认安装) |
| 路径 | skills/note-taking/obsidian |
| 平台 | linux, macos, windows |
参考:完整的 SKILL.md
以下是在此技能被触发时,Hermes 加载的完整技能定义。这是技能激活时智能体所看到的指令。
Obsidian 库
将此技能用于文件系统优先的 Obsidian 库工作:读取笔记、列出笔记、搜索笔记文件、创建笔记、追加内容以及添加 Wiki 链接。
库路径
在调用文件工具之前,请使用已知或已解析的库路径。
文档中记录的库路径约定是 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 更优。
- 要列出所有 Markdown 笔记,请在库路径下使用
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 的 heredocs 或 echo 更优,因为它避免了 shell 引号问题并返回结构化结果。
追加到笔记
在不过于麻烦的情况下,优先使用原生文件工具工作流:
- 使用
read_file读取目标笔记。 - 当有稳定上下文时(例如在现有标题后添加一节,或在已知的尾部块前追加),使用
patch进行锚定追加。 - 当重写整个笔记比构建脆弱的 patch 更清晰时,使用
write_file。
对于使用 patch 的锚定追加,用“锚点 + 新内容”替换锚点。
对于没有稳定上下文的简单追加,如果这是最清晰安全的选项,terminal 是可接受的。
定向编辑
当当前内容为您提供稳定上下文时,使用 patch 进行集中的笔记更改。这比使用 shell 进行文本重写更优。
Wiki 链接
Obsidian 使用 [[Note Name]] 语法链接笔记。创建笔记时,请使用这些语法来链接相关内容。