obsidian

obsidian

热门

使用官方 obsidian CLI 操作 Obsidian 库:读取/搜索/创建/编辑笔记、任务、链接、属性、插件。

38万Star
8.1万Fork
更新于 2026/7/23
SKILL.md
readonly只读
name
obsidian
description

使用官方 obsidian CLI 操作 Obsidian 库:读取/搜索/创建/编辑笔记、任务、链接、属性、插件。

Obsidian

使用官方 obsidian CLI 进行 Obsidian 库操作。库文件是纯 Markdown,因此在更安全或更快速的情况下,直接编辑文件仍然可行。

要求

  • 已安装 Obsidian 1.12.7+。
  • 设置 -> 通用 -> 命令行界面已启用。
  • obsidian 已注册到 PATH。
  • Obsidian 应用正在运行;CLI 连接到运行中的应用。

检查:

obsidian version
obsidian help

macOS 注册会创建 /usr/local/bin/obsidian,指向应用捆绑的 CLI。Linux 注册会将二进制文件复制到 ~/.local/bin/obsidian

库模型

  • 笔记:*.md
  • 配置:.obsidian/;除非要求,否则避免编辑。
  • 画布:*.canvas JSON。
  • 附件:库配置的文件夹。
  • 常见多个库;当有歧义时,传递 vault="<name>"

Obsidian 桌面版在此处跟踪库:

  • ~/Library/Application Support/obsidian/obsidian.json

命令模式

obsidian <command> [name=value] [flag]
obsidian vault="Notes" search query="meeting notes" format=json

带空格的参数值需要引号。在有用时添加 --copy 以复制输出。

常用命令

打开/读取:

obsidian open file=Recipe
obsidian open path="Inbox/Idea.md" newtab
obsidian read
obsidian read file=Recipe

搜索:

obsidian search query="TODO" matches
obsidian search query="status::active" format=json
obsidian search:open query="project notes"

创建/修改:

obsidian create name="New Note"
obsidian create path="Inbox/Idea.md" content="# Idea"
obsidian append file=Note content="New line"
obsidian prepend file=Note content="After frontmatter"

移动/删除:

obsidian move file=Note to=Archive/
obsidian move path="Inbox/Old.md" to="Projects/New.md"
obsidian delete file=Note

日记/任务:

obsidian daily
obsidian daily:read
obsidian daily:append content="- [ ] Review inbox"
obsidian tasks all todo
obsidian task file=Note line=8 done

属性/链接:

obsidian tags all counts
obsidian property:read file=Note name=status
obsidian property:set file=Note name=status value=done
obsidian backlinks file=Note
obsidian unresolved verbose counts

开发者/调试:

obsidian plugin:reload my-plugin
obsidian dev:errors
obsidian dev:screenshot file=shot.png
obsidian eval "app.vault.getFiles().length"

备注

  • file=<name> 使用 Obsidian 风格的文件解析;path=<vault-relative.md> 是精确路径。
  • 对于 Obsidian 感知的更新,优先使用 CLI 的移动/删除/属性命令。
  • 对于批量文本更改,在定位到库路径后,优先直接编辑 Markdown。
  • 除非用户明确要求,否则不要依赖第三方 obsidian-cli