mcpField
O
obsidian

obsidian

github.com/steipete生产力7.4k98 次安装1 天前更新
代码仓库

关于 obsidian

用于处理本地 Obsidian vault 的技能,通过官方 CLI 和 Markdown 文件读取及编辑内容,并指导如何保留链接与配置。

主要功能

  1. 01搜索并读取 vault 笔记
  2. 02创建、追加和移动笔记
  3. 03查看每日笔记、链接和大纲
  4. 04查询 bases 与插件设置
  5. 05指导安全、定向地编辑

适用场景

  1. 01在 vault 中查找笔记和反向链接
  2. 02向每日笔记添加内容
  3. 03移动笔记并更新链接
  4. 04谨慎编辑 Markdown 文件

安装

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

$npx skills add https://github.com/steipete/agent-scripts --skill obsidian

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

详细介绍

Obsidian

用于处理本地 Obsidian 库。Obsidian 库是一个普通文件夹,其中包含 Markdown 文件和 .obsidian/ 配置。

来源

  • 应用配置:~/Library/Application Support/obsidian/obsidian.json
  • 默认库名称:obsidian
  • 常见本地库路径:~/obsidian
  • 官方 CLI:obsidian
  • 库命令会根据 cwd 确定库;请在 ~/obsidian 中运行。

首要检查

command -v obsidian
obsidian version
obsidian vaults
cd ~/obsidian
obsidian commands filter=search:

version 和 vaults 等全局命令可以在库外运行。在 ~/obsidian 之外运行库内容命令时,可能会显示 Vault not found.。使用 obsidian commands 而不是 obsidian help 来发现 CLI 命令。

如果 obsidian 提示 CLI 已禁用:

  1. 优先请用户启用 Settings -> General -> Advanced -> Command line interface。
  2. 如果已确认应用配置的结构,~/Library/Application Support/obsidian/obsidian.json 使用 "cli": true。
  3. 更改应用级 CLI 配置后,重启 Obsidian。

读取工作流

优先使用官方 CLI 进行 Obsidian 感知型查询:

cd ~/obsidian
obsidian search query="OpenClaw" format=json
obsidian search:context query="OpenClaw" limit=20 format=json
obsidian read path="Folder/Note.md"
obsidian file path="Folder/Note.md"
obsidian outline path="Folder/Note.md" format=json
obsidian backlinks path="Folder/Note.md" format=json
obsidian links path="Folder/Note.md"
obsidian properties path="Folder/Note.md" format=json

如果已知路径且需要精确字节,则直接读取文件系统:

sed -n '1,220p' "$HOME/obsidian/Folder/Note.md"
rg -n "term" "$HOME/obsidian"

如果最新状态或所选库很重要,请说明使用了哪个来源。

写入工作流

选择影响范围最小的写入方式:

  • 新建笔记:obsidian create path="Folder/Note.md" content="..."。
  • 追加/前置每日笔记:obsidian daily:append content="..."。
  • 简单编辑笔记:对 Markdown 文件使用 apply_patch。
  • 重命名/移动笔记:优先使用 obsidian move path="Old.md" to="Folder/New.md",以便更新链接。
  • 写入后打开 UI:仅在有用或用户提出要求时添加 open。

常用命令:

cd ~/obsidian
obsidian create path="Notes/New.md" content="# New\n\nBody"
obsidian append path="Notes/New.md" content="More text"
obsidian move path="Notes/New.md" to="Archive/New.md"
obsidian daily:path
obsidian daily:read
obsidian daily:append content="- Follow-up item"

对于多行内容,已知路径后,优先使用 apply_patch 编辑 .md 文件。避免对长文本使用脆弱的 Shell 引号处理。

Bases、Canvas、插件

首先通过 CLI 发现命令:

cd ~/obsidian
obsidian bases
obsidian base:views path="Projects.base"
obsidian base:query path="Projects.base" view="Active" format=json
obsidian plugins format=json
obsidian plugins:enabled format=json
obsidian commands filter=workspace:

对于 .canvas、.base 和 .json 文件,尽可能将其作为结构化数据读取/编辑。保持格式稳定,并在编辑后验证 JSON。

安全

  • 不要批量重写库。使用有针对性的路径并检查差异。
  • 除非用户提出要求,或任务明确涉及设置/插件,否则不要编辑 .obsidian/。
  • 除非用户明确要求,否则不要删除笔记;优先移至回收站,而非永久删除。
  • 不要通过 Obsidian URI/CLI 路径创建隐藏的点文件夹笔记。
  • 除非任务是重构,否则保留 frontmatter 和 wikilinks。
  • 如果存在多个库,不要猜测;使用 obsidian vaults 和 obsidian.json。

评论

支持 Markdown