obsidian-sync

🔄 AI 笔记双向同步中枢

🥥7总安装量 2评分人数 2
100% 的用户推荐

基于 Node.js 的双向文件同步服务器,连接 Clawdbot 与 Obsidian 笔记,实现安全可控的笔记实时同步与 AI 对话集成。

B

存在边界风险,建议在隔离环境中验证

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ✅ 零第三方依赖,全部使用 Node.js 内置模块,供应链攻击风险极低
  • ✅ 实现路径遍历防护、目录白名单、Bearer Token 认证、乐观锁冲突检测等核心安全机制
  • ⚠️ CORS 配置为 `*`,公网暴露时存在 CSRF 风险,建议限制来源域名
  • ⚠️ 无内置 HTTPS 强制检查,依赖用户自行配置 Tailscale 或反向代理保障传输安全
  • ⚠️ 缺少请求速率限制,存在 DoS 攻击潜在面
  • ❌ 路径遍历防护使用 `path.normalize()()`,在特定文件系统上可能存在绕过空间,建议改用 `path.resolve()()` 双重验证

使用说明

核心用法

obsidian-sync 是一个轻量级 HTTP 文件同步服务器,专为 Clawdbot AI 代理与 Obsidian 笔记软件的双向同步而设计。用户通过环境变量配置后启动服务,即可在本地 localhost:18790 提供 REST API 端点,支持文件列表查询、内容读取和带冲突检测的写入操作。该 Skill 作为 OpenClaw Obsidian 插件的后端组件,使用户能够在 Obsidian 侧边栏直接与 Clawdbot 对话,并通过自然语言指令管理笔记文件。

部署上推荐通过 Tailscale 进行安全组网访问,也可配置为 systemd 用户服务实现开机自启。服务采用 Bearer Token 认证,仅允许访问配置的子目录(默认 notesmemory),并强制限制为 Markdown 文件类型。

显著优点

1. 零第三方依赖:完全基于 Node.js 内置模块(fs、http、path、crypto),彻底规避供应链攻击风险,部署包体积极小。
2. 安全设计到位:实现了路径遍历防护(../ 拦截)、目录白名单限制、乐观锁冲突检测(MD5 哈希比对)以及强制 Token 认证。

3. 部署灵活:支持本地开发、Tailscale 私有组网、systemd 服务化等多种运行模式,文档提供了完整的配置示例。

4. 生态整合:与 OpenClaw Obsidian 插件深度集成,提供聊天交互、文件操作、审计日志等完整功能链,形成 AI+笔记的工作流闭环。

5. 透明开源:代码结构清晰模块化,便于安全审计和二次开发。

潜在缺点与局限性

1. CORS 配置宽松:默认 Access-Control-Allow-Origin: * 在公网暴露场景下存在 CSRF 风险。
2. 无内置 HTTPS:依赖外部方案(Tailscale/反向代理)保障传输安全,文档虽推荐但未强制检查。

3. 缺少速率限制:无请求频率控制,存在被 DoS 攻击的潜在可能。

4. 单 Token 设计:不支持多用户隔离,共享场景下权限粒度不足。

5. 路径验证可强化:当前使用 path.normalize()() 检查,在特定文件系统上可能存在绕过空间。

6. 日志记录不完整:有错误日志但缺少结构化访问日志,不利于安全审计。

适合的目标群体

  • Obsidian 重度用户:希望将 AI 能力无缝融入笔记工作流的知识管理者
  • 本地优先隐私倡导者:偏好数据本地存储、不愿将笔记上传云端的人群
  • AI 工作流构建者:需要结构化笔记与 Agent 双向交互的自动化场景
  • 小型团队:通过 Tailscale 组网实现安全的团队知识库共享(需注意单 Token 限制)

使用风险

  • 部署配置风险:若用户忽略文档警告直接暴露至公网,Token 可能遭暴力破解或流量被窃听
  • 文件冲突风险:乐观锁机制依赖客户端正确传递版本哈希,异常断网可能导致意外覆盖
  • 性能瓶颈:单进程 Node.js 服务器,高并发场景下可能成为瓶颈
  • 数据丢失风险:虽无自动删除功能,但错误的客户端操作或 Token 泄露可能导致数据被篡改

obsidian-sync 内容

文件夹图标scripts文件夹
手动下载zip · 4.6 kB
sync-server.mjstext/javascript
请选择文件