返回顶部
o

obsidian-github-sync黑曜石同步

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
156
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

obsidian-github-sync

Obsidian GitHub 同步

使用 Git 实现 Obsidian 仓库与 GitHub 存储库的自动同步,并具备冲突检测功能。

功能特性

  • - 自动同步:git pull --rebase → 提交 → 推送
  • 冲突检测:检测并标记合并冲突
  • 可配置:基于环境变量的配置方式
  • 通知机制:可选的冲突通知功能
  • 安全可靠:使用变基操作保持提交历史整洁

快速开始

1. 设置环境变量

bash
export OBSIDIANVAULTDIR=/path/to/your/obsidian-vault
export GITHUBREMOTEURL=git@github.com:username/repo.git

2. 运行初始同步

bash
./scripts/obsidian-sync.sh

3. 设置自动同步(定时任务)

bash

每天凌晨3点执行


0 3 * /path/to/scripts/obsidian-sync.sh

上午9点检查冲突

0 9 * /path/to/scripts/check-conflict.sh

脚本说明

obsidian-sync.sh

主同步脚本。位于 scripts/obsidian-sync.sh。

功能说明:

  1. 1. 检查未提交的更改并自动提交
  2. 使用 --rebase 从 GitHub 拉取更新
  3. 推送到 GitHub
  4. 若变基失败则创建冲突标记文件

环境变量:

  • - OBSIDIANVAULTDIR(必填):Obsidian 仓库路径
  • GITHUBREMOTEURL(必填):GitHub 存储库 URL
  • GITUSERNAME(可选):Git 用户名
  • GITUSEREMAIL(可选):Git 用户邮箱
  • SYNCLOGFILE(可选):日志文件路径(默认:/tmp/obsidian-sync.log)
  • CONFLICTFLAGFILE(可选):冲突标记文件路径(默认:/tmp/obsidian-sync-conflict.flag)

check-conflict.sh

冲突检查脚本。位于 scripts/check-conflict.sh。

功能说明:

  • - 检查冲突标记文件是否存在
  • 若存在则输出冲突详情
  • 存在冲突时返回退出码 1,无冲突时返回 0

工作流程

正常同步流程

用户在 Obsidian 中修改笔记

定时任务在凌晨3点运行 obsidian-sync.sh

自动提交本地更改

git pull --rebase origin master

git push origin master

同步完成 ✓

冲突处理流程

同步运行

pull --rebase 失败(远程存在分歧更改)

创建冲突标记文件

退出并报错

早晨 check-conflict.sh 检测到标记文件

通知用户

用户手动解决冲突

重新运行同步

冲突处理

当发生冲突时:

  1. 1. 检查冲突标记文件位置(默认:/tmp/obsidian-sync-conflict.flag)
  2. 导航到仓库目录
  3. 使用标准 Git 工作流程解决冲突:

bash
cd $OBSIDIANVAULTDIR
git status # 查看冲突文件

编辑文件解决冲突


git add -A # 暂存已解决的文件
git rebase --continue # 完成变基
git push origin master # 推送解决后的状态

配置参考

详细设置说明请参阅 references/setup-guide.md,包括:

  • - SSH 密钥配置
  • 多设备同步最佳实践
  • 故障排除指南
  • 定时任务设置示例

集成示例

与 OpenClaw 集成

bash

添加同步定时任务


openclaw cron add --name obsidian-sync \
--cron 0 3 * \
--command /path/to/obsidian-sync.sh

添加冲突检查

openclaw cron add --name obsidian-check \ --cron 0 9 * \ --command /path/to/check-conflict.sh

与 Systemd 集成(Linux)

创建 ~/.config/systemd/user/obsidian-sync.service:

ini
[Unit]
Description=Obsidian 仓库 Git 同步

[Service]
Type=oneshot
Environment=OBSIDIANVAULTDIR=/path/to/vault
Environment=GITHUBREMOTEURL=git@github.com:user/repo.git
ExecStart=/path/to/obsidian-sync.sh

创建 ~/.config/systemd/user/obsidian-sync.timer:

ini
[Unit]
Description=每天凌晨3点运行 Obsidian 同步

[Timer]
OnCalendar=--* 03:00:00
Persistent=true

[Install]
WantedBy=timers.target

启用:
bash
systemctl --user daemon-reload
systemctl --user enable obsidian-sync.timer
systemctl --user start obsidian-sync.timer

最佳实践

  1. 1. 同步时关闭 Obsidian,避免文件锁定问题
  2. 在 Obsidian 中定期提交,减少冲突发生概率
  3. 切换设备前先同步
  4. 使用 .gitignore 排除 Obsidian 的缓存文件:

gitignore

Obsidian


.obsidian/workspace.json
.obsidian/workspace-mobile.json
.obsidian/plugins/*/data.json
.trash/

许可证

MIT

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 obsidian-github-sync-1776114670 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 obsidian-github-sync-1776114670 技能

通过命令行安装

skillhub install obsidian-github-sync-1776114670

下载

⬇ 下载 obsidian-github-sync v1.0.0(免费)

文件大小: 5.67 KB | 发布时间: 2026-4-17 15:33

v1.0.0 最新 2026-4-17 15:33
Initial release: Automated GitHub sync for Obsidian vault with conflict detection

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部