mcpField
O
obsidian-clis

obsidian-clis

github.com/nweii生产力1038 次安装1 周前更新
代码仓库

关于 obsidian-clis

obsidian-clis 是指导 Agent 使用 Obsidian 命令行的技能,优先使用 Obsidian 应用 CLI,并在其不可用时改用 notesmd-cli。涵盖笔记、任务、链接和插件开发操作。

主要功能

  1. 01按可用性选择 CLI
  2. 02搜索、读取和编辑笔记
  3. 03管理每日笔记与任务
  4. 04查询链接和属性
  5. 05执行插件开发检查

适用场景

  1. 01在终端搜索或更新知识库笔记
  2. 02添加每日笔记内容和任务
  3. 03定位断开的链接或孤立笔记
  4. 04重载插件并检查错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nweii/agent-stuff --skill obsidian-clis

安装后在 Claude Code 中输入/obsidian-clis确认已加载。

附带文件notesmd-fallback.md

详细介绍

Obsidian 命令行工具

这里的命令行工具指两个终端接口:Obsidian 应用 CLI(obsidian,首选)和 notesmd-cli(当 obsidian 不可用时作为文件系统备用方案)。没有单独的调用模式——选择环境中存在的二进制文件即可。

应使用哪个二进制文件

  1. 如果 PATH 中有 obsidian,以下所有工作流都使用它(功能更丰富:链接、Bases、任务、插件开发)。
  2. 如果没有 obsidian,但 PATH 中有 notesmd-cli,请按照 notesmd-fallback.md 执行无头 vault 操作。
  3. 如果两者都不可用,请说明这一点,并改用直接编辑文件、MCP 或用户提供的其他 vault 工具。

CLI 是否可用

在依赖任一工具之前,如果环境未知,请通过 command -v obsidian 和 command -v notesmd-cli(或 which)确认是否已安装。不要假设任一二进制文件都存在。

如果沙箱中的 obsidian 找不到正在运行的应用,请在沙箱外重试,然后再切换到备用方案。


Obsidian 应用 CLI

运行 obsidian <command>,即可在终端中控制正在运行的 Obsidian 实例。大多数命令要求应用处于运行状态;如果 Obsidian 尚未打开,首条命令会启动它。

运行 obsidian help 或 obsidian help <command>,查看规范且始终保持最新的命令参考。本技能介绍常见模式和不明显的行为。

指定 vault 和文件
  • Vault:将 vault=<name> 作为第一个参数。默认值:如果当前工作目录是 vault 文件夹,则使用该文件夹;否则使用当前活动 vault。
  • 文件:file=<name> 会像 wikilink 一样解析(只需名称,无需路径或扩展名)。使用 path=<path> 指定 vault 根目录下的准确路径。
  • TUI:不带参数运行 obsidian 进入交互模式;在该模式中省略 obsidian 前缀。
参数和标志
  • 参数:param=value。值中有空格时需加引号:content="Hello world"。
  • 标志:布尔值,不带值:silent、overwrite、newtab。
  • 多行内容:在 content= 中使用 \n 表示换行,使用 \t 表示制表符。
搜索、链接和结构
obsidian search query="text" [path=folder] [limit=n] [format=text|json] [total] [case]
obsidian search:context query="text" [path=folder] [limit=n]  # includes surrounding context
obsidian links [file=Note] [total]
obsidian backlinks [file=Note] [counts] [total]
obsidian outline [file=Note] [format=tree|md]
obsidian orphans [total] [active]       # notes with no links to or from them
obsidian deadends [total] [active]      # notes with no outgoing links
obsidian unresolved [total] [counts] [verbose]  # broken wikilinks
obsidian tags [active] [file=Note] [total] [counts] [sort=count]
obsidian tag name=project [total] [verbose]
常见模式
笔记和内容

若要快速查看笔记而不读取完整内容,请使用 property:read 或 properties file=Note。

obsidian read file="Note" # Use this to read the content of a wikilink
obsidian create name="Note" content="# Title\n\nBody" [template=Name] [overwrite] [silent]
obsidian append file="Note" content="- [ ] Task"
obsidian prepend file="Note" content="# Header\n"
obsidian move file="Note" to=folder/newpath.md
obsidian rename file="Note" name="New file name"
obsidian delete file="Note"
每日笔记(Daily notes 插件)
obsidian daily:read
obsidian daily [paneType=tab|split|window] [open]
obsidian daily:append content="- [ ] Buy groceries" [inline] [open]
obsidian daily:prepend content="- [ ] Morning routine" [inline]  # goes after frontmatter
obsidian daily:path  # returns expected path even if file doesn't exist yet
任务
obsidian tasks [daily] [file=Note] [todo] [done] [status="x"] [total] [verbose]
obsidian task ref=path:line [toggle] [done] [todo] [daily]
属性和 frontmatter
obsidian properties [active] [file=Note] [total] [counts] [format=yaml|json|tsv]
obsidian property:read name=status [file=Note]
obsidian property:set name=status value=done [file=Note]
obsidian property:remove name=status [file=Note]
Bases(Bases 插件)
obsidian bases
obsidian base:views [file=base.base]
obsidian base:query [file=base.base] [view=name] [format=json|csv|tsv|md|paths]
obsidian base:create name="Item" content="..." [open] [newtab]
插件开发
开发/测试流程

对插件或主题进行代码更改后,请遵循以下工作流:

  1. 重新加载插件以应用更改:

    obsidian plugin:reload id=my-plugin
    
  2. 检查错误——如果出现错误,请修复并从第 1 步重新开始:

    obsidian dev:errors
    
  3. 通过截图或 DOM 检查进行视觉验证:

    obsidian dev:screenshot path=screenshot.png
    obsidian dev:dom selector=".workspace-leaf" text
    
  4. 检查控制台输出,查看是否有警告或意外日志:

    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 应用 CLI)
任务命令
列出命令obsidian help
打开每日笔记obsidian daily
追加内容到每日笔记obsidian daily:append content="- [ ] Task"
搜索 vaultobsidian search query="text"
读取当前/指定文件obsidian read 或 obsidian read file=Note
使用模板创建obsidian create name="Title" template=Name
列出标签及计数obsidian tags counts
列出每日笔记中的任务obsidian tasks daily
查找失效的 wikilinksobsidian unresolved counts
查找孤立笔记obsidian orphans

有关 notesmd-cli,请参阅 notesmd-fallback.md。

参考
  • obsidian help — 完整命令列表(始终保持最新)
  • obsidian help <command> — 特定命令的帮助信息

评论

支持 Markdown