用途
Obsidian CLI 用于通过命令行与正在运行的 Obsidian 实例交互。使用它需要 Obsidian 处于打开状态。
主要能力
它可以读取、创建、搜索和管理笔记、任务、属性等内容,也支持插件与主题相关的开发调试操作。
使用方式
命令参考
运行 obsidian help 可查看所有可用命令,该输出始终保持最新。完整文档见:https://help.obsidian.md/cli
语法
参数通过 = 传值,带空格的值需要加引号:
obsidian create name="My Note" content="Hello world"
标志(flag)是不带值的布尔开关:
obsidian create name="My Note" silent overwrite
多行内容使用 \n 表示换行,\t 表示制表符。
文件定位
许多命令接受 file 或 path 来指定目标文件,两者都不提供时使用当前活动文件。
- file=<name> — 按 wikilink 方式解析(只需名称,无需路径或扩展名)
- path=<path> — 从仓库根目录开始的精确路径,例如 folder/note.md
仓库定位
命令默认作用于最近聚焦的仓库。可将 vault=<name> 作为第一个参数来指定仓库:
obsidian vault="My Vault" search query="test"
常用模式
obsidian read file="My Note" obsidian create name="New Note" content="# Hello" template="Template" silent obsidian append file="My Note" content="New line" obsidian search query="search term" limit=10 obsidian daily:read obsidian daily:append content="- [ ] New task" obsidian property:set name="status" value="done" file="My Note" obsidian tasks daily todo obsidian tags sort=count counts obsidian backlinks file="My Note"
在任何命令上使用 --copy 可将输出复制到剪贴板;使用 silent 可阻止文件被打开;在列表类命令上使用 total 可获取数量。
插件开发
开发/测试循环:
对插件或主题做出代码修改后,按以下流程操作:
- 重新加载插件以应用更改:
obsidian plugin:reload id=my-plugin
- 检查错误,如果出现错误则修复后从第 1 步重复:
obsidian dev:errors
- 通过截图或 DOM 检查进行可视化验证:
obsidian dev:screenshot path=screenshot.png obsidian dev:dom selector=".workspace-leaf" text
- 检查控制台输出中的警告或异常日志:
obsidian dev:console level=error
其他开发者命令
在应用上下文中运行 JavaScript:
obsidian eval code="app.vault.getFiles().length"
检查 CSS 值:
obsidian dev:css selector=".workspace-leaf" prop=background-color
切换移动端模拟:
obsidian dev:mobile on
运行 obsidian help 可查看包括 CDP 和调试器控制在内的其他开发者命令。
适用场景
适合需要通过命令行批量操作或自动化处理 Obsidian 笔记、任务、属性、标签、反向链接与日记内容的用户,以及需要开发调试 Obsidian 插件和主题的开发者。
限制
必须处于 Obsidian 打开的运行状态下使用。其他限制暂未提供。