21 KiB
21 KiB
Obsidian 官方 CLI 命令全景速查表 (版本要求: v1.12+)
核心执行逻辑说明:
- 基础格式:
obsidian <命令> 参数名=参数值 标记参数 - 含有空格的值必须加双引号,例如:
content="Hello world"。 - 标记参数(如
open,inline,total)不需要赋值,写上就代表启用。 - 以下表格中
file=Recipe代表对库中名为 Recipe 的文件执行操作,实际使用时需要替换为你库中真实存在的文件名。
| 所属模块 | 命令 | 功能解释 | 完整样例 (直接在终端运行) |
|---|---|---|---|
| 基础操作 | help |
显示帮助。加上具体命令就是查看这个命令的帮助。 | obsidian help search |
version |
显示当前 Obsidian 软件版本号。 | obsidian version |
|
reload |
重新加载应用窗口。 | obsidian reload |
|
restart |
重启整个 Obsidian 应用程序。 | obsidian restart |
|
| 数据库 | bases |
列出仓库中所有的 .base 数据库文件。 |
obsidian bases |
base:views |
列出当前活动数据库文件中的视图。 | obsidian base:views file=Contacts |
|
base:create |
在数据库中创建新记录,支持指定字段内容。 | obsidian base:create file=Contacts name="John Doe" |
|
base:query |
查询数据库并返回 JSON 或 CSV 结果。 | obsidian base:query file=Contacts view=Active format=json |
|
| 书签 | bookmarks |
列出书签。 | obsidian bookmarks format=json |
bookmark |
将指定文件或查询条件保存为书签。 | obsidian bookmark file="Project A" title="当前项目" |
|
| 命令面板 | commands |
获取所有内置或插件命令的 ID。 | obsidian commands filter=workspace |
command |
强制执行一个内部命令。 | obsidian command id=workspace:close |
|
hotkeys |
列出所有快捷键映射。 | obsidian hotkeys verbose |
|
hotkey |
获取单个命令的具体快捷键。 | obsidian hotkey id=workspace:close |
|
| 日记 | daily |
打开当天的每日笔记。 | obsidian daily paneType=tab |
daily:path |
输出每日笔记的物理路径。 | obsidian daily:path |
|
daily:read |
打印当天每日笔记的文本内容。 | obsidian daily:read |
|
daily:append |
向每日笔记末尾追加文本,适合快速记录。 | obsidian daily:append content="- [ ] 记得回复邮件" |
|
daily:prepend |
向每日笔记开头插入文本。 | obsidian daily:prepend content="# 今日重点" |
|
| 文件历史 | diff |
对比不同历史版本。 | obsidian diff file=Recipe from=2 to=1 |
history / history:list |
显示有本地历史记录的文件列表。 | obsidian history file=Recipe |
|
history:read |
读取某个历史版本的内容。 | obsidian history:read file=Recipe version=1 |
|
history:restore |
将文件回滚到指定历史版本。 | obsidian history:restore file=Recipe version=2 |
|
history:open |
在界面中打开文件恢复面板。 | obsidian history:open file=Recipe |
|
| 文件与目录 | file / folder |
显示文件或文件夹的元数据(大小、时间)。 | obsidian file path="Notes/Recipe.md" |
files / folders |
遍历列表,支持后缀过滤并返回总数。 | obsidian files ext=md total |
|
open |
打开文件。 | obsidian open file=Recipe newtab |
|
create |
静默创建文件,支持预设内容或应用模板。 | obsidian create name=Meeting content="# 会议记录" overwrite |
|
read |
打印文件内容,Agent 接入必用命令。 | obsidian read file=Recipe |
|
append / prepend |
在文件末尾或头部插入内容。 | obsidian append file=Recipe content="追加的文本" |
|
move / rename |
移动或重命名文件(自动更新双链)。 | obsidian rename file=Recipe name=NewRecipe |
|
delete |
删除文件,可附加 permanent 彻底删除。 |
obsidian delete file=Recipe permanent |
|
| 链接网络 | backlinks |
列出指向这个文件的反向链接。 | obsidian backlinks file=Index format=json |
links |
列出这个文件包含的出站链接。 | obsidian links file=Index total |
|
unresolved |
提取未创建实体文件的死链接节点。 | obsidian unresolved format=json |
|
orphans |
列出没有被引用的孤立文件。 | obsidian orphans total |
|
deadends |
列出没有向外发出引用的死胡同笔记。 | obsidian deadends total |
|
| 大纲 | outline |
提取文件的标题树状结构。 | obsidian outline file=Recipe format=tree |
| 插件管理 | plugins / enabled |
列出所有插件或已开启的插件。 | obsidian plugins filter=community |
plugins:restrict |
开关安全模式。 | obsidian plugins:restrict off |
|
plugin / plugin:enable |
查询插件信息或开启插件。 | obsidian plugin:enable id=dataview |
|
plugin:disable |
禁用插件。 | obsidian plugin:disable id=dataview |
|
plugin:install / uninstall |
静默安装或卸载社区插件。 | obsidian plugin:install id=dataview enable |
|
plugin:reload |
热重载插件(适合开发调试)。 | obsidian plugin:reload id=my-plugin |
|
| 属性元数据 | aliases |
提取别名列表。 | obsidian aliases active |
properties |
提取 YAML 属性,支持排序。 | obsidian properties sort=count |
|
property:set |
修改属性值,规范化文本、日期等类型。 | obsidian property:set name=status value=draft type=text file=Recipe |
|
property:remove / read |
删除属性或提取特定属性值。 | obsidian property:read name=status file=Recipe |
|
| 发布 | publish:site / list |
获取 Publish 站点信息或已发布清单。 | obsidian publish:list |
publish:status / add |
检查变更或推送到云端。 | obsidian publish:add changed |
|
publish:remove / open |
撤销发布或在浏览器中查看线上页面。 | obsidian publish:open file=Recipe |
|
| 随机笔记 | random / random:read |
打开随机笔记或直接打印其内容。 | obsidian random folder="Zettelkasten" newtab |
| 全局搜索 | search |
全文检索,返回文件路径列表。 | obsidian search query="TODO" format=json |
search:context |
提供包含上下文的检索结果。 | obsidian search:context query="重要" limit=5 |
|
search:open |
在图形界面中唤出搜索面板。 | obsidian search:open query="会议记录" |
|
| 官方同步 | sync / sync:status |
控制同步进程开关,查看状态。 | obsidian sync on |
sync:history / read |
查阅云端版本历史记录或读取内容。 | obsidian sync:read file=Recipe version=1 |
|
sync:restore |
强制回滚到云端版本。 | obsidian sync:restore file=Recipe version=2 |
|
sync:open / deleted |
打开界面查看历史或已删除文件。 | obsidian sync:deleted |
|
| 标签 | tags |
提取标签网络,统计频次。 | obsidian tags sort=count format=json |
tag |
查询单个标签的分布和出现次数。 | obsidian tag name="#important" verbose |
|
| 任务管理 | tasks |
检索全库或指定日记的任务状态。 | obsidian tasks todo daily |
task |
终端直连修改具体任务的勾选状态。 | obsidian task ref="Recipe.md:8" toggle |
|
| 模板 | templates / template:read |
查看模板库,或解析带变量的模板内容。 | obsidian template:read name=Meeting resolve |
template:insert |
将模板注入到活动笔记中。 | obsidian template:insert name=Meeting |
|
| 外观与样式 | themes / theme |
查看安装的主题或查看当前主题详情。 | obsidian themes versions |
theme:set / install |
切换主题,或从终端安装并启用新主题。 | obsidian theme:install name="Minimal" enable |
|
theme:uninstall |
卸载主题。 | obsidian theme:uninstall name="Minimal" |
|
snippets 相关命令 |
开关 CSS 片段。 | obsidian snippet:enable name=custom-font |
|
| 卡片盒模式 | unique |
按照 Zettelkasten 时间戳生成唯一笔记。 | obsidian unique name="Idea" open |
| 仓库管理 | vault / vaults |
获取当前仓库信息或列出所有本地仓库。 | obsidian vaults verbose |
vault:open |
强制软件跳转打开另一个仓库。 | obsidian vault:open name="My Vault" |
|
| 内置浏览器 | web |
在 Obsidian 内直接打开网页。 | obsidian web url="https://google.com" newtab |
| 字数统计 | wordcount |
统计字数或字符数。 | obsidian wordcount file=Recipe words |
| 工作区布局 | workspace 系列命令 |
保存、载入、删除窗口布局配置。 | obsidian workspace:load name=Writing |
tabs / tab:open |
管理标签页组,或者在新标签打开文件。 | obsidian tab:open file=Recipe |
|
recents |
返回最近打开文件的记录。 | obsidian recents total |
|
| 开发者模式 | devtools / dev:debug |
调出底层控制台或挂载 Chrome 调试器。 | obsidian dev:debug on |
dev:cdp |
顶级权限,调用 Chrome DevTools Protocol。 | obsidian dev:cdp method="Network.enable" |
|
dev:screenshot |
生成软件当前界面的 base64 图片数据流。 | obsidian dev:screenshot path=screenshot.png |
|
dev:console / css |
读取控制台日志,或抓取 CSS 渲染数据。 | obsidian dev:console level=error |
|
dev:dom |
用 CSS 选择器直接抓取界面 DOM 元素。 | obsidian dev:dom selector=".cm-content" text |
|
dev:mobile |
开启移动端布局模拟。 | obsidian dev:mobile on |
|
eval |
注入 JavaScript 代码到底层执行并返回结果。 | obsidian eval code="app.vault.getFiles().length" |
Obsidian CLI 典型自动化应用场景与工作流
| 工作流名称 | 功能简介 | 涉及的 CLI 命令 |
|---|---|---|
| **1. 全局极速闪记 ** | 痛点:记录一闪而过的灵感时,打开软件、等插件加载、找文件太慢。 方案:在 Raycast、Alfred 甚至手机捷径中绑定一段终端脚本。输入文字后,脚本在后台直接调用 CLI,将文字无感追加到今天的日记末尾。完全不需要唤醒 Obsidian 界面。 |
obsidian daily:append content="灵感内容" |
| 2. 播客/视频沉浸式知识榨取 | 痛点:看完 YouTube 视频后,手动整理笔记并建立待办事项费时费力。 方案:把链接丢给 OpenClaw 或 Telegram 机器人。AI 提取字幕并总结后,调用 CLI 直接使用你的“媒体笔记模板”创建新文件,并把提取出的行动项自动打上标签,插入到当天的日记中。 |
obsidian create name="视频名" template="Media"obsidian daily:append content="- [ ] 待办项" |
| **3. AI 收件箱自动分拣员 ** | 痛点:平时用 Web Clipper 随手剪藏的网页堆积在 Inbox 文件夹,变成“赛博垃圾场”。 方案:利用 n8n 建立定时任务,让大模型批量阅读 Inbox 里的文件。理解内容后,通过 CLI 规范化注入 YAML 属性(如作者、分类),最后安全地将文件重命名并移动到对应的归档文件夹。CLI 会自动更新全库的双链,绝不断链。 |
obsidian files folder="Inbox"obsidian read file="未命名"obsidian property:set name="category" value="AI"obsidian move file="旧名" to="新路径" |
| 4. 绝对隐私的本地 RAG 对话助理 | 痛点:搭建向量数据库(Chroma/Milvus)太繁琐,且每次笔记更新都要重新 Embedding(向量化)。 方案:在本地运行 Claude Code 或本地大模型,赋予其 CLI 执行权限。AI 会根据你的提问,自主使用带有上下文的全局搜索指令,并通过提取反向链接顺藤摸瓜,构建准确的背景知识库后再回答,完全零配置。 |
obsidian search:context query="关键词"obsidian backlinks file="检索到的文件"obsidian read file="目标笔记" |
| 5. 跨平台数据库级联录入 | 痛点:外部数据(如记账、习惯打卡)很难干净地录入到 Obsidian 的表格或 Dataview 中。 方案:结合 Obsidian 1.12 最新的 Bases(数据库)功能。通过 n8n 接收外部 Webhook(比如银行消费短信),直接让 CLI 在指定的 Base 文件中创建一条新记录,并严格按数据类型(数字、日期)注入字段。 |
obsidian base:create file="财务库" name="打车"obsidian property:set type="number" value="30" |
| 6. 历史知识自动唤醒与破冰 | 痛点:记录了大量笔记但从不回顾,知识变成死水。 方案:每天早晨执行一个自动化脚本,利用 CLI 提取一篇早于 1 年前的随机笔记,交给 AI 提炼核心观点,并与你最近一周关注的标签(如 #Agent)进行强行跨界联想,将联想结果作为“每日思考”追加到今天日记中。 |
obsidian random:read folder="卡片盒"obsidian tags sort=count limit=5obsidian daily:prepend content="AI的跨界联想" |
| 7. 批量元数据重构与清洗 | 痛点:笔记库用久了,属性极其混乱(比如状态标签混用了 doing、in-progress、进行中),导致 Dataview 列表报错。方案:让 AI 脚本遍历你的核心文件夹,读取现有的属性值,统一转换为标准格式,然后用 CLI 进行批量覆写。这种方式强制符合 YAML 语法,绝不会多一个空格或少一个引号。 |
obsidian propertiesobsidian property:read name="status"obsidian property:set name="status" value="标准值" |