Skip to content

命令行界面 (CLI)

版本要求

命令行界面 (CLI) 是 Obsidian v1.12+ (Insider) 新增功能,稳定版用户请升级到 Insider 版本或等待正式发布。

概述

Obsidian CLI(命令行界面)允许你从终端控制 Obsidian,非常适合用于:

  • 自动化脚本:批量处理笔记
  • 外部工具集成:与其他应用程序联动
  • 快捷操作:快速执行常用命令
  • 工作流自动化:配合 cron、Shortcuts 等使用

启用 CLI

首次设置

  1. 打开 Obsidian
  2. 进入「设置 → 通用」
  3. 找到「命令行界面」选项
  4. 开启「启用命令行界面」
  5. 按照提示完成系统配置

系统配置

macOS

bash
# 运行以下命令将 Obsidian 添加到 PATH
sudo ln -sf /Applications/Obsidian.app/Contents/MacOS/obsidian /usr/local/bin/obsidian

# 验证安装
obsidian --version

Windows

powershell
# 添加 Obsidian 到系统 PATH
# 方法一:通过设置界面
# 设置 → 系统 → 关于 → 高级系统设置 → 环境变量

# 方法二:PowerShell(以管理员身份运行)
$env:Path += ";C:\Users\<用户名>\AppData\Local\Programs\obsidian"

Linux

bash
# AppImage 用户 - 创建符号链接
sudo ln -sf /path/to/Obsidian-x.x.x.AppImage /usr/local/bin/obsidian

# Snap 用户 - 已自动配置
# Flatpak 用户
flatpak install flathub md.obsidian.Obsidian

基本命令

获取帮助

bash
# 显示帮助信息
obsidian help

# 获取特定命令的帮助
obsidian help <command>

# 使用 --help 标志
obsidian --help
obsidian <command> --help

常用命令概览

命令功能版本
obsidian help显示帮助信息Insider
obsidian open打开文件或仓库Insider
obsidian new创建新笔记Insider
obsidian search搜索笔记Insider
obsidian search:context上下文搜索Insider
obsidian rename重命名文件Insider
obsidian daily日记相关操作Insider
obsidian daily:path获取日记路径Insider

仓库操作

打开仓库

bash
# 打开特定仓库
obsidian open --vault "我的笔记"

# 打开特定文件
obsidian open --vault "我的笔记" --file "项目/计划.md"

# 在新窗口打开
obsidian open --vault "我的笔记" --new-window

URI 操作

支持通过 URI 协议操作:

bash
# 使用 URI 打开
obsidian://open?vault=我的笔记

# 打开特定文件
obsidian://open?vault=我的笔记&file=项目/计划.md

# 新建笔记
obsidian://new?vault=我的笔记&name=新笔记

# 打开日记
obsidian://daily?vault=我的笔记

笔记操作

创建笔记

bash
# 创建新笔记
obsidian new --vault "我的笔记" --name "新笔记"

# 使用模板创建
obsidian new --vault "我的笔记" --name "会议记录" --template "模板/会议模板.md"

# 指定文件夹
obsidian new --vault "我的笔记" --name "项目/新笔记"

# 在新标签页打开
obsidian new --vault "我的笔记" --name "新笔记" --open

重命名笔记

bash
# 重命名文件
obsidian rename --vault "我的笔记" --from "旧名称.md" --to "新名称.md"

# 重命名并更新链接
obsidian rename --vault "我的笔记" --from "旧名称.md" --to "新名称.md" --update-links

搜索笔记

bash
# 基本搜索
obsidian search --vault "我的笔记" "搜索关键词"

# 搜索并打开结果
obsidian search --vault "我的笔记" "搜索关键词" --open

# 上下文搜索
obsidian search:context --vault "我的笔记" "关键词"

日记操作

bash
# 打开今日日记
obsidian daily --vault "我的笔记"

# 获取日记路径
obsidian daily:path --vault "我的笔记"

# 在日记中追加内容
obsidian daily:append --vault "我的笔记" --content "今日完成的任务"

# 在日记开头插入内容
obsidian daily:prepend --vault "我的笔记" --content "## 今日计划"

URI 参数

paneType 参数

控制文件打开的方式(v1.11+):

参数值说明版本
tab在新标签页打开v1.11+
split在新分栏打开v1.11+
window在新窗口打开(仅桌面端)v1.11+

URI 示例

bash
# 在新标签页打开
obsidian://open?vault=我的笔记&file=笔记.md&paneType=tab

# 在新分栏打开
obsidian://open?vault=我的笔记&file=笔记.md&paneType=split

# 在新窗口打开
obsidian://open?vault=我的笔记&file=笔记.md&paneType=window

自动化脚本

Bash 脚本示例

bash
#!/bin/bash
# 每日笔记创建脚本

VAULT="我的笔记"
DATE=$(date +%Y-%m-%d)
NOTE_NAME="日记/$DATE"

# 创建日记
obsidian new --vault "$VAULT" --name "$NOTE_NAME" --open

# 如果日记已存在,直接打开
obsidian open --vault "$VAULT" --file "$NOTE_NAME.md"

批量处理

bash
#!/bin/bash
# 批量重命名脚本

VAULT="我的笔记"
PREFIX="2024_"

# 批量添加前缀
for file in 项目/*.md; do
  filename=$(basename "$file")
  obsidian rename --vault "$VAULT" --from "$file" --to "项目/${PREFIX}${filename}"
done

Python 集成

python
import subprocess
import datetime

def create_daily_note(vault_name: str, content: str = ""):
    """创建日记"""
    date_str = datetime.date.today().strftime("%Y-%m-%d")
    cmd = [
        "obsidian", "new",
        "--vault", vault_name,
        "--name", f"日记/{date_str}",
        "--open"
    ]
    subprocess.run(cmd)

def append_to_note(vault_name: str, note_path: str, content: str):
    """追加内容到笔记"""
    # 通过 daily:append 或手动写入
    pass

# 使用示例
create_daily_note("我的笔记")

与其他工具集成

macOS Shortcuts

在 macOS 快捷指令中使用:

  1. 创建新快捷指令
  2. 添加「运行 Shell 脚本」操作
  3. 输入 Obsidian CLI 命令
bash
# 示例:快速创建会议记录
obsidian new --vault "工作笔记" --name "会议/$(date +%Y%m%d_%H%M)_会议记录" --template "模板/会议模板.md" --open

cron 定时任务

bash
# 编辑 crontab
crontab -e

# 每天早上 8 点打开日记
0 8 * * * obsidian daily --vault "我的笔记"

Alfred Workflow (macOS)

创建 Alfred Workflow 实现快速搜索:

bash
# Alfred Script Filter
#!/bin/bash
obsidian search --vault "我的笔记" "{query}"

VS Code 集成

在 VS Code 的 tasks.json 中配置:

json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Obsidian: 打开当前笔记",
      "type": "shell",
      "command": "obsidian",
      "args": [
        "open",
        "--vault", "我的笔记",
        "--file", "${file}"
      ]
    }
  ]
}

高级用法

静默模式

CLI 命令默认静默运行,不会干扰当前工作:

bash
# 静默创建笔记
obsidian new --vault "我的笔记" --name "新笔记"

# 如果需要打开笔记,使用 --open
obsidian new --vault "我的笔记" --name "新笔记" --open

指定活动文件

使用 active 参数操作当前活动文件:

bash
# 操作活动文件
obsidian rename --active --to "新名称.md"

处理参数中的冒号

Windows 用户注意:

bash
# Windows 上包含冒号的参数需要特殊处理
obsidian open --vault "我的:笔记" --file "文件.md"

常见问题

CLI 命令不识别?

解决方案
  1. 确认 CLI 功能已启用
  2. 检查 PATH 环境变量
  3. 重启终端或重新登录
  4. 重新安装符号链接

命令执行失败?

排查步骤
  1. 检查仓库名称是否正确
  2. 确认仓库已打开
  3. 检查文件路径是否存在
  4. 查看终端错误信息

如何处理 Unicode 字符?

解决方案

最新 Insider 版本已修复 Unicode 字符问题。

bash
# 支持 Unicode 文件名
obsidian open --vault "我的笔记" --file "中文文件名.md"

如何在后台运行?

后台执行
bash
# Linux/macOS - 后台运行
nohup obsidian daily --vault "我的笔记" &

# Windows - 使用 start
start /B obsidian daily --vault "我的笔记"

命令参考

完整命令列表

命令参数说明
help[command]显示帮助信息
open--vault, --file, --paneType打开文件
new--vault, --name, --template, --open创建笔记
search--vault, query, --open搜索笔记
search:context--vault, query上下文搜索
rename--vault, --from, --to, --update-links重命名
daily--vault打开日记
daily:path--vault获取日记路径
daily:append--vault, --content追加内容
daily:prepend--vault, --content插入内容

下一步

最后更新:2026年3月13日编辑此页反馈问题