用途
obsidian-cli 用于将 Obsidian 仓库集成到开发工作流中,支持把开发产物捕获到 Obsidian 仓库、在仓库中检索上下文、追加到每日笔记以及添加或查询任务。触发关键词包括 obsidian、vault、daily note、capture to vault、search vault、obsidian task。
不适用场景
- Obsidian 未安装或 CLI 未启用。
- 用户希望直接编辑 Markdown 文件(应直接使用 Read/Write)。
- 用户希望浏览 Obsidian 文档(应使用 agent-browser)。
- 用户希望进行不依赖 Obsidian 的通用任务管理。
前置条件
- Obsidian v1.12+,且已启用 CLI(设置 > 通用 > 命令行界面)。
- Obsidian 桌面应用必须处于运行状态(CLI 使用 IPC)。
工作流
调用 /obsidian-cli [intent] [args] 后:
- 执行
obsidian-preflight.sh --check; - 若失败(FAIL),报告问题并给出修复建议;
- 若成功(OK),解析仓库(vault);
- 调用
obsidian-exec.sh <intent> [args],按意图分派:- context:搜索仓库并返回结果;
- capture:写入笔记或追加到文件;
- daily:追加到每日笔记;
- task:添加或查询任务。
脚本
| 脚本 | 用途 | 调用方式 |
|---|---|---|
| obsidian-preflight.sh | 医生检查 + 仓库解析 + 配置 | `bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh [--check |
| obsidian-exec.sh | 带超时的安全意图执行 | bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh <intent> [args] |
预检
# Check CLI + app + IPC readiness
bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh --check
# Set default vault
bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh --vault "My Vault"
# Print resolved env (for debugging)
bash scripts/run-skill.sh obsidian-cli obsidian-preflight.sh --print-env
输出行包括:
STATUS=ok|errorVAULT=<resolved-vault-name>OBSIDIAN_VERSION=<version>ERROR=<message if STATUS=error>
执行意图(Exec Intents)
| 意图 | 参数 | 使用的 CLI 命令 |
|---|---|---|
| context | --query <q> [--limit N] |
obsidian search query= limit= |
| capture | --file <path> --text <content> |
obsidian read path=、obsidian create path= content=、obsidian append path= content= |
| daily | --text <content> |
obsidian daily:append content= |
| task | --add <text> 或 --list |
obsidian daily:append content=、obsidian tasks daily |
示例:
# Search vault for context
bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh context --query "auth middleware"
# Capture a decision record
bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh capture --file "dev/decisions/2026-02-28-auth.md" --text "..."
# Append to daily note
bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh daily --text "- Implemented auth middleware refactor"
# Add a task
bash scripts/run-skill.sh obsidian-cli obsidian-exec.sh task --add "Review PR #42 auth changes"
仓库解析策略
确定性优先级(首个匹配者生效):
--vault <name>显式参数;OBSIDIAN_VAULT环境变量;- 持久化默认配置
~/.sd0x/obsidian-cli.env; - CLI 发现的活跃仓库。
验证
obsidian-preflight.sh --check输出STATUS=ok;- 仓库解析返回正确的仓库名称;
- 每个意图产生预期的 CLI 输出;
- 超时能优雅处理 IPC 挂起(退出码 124)。
参考资料
references/integration-patterns.md:在规划如何把 Obsidian 集成到开发工作流时阅读;references/troubleshooting.md:在预检失败或命令超时时阅读。
示例
# First-time setup: check readiness and set default vault
/obsidian-cli --check
/obsidian-cli --vault "Dev Notes"
# During development: search for related notes
/obsidian-cli context --query "rate limiting implementation"
# After making a decision: capture it
/obsidian-cli capture --file "decisions/2026-02-28-rate-limit.md" --text "Decided to use sliding window..."
# End of session: log what was done
/obsidian-cli daily --text "- Completed rate limiting feature for API gateway"
限制
关于收费、价格、平台支持范围、性能效果等信息,资料中暂未提供。使用依赖 Obsidian 桌面应用运行及 CLI 启用,且依赖 IPC 通信,可能出现超时(退出码 124)。