ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

obsidian-git-vault

在 Obsidian 库(Markdown + Git)内检索笔记、创建与管理 .md;用 Git 查看历史与提交变更,并管理远程与同步(fetch/pull/push)。 当用户提及 Obsidian、vault、笔记检索、新建笔记、改笔记、移动重命名、Git、版本、提交、推送、拉取、远程、Git 初始化、配置 origin、SSH/HTTPS、token 权限、GitHub/GitLab 托管笔记库、vault 同步 SOP、定时同步时触发;需分步配置远程或权限说明时 Read git-remote-wizard.md;用户同意完整自动化同步工作流时 Read vault-sync-sop.md。

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/cfddd/obsidian-git-vault
Or

Obsidian 库(Git)简易操作

vault 根目录下的 Markdown 文件 为真源;不依赖 Obsidian 应用 API。文件操作用 Glob、Grep、Read 与编辑工具;Git 操作用 git -C "<vault>" ...,且 仅在该 vault 目录已是 Git 仓库时 执行(用户要求 git init 时再初始化)。

0. 变更后是否走同步 SOP

  • 用户已声明采用「vault 同步 SOP」或同意安装后定时同步:每次对本 vault 的笔记 创建/修改/移动/删除 后,在同一轮对话中尽量按 vault-sync-sop.md 执行第 1~3 步;定时任务(每 2h)仅在用户同意后在有 openclaw CLI 的环境尝试配置(详见该文件第 0 节)。
  • 未声明:日常仍可按第 5~6 节操作,主动强推、不自动注册 cron。
  • 能力边界:Skill 不会在无用户同意时自行创建定时任务;openclaw 不可用则说明并停止。

1. 解析 vault 根目录(每次先定根)

按优先级取 第一个有效 的目录(须为已存在的目录;解析路径时把 ~ 展开为用户主目录):

  1. 环境变量 OBSIDIAN_VAULT(可在终端执行 echo "$OBSIDIAN_VAULT" 判断)。
  2. 用户在本对话中给出的 vault 绝对路径(仅本对话内沿用,不写入其它文件除非用户要求)。
  3. 当前 Cursor 工作区根目录:若根下存在 .obsidian 目录,可视为 vault 根。
  4. 约定默认目录~/.openclaw/workspace/obsidian-git-vault(即 $HOME/.openclaw/workspace/obsidian-git-vault)在磁盘上已存在时作为 vault 根。

若以上皆无效:向用户索要 vault 绝对路径,或说明可 mkdir -p ~/.openclaw/workspace/obsidian-git-vault 后作为默认库再操作。禁止把上述列表以外的路径当作默认去猜。禁止操作落在所选 vault 根以外的未授权路径(防路径穿越)。

下文记 V="<vault 绝对路径>",命令统一写 git -C "$V"

1.1 默认 .gitignore

不单独提供 default.gitignore 文件。新建库时运行 bash "$SKILL_ROOT/scripts/init-default-vault.sh",若尚无 $V/.gitignore内联写入 规则:系统杂项、.env/密钥、编辑器、可选用「不同步的」.obsidian/workspace*.json.trash/、以及 默认排除常见非文本附件(图片/音视频/压缩包/Office/字体等);若 vault 需把图片或 PDF 纳入 Git,删掉 $V/.gitignore 里对应段或改规则。

1.2 Bash 脚本(scripts/

SKILL_ROOT 指含本 SKILL.md 的目录(openclaw 内多为 .cursor/skills/obsidian-git-vault)。优先用脚本代替手写长命令:

  • bash "$SKILL_ROOT/scripts/resolve-vault.sh":打印 $V;可传覆盖路径为第一个参数;支持 OBSIDIAN_VAULTCURSOR_WORKSPACE、当前目录含 .obsidian~/.openclaw/workspace/obsidian-git-vault(须已存在)。
  • bash "$SKILL_ROOT/scripts/init-default-vault.sh":创建默认目录、git init、缺省时写入内置 .gitignore(含非文本附件忽略,见 §1.1);可选参数为目标目录,默认 ~/.openclaw/workspace/obsidian-git-vault
  • bash "$SKILL_ROOT/scripts/vault-sync.sh":干净工作区下 fetch、判断领先/落后/分叉并 push / pull;见脚本内 --help。接受 SOP 强推时设 OBSIDIAN_SOP_FORCE_LEASE=1OBSIDIAN_PULL_REBASE=1 则落后时 pull --rebase
  • bash "$SKILL_ROOT/scripts/list-conflicts.sh":列出合并冲突文件。
  • bash "$SKILL_ROOT/scripts/openclaw-cron-vault-sync.sh":在本机有 openclaw 时注册约每 2 小时任务(需用户事前同意);可用环境变量改 OBSIDIAN_CRON_EXPR 等。

冲突合并仍以人工/Agent 编辑 Markdown 为主;脚本不自动改冲突正文。

2. 检索

  • 按文件名:在 vault 根下 Glob,如 **/*.md**/某目录/**/*.md
  • 按正文 / 链接 / 标签:在 vault 根下 Grep,可搜关键词、[[tags:aliases:、正文 #tag 等。
  • 精读:对命中列表再 Read 必要文件;回答中引用内容须来自已读文件,勿编造。
  • 按 Git 历史(用户要「谁改过 / 某文件历史」时):git -C "$V" log --oneline -n 20 -- path/笔记.md,必要时 git -C "$V" log -p -n 3 -- path/笔记.md
  • .obsidian 下配置默认不当成「笔记正文」去搜,除非用户明确要求。

输出时列出 相对 vault 的路径 与简短命中说明即可。

3. 管理

3.1 修改

小步修改正文或 YAML frontmatter,保持 Markdown 与 frontmatter 语法有效。不大段重写用户未要求的内容。

3.2 移动与重命名

git -C "$V" mv 旧路径 新路径(已纳入 Git 跟踪时优先)或普通 mv 后再 git add。完成后:

  • 对已知的 旧文件名 / 旧路径,在 vault 内 Grep 是否仍有 [[旧名]] 或旧相对链接。
  • 向用户说明是否断链;若用户要求批量替换链接,再逐文件修改。在未确认时大规模自动改链。

3.3 删除

Metadata

Author@cfddd
Stars3917
Views1
Updated2026-04-08
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-cfddd-obsidian-git-vault": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.