Obsidian CLI 知识库传输层
用 Obsidian CLI 读写、搜索和维护 Markdown 知识库。
技能将操作限定在 Read 与 Bash,并披露 CLI、文件系统及 MCP 的传输关系;但允许直接写入、覆盖和追加 vault 内容,没有逐项用户确认、内建回滚或冲突恢复,且 Bash 权限范围较宽,因此扣分。
检测脚本有 CI 中的 JSON 可解析性检查,且文档提供 CLI 与文件系统回退路径;但关键 CLI recipe 未见针对本技能的端到端测试,异常输入、CLI 语法差异和失败诊断覆盖不足,故仅给中低分。
触发词、桌面 CLI 场景、移动端、headless、跨 vault 和 Obsidian 未安装时的非适用范围较清楚;但输入约束、输出契约、语义误触发边界及中文用户环境适配证据有限,故扣分。核心功能不依赖海外在线服务。
技能结构清晰,包含检测、决策、recipe、限制和交叉引用;仓库提供 MIT 许可证、版本信息、CI 与安全政策。但该技能自身缺少参数契约、FAQ、变更记录、明确维护责任和更新路径,部分关键依赖说明也分散在其他文件,故扣分。
读写、追加、搜索、daily note、属性、backlinks、Bases 等常用任务都有可直接参考的命令,并提供文件系统回退;但命令可用性和实际结果未由本技能证实,覆盖范围仍需用户或代理处理权限、路径和异常情况,故未超过静态上限。
仓库有 CI、检测表面检查和若干测试,但提供的测试主要覆盖其他脚本及通用基础设施,未覆盖本技能的大多数 CLI recipe、回退行为或结果正确性;因此只有有限静态可审计证据,未给满分。
- 执行写入、覆盖或属性修改前应明确确认目标 vault、目标路径和是否允许覆盖;该技能没有内建回滚机制。
- 应验证本机 Obsidian CLI 的实际命令格式、版本和 vault 参数约定;文档未提供这些 recipe 的端到端测试证据。
- 文件系统回退可能绕过 Obsidian 的一致性语义;在 Obsidian 保存或多进程写入期间应谨慎,并确认锁机制确实被调用。
- 可选的 kepano marketplace 安装依赖 GitHub;中国大陆网络或组织访问受限时不要把它视为必要依赖。
这个 Skill 能做什么,适合哪些场景?
wiki-cli 是 claude-obsidian v1.7+ 的默认 vault 传输技能,优先使用 Obsidian 1.12+ 提供的命令行工具。它让 Claude 能读取、创建、覆盖、追加、搜索和修改 Obsidian 笔记,并支持每日笔记、反向链接、标签、书签和 Bases 文件查看。CLI 不可用时,技能回退到直接文件系统操作。它适合使用桌面版 Obsidian、希望避免 MCP 配置的本地 Markdown 知识库用户,但不适合移动端、无头服务器或跨 vault 操作。
在会话开始或 vault 设置时运行 bash scripts/detect-transport.sh,并将 CLI 与文件系统可用性写入 .vault-meta/transport.json。后续操作先读取该文件,根据 preferred 和 fallback_chain 选择传输方式。CLI 可用于读取、写入、追加和搜索笔记,设置 frontmatter 属性,列出反向链接、标签和书签,获取每日笔记,以及打开 Bases 文件的解析视图。CLI 不可用时,使用 Claude 的 Read、Write、Edit 工具或 ripgrep 直接处理 vault 文件。
- 使用桌面版 Obsidian 的个人知识管理者,希望让 Claude 通过本地 CLI 维护 Markdown 笔记。
- 需要批量读取、搜索或追加 vault 内容,但不想安装本地 REST API 插件和配置 MCP 的用户。
- 在 Obsidian CLI 可用时执行日记更新、属性修改或反向链接查询的工作流。
- 运行在移动端、CI 或无头服务器上的用户,可将该技能作为 CLI 不可用时的文件系统回退层。
这个 Skill 有哪些优点和局限?
- 使用 Obsidian 内置 CLI,通常不需要 REST API 插件、API 密钥或 TLS 绕过。
- 覆盖读取、写入、追加、搜索、属性、每日笔记、反向链接、标签、书签和 Bases 查看等常见 vault 操作。
- CLI 缺失时可回退到直接文件系统操作,适合本地 Markdown vault。
- 通过 transport.json 固化传输选择,支持手动覆盖设置。
- CLI 依赖桌面版 Obsidian,移动端和无头服务器不能使用 CLI。
- 跨 vault 操作不适合使用该 CLI,需要回退到文件系统遍历。
- SKILL.md 没有提供独立的 wiki-cli 测试结果或独立版本发布信息。
- 使用 MCP 作为传输方式需要额外配置,且本技能将其作为回退或延后检测项而非首选。
如何安装这个 Skill?
该技能随 AgriciDaniel/claude-obsidian 仓库的 15 个技能一起提供。可执行:git clone https://github.com/AgriciDaniel/claude-obsidian;cd claude-obsidian;bash bin/setup-vault.sh。然后在 Obsidian 中将该文件夹作为 vault 打开,并在同一文件夹中使用 Claude Code。源材料没有提供单独安装 wiki-cli 的步骤。
如何使用这个 Skill?
在 vault 设置或会话开始时运行 bash scripts/detect-transport.sh。检测结果写入 .vault-meta/transport.json;安装或移除 CLI 后可运行 bash scripts/detect-transport.sh --force 刷新。示例命令包括 obsidian-cli read "$VAULT" "$NOTE"、obsidian-cli search "$VAULT" "<query>"、obsidian-cli append "$VAULT" "$NOTE" 和 obsidian-cli backlinks "$VAULT" "$NOTE"。需要读取或写入时,先查看 transport.json 并遵循其中的首选传输和回退链。
这个 Skill 与同类方案有什么区别?
与 MCP 相比,Obsidian CLI 不需要本地 REST API 插件、API 密钥或 TLS 绕过,并通过直接子进程调用降低 HTTP 往返和会话内死锁风险;但它要求安装 Obsidian 本身。与直接文件系统操作相比,CLI 可使用 Obsidian 的搜索排序,并提供每日笔记、反向链接、标签、书签和 Bases 解析视图;文件系统仍是 CLI 不可用时的回退方式。