mcpField
O
obsidian-cli-automation

obsidian-cli-automation

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

关于 obsidian-cli-automation

Obsidian CLI Automation 指导 Agent 将自然语言请求转为可重复的 `obsidian` 命令序列。它支持笔记和库操作,并强调先读取检查、尽量少改动及明确验证。

主要功能

  1. 01将请求映射为确定性命令行指令
  2. 02创建、更新、移动和查询笔记
  3. 03管理任务、链接、标签和属性
  4. 04检查插件、主题、工作区及同步历史
  5. 05验证变更并谨慎处理破坏性操作

适用场景

  1. 01批量更新文件夹中的笔记属性
  2. 02向每日笔记追加计划并验证结果
  3. 03检查未解析链接和库的整洁度
  4. 04恢复版本前检查同步历史

安装

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

$npx skills add https://github.com/oldwinter/skills --skill obsidian-cli-automation

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
automation-recipes.md
obsidian-cli-full-help.md
scripts/
collect_obsidian_help.sh

详细介绍

Obsidian CLI 自动化

概述

使用确定性 CLI 命令自动化 Obsidian 工作流。 使用此技能将自然语言请求转换为安全、可重复的 obsidian 命令序列,并进行明确验证。

适用场景

当请求包含以下任一意图时,请使用此技能:

  • 通过终端脚本自动化 Obsidian 工作流
  • 批量创建、更新、移动、重命名或删除笔记
  • 操作每日笔记、任务、链接、标签、别名、属性
  • 查询库的结构、搜索内容、生成清理报告
  • 管理插件、主题、代码片段、标签页、工作区、书签
  • 检查或恢复历史记录和 Obsidian Sync 版本
  • 执行 dev:* 或 eval 等开发者诊断命令

快速开始

  1. 确认 CLI 是否可用:
    command -v obsidian
    obsidian version
    
  2. 查看库名称:
    obsidian vaults
    
  3. 固定目标库并执行只读探测:
    VAULT='My Vault'
    obsidian vault="$VAULT" vault info=path
    obsidian vault="$VAULT" files total
    

执行工作流

  1. 自动化前先查看可用命令。
    • 运行 obsidian --help。
    • 运行 scripts/collect_obsidian_help.sh 获取完整快照。
  2. 使用确定性选择器解析目标。
    • 存在歧义时,优先使用 path= 而不是 file=。
    • 所有非简单操作都使用 vault=<name>。
  3. 先执行只读探测。
    • 在修改前使用 read、file、tasks、properties、search、sync:history。
  4. 执行最少的修改步骤。
    • 分小步应用 append、prepend、create、property:set、task、move、rename。
  5. 验证修改后的状态。
    • 重新运行读取/查询命令,并对比预期输出与实际输出。

命令类别

  • 库发现与结构:vaults、vault、folders、files、folder、file
  • 笔记生命周期:create、read、append、prepend、move、rename、delete、open
  • 每日工作流:daily、daily:path、daily:read、daily:append、daily:prepend
  • 任务与链接:tasks、task、links、backlinks、orphans、deadends、unresolved
  • 元数据:tags、tag、aliases、properties、property:read、property:set、property:remove
  • 搜索与大纲:search、search:context、search:open、outline
  • Bases:bases、base:views、base:query、base:create
  • UI/系统控制:tabs、tab:open、workspace、command、commands、reload、restart
  • 主题/代码片段/插件管理:themes、theme:*、snippets、snippet:*、plugins、plugin:*、plugins:restrict
  • Sync/历史记录与恢复:sync:*、history:*、diff
  • 开发者诊断:dev:*、devtools、eval、dev:console、dev:errors、dev:screenshot

高价值自动化模式

每日计划区块
VAULT='My Vault'
obsidian vault="$VAULT" daily:append content=$'## Plan\n- [ ] Top 1\n- [ ] Top 2\n'
obsidian vault="$VAULT" daily:read
批量更新文件夹的 frontmatter
VAULT='My Vault'
obsidian vault="$VAULT" files folder='Projects' ext=md | while IFS= read -r p; do
  [ -z "$p" ] && continue
  obsidian vault="$VAULT" property:set path="$p" name=reviewed value=false type=checkbox
done
库清理快照
VAULT='My Vault'
obsidian vault="$VAULT" unresolved total
obsidian vault="$VAULT" orphans total
obsidian vault="$VAULT" deadends total
obsidian vault="$VAULT" recents total
恢复前检查 Sync
VAULT='My Vault'
TARGET='Projects/Example.md'
obsidian vault="$VAULT" sync:history path="$TARGET"
obsidian vault="$VAULT" sync:read path="$TARGET" version=1

安全防护措施

  • 未经明确确认,请勿运行破坏性命令(delete permanent、sync:restore、history:restore、theme:uninstall、plugin:uninstall)。
  • 只有在读取探测确认目标范围后,才能使用修改命令。
  • 将大型自动化任务拆分为幂等且可安全重启的步骤。
  • 执行批量操作时,记录命令输出,以便决定是否回滚。

随附资源

  • scripts/collect_obsidian_help.sh:导出顶层帮助、所有命令的帮助以及 Markdown 报告。
  • references/automation-recipes.md:适用于常见工作流的可复制粘贴自动化方案。
  • references/obsidian-cli-full-help.md:obsidian CLI 的完整命令遍历输出。

验证清单

  1. 使用明确的 vault= 和 path= 运行目标命令。
  2. 每次修改后立即运行验证命令。
  3. 提供已更改的文件、属性、任务或 Sync 版本,并附上准确的命令证据。

评论

支持 Markdown