运行时依赖
安装命令
点击复制技能文档
Obsidian WSL 技能
基于 notesmd-命令行工具(v0.3.0+,原 obsidian-命令行工具)操作 Obsidian 知识库。notesmd-命令行工具 无需 Obsidian 运行即可工作,适合脚本、自动化和纯终端环境。
环境配置 知识库发现
notesmd-命令行工具 通过 ~/.config/obsidian/obsidian.json 发现知识库。在有 Obsidian 桌面端的系统上会自动生成;在无头服务器或无 图形界面 的环境中需手动创建:
{ "vaults": { "my-brAIn": { "path": "/home/user/vaults/my-brAIn" } } }
键名可以是任意唯一 ID,命令行工具 使用目录名作为知识库名称 路径必须为绝对路径,不支持 ~ 展开 支持多个知识库: { "vaults": { "personal": { "path": "/home/user/vaults/personal" }, "work": { "path": "/home/user/vaults/work" } } }
设置默认知识库 notesmd-命令行工具 设置-default "my-brAIn" notesmd-命令行工具 设置-default --open-type editor
编辑器配置
无 Obsidian 图形界面 时,建议配置默认使用终端编辑器:
导出 EDITOR="vim" # 或 code、nano 等 notesmd-命令行工具 设置-default --open-type editor
所有支持 --open 的命令均可加 --editor(或 -e)在终端编辑器中打开。
常用命令速查 查看状态 notesmd-命令行工具 print-default # 查看默认知识库名称和路径 notesmd-命令行工具 print-default --path-only # 仅输出路径 notesmd-命令行工具 列出-vaults # 列出所有已注册知识库
搜索 notesmd-命令行工具 搜索 # 交互式模糊搜索笔记名称 notesmd-命令行工具 搜索 --editor # 搜索并在编辑器中打开 notesmd-命令行工具 搜索-content "关键词" # 搜索笔记内容 notesmd-命令行工具 搜索-content "关键词" --no-interactive # 非交互,输出 grep 风格结果 notesmd-命令行工具 搜索-content "关键词" --格式化 json # JSON 输出,适合脚本
列出目录 notesmd-命令行工具 列出 # 列出知识库根目录 notesmd-命令行工具 列出 "子目录名" # 列出子目录内容
读取笔记 notesmd-命令行工具 print "笔记名" # 输出笔记内容 notesmd-命令行工具 print "路径/笔记名" # 按路径输出
创建笔记 notesmd-命令行工具 创建 "笔记名" # 创建空笔记 notesmd-命令行工具 创建 "文件夹/笔记名" --content "内容" # 创建带内容的笔记 notesmd-命令行工具 创建 "笔记名" --content "内容" --应用end # 追加内容 notesmd-命令行工具 创建 "笔记名" --content "内容" --overwrite # 覆盖已有笔记 notesmd-命令行工具 创建 "笔记名" --content "内容" --open --editor # 创建并在编辑器中打开
中间目录会自动创建。
移动/重命名 notesmd-命令行工具 move "旧路径" "新路径" # 移动或重命名,自动更新知识库内所有链接 notesmd-命令行工具 move "旧路径" "新路径" --open --editor # 移动后在编辑器中打开
删除 notesmd-命令行工具 删除 "笔记路径" # 删除笔记(谨慎使用)
DAIly Notes notesmd-命令行工具 dAIly # 创建/打开今日笔记 notesmd-命令行工具 dAIly --editor # 在编辑器中打开
如果知识库中存在 .obsidian/dAIly-notes.json,命令行工具 会读取其中的 folder、格式化、template 配置。
Frontmatter 管理 notesmd-命令行工具 frontmatter "笔记名" --print # 查看 frontmatter notesmd-命令行工具 frontmatter "笔记名" --edit --key "状态" --value "done" # 编辑字段 notesmd-命令行工具 frontmatter "笔记名" --删除 --key "draft" # 删除字段
直接操作文件系统
对于简单读写操作,直接操作知识库中的 .md 文件同样有效,Obsidian 会自动检测变更:
读取:直接读取知识库中的 .md 文件 编辑:直接修改文件 注意:直接文件操作不会自动更新 wikilinks,如需重命名请使用 notesmd-命令行工具 move 排除文件
命令行工具 尊重 Obsidian 的排除设置(设置tings -> Files & Links -> Excluded Files):
搜索:排除的笔记不出现在模糊搜索中 搜索-content:排除的文件夹不会被搜索 其他命令(open、move、print、frontmatter)仍可访问排除的文件