关于 obsidian-clis
obsidian-clis 是指导 Agent 使用 Obsidian 命令行的技能,优先使用 Obsidian 应用 CLI,并在其不可用时改用 notesmd-cli。涵盖笔记、任务、链接和插件开发操作。
主要功能
- 01按可用性选择 CLI
- 02搜索、读取和编辑笔记
- 03管理每日笔记与任务
- 04查询链接和属性
- 05执行插件开发检查
适用场景
- 01在终端搜索或更新知识库笔记
- 02添加每日笔记内容和任务
- 03定位断开的链接或孤立笔记
- 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 不可用时作为文件系统备用方案)。没有单独的调用模式——选择环境中存在的二进制文件即可。
应使用哪个二进制文件
- 如果 PATH 中有
obsidian,以下所有工作流都使用它(功能更丰富:链接、Bases、任务、插件开发)。 - 如果没有
obsidian,但 PATH 中有notesmd-cli,请按照 notesmd-fallback.md 执行无头 vault 操作。 - 如果两者都不可用,请说明这一点,并改用直接编辑文件、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]
插件开发
开发/测试流程
对插件或主题进行代码更改后,请遵循以下工作流:
-
重新加载插件以应用更改:
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 应用 CLI)
| 任务 | 命令 |
|---|---|
| 列出命令 | obsidian help |
| 打开每日笔记 | obsidian daily |
| 追加内容到每日笔记 | obsidian daily:append content="- [ ] Task" |
| 搜索 vault | obsidian search query="text" |
| 读取当前/指定文件 | obsidian read 或 obsidian read file=Note |
| 使用模板创建 | obsidian create name="Title" template=Name |
| 列出标签及计数 | obsidian tags counts |
| 列出每日笔记中的任务 | obsidian tasks daily |
| 查找失效的 wikilinks | obsidian unresolved counts |
| 查找孤立笔记 | obsidian orphans |
有关 notesmd-cli,请参阅 notesmd-fallback.md。
参考
obsidian help— 完整命令列表(始终保持最新)obsidian help <command>— 特定命令的帮助信息