obsidian-sync

🔄 AI 笔记双向同步中枢

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

收藏
8.1k
安装
2.3k
版本
v1.0.0
CLS 安全性认证2026-05-03
点击查看完整报告 >

使用说明

核心用法

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 是一个专为 Obsidian 用户设计的双向文件同步服务器,打通本地知识库与 Clawdbot AI 代理的工作空间。通过简单的 HTTP API,实现笔记的实时同步、冲突检测与安全访问控制。

主要用法

  • 启动服务SYNC_TOKEN="your-token" node scripts/sync-server.mjs
  • API 操作:支持列出、读取、写入 Markdown 文件,带自动冲突检测
  • Obsidian 集成:配套 obsidian-openclaw 插件,在 Obsidian 侧边栏直接与 AI 对话并管理笔记

显著优点

零依赖安全:仅使用 Node.js 内置模块,无第三方依赖,供应链攻击面为零
路径隔离防护:严格限制访问目录,自动拦截 ../ 遍历攻击

灵活部署:默认 localhost 绑定,支持 Tailscale 安全暴露到远程

生态完整:配套开源 Obsidian 插件,OS 密钥链集成,审计日志追踪

潜在局限

⚠️ 明文传输:原生 HTTP 无加密,远程访问需依赖 Tailscale 等反向代理
⚠️ 无审计日志:当前版本缺乏持久化操作日志,不利于安全追溯

⚠️ 无速率限制:API 端点未限流,存在资源耗尽风险

⚠️ Token 管理:依赖环境变量传递凭证,用户易误配置明文存储

适合人群

  • 深度 Obsidian 用户,希望将 AI 代理融入笔记工作流
  • 注重数据隐私,倾向本地化部署的技术用户
  • 已使用 Tailscale 等安全组网工具的团队或个人

常规风险与缓解

| 风险 | 等级 | 缓解措施 |
|------|------|----------|
| Token 泄露 | 中 | 使用 systemd LoadCredential 或密钥管理工具 |
| 中间人攻击 | 中 | 务必通过 Tailscale/HTTPS 暴露服务,避免公网裸奔 |
| 配置错误导致目录暴露 | 低 | 严格配置 `SYNC_ALLOWED_PATHS`,避免使用根目录 |
| 冲突数据覆盖 | 低 | 依赖插件端的冲突检测机制,关键操作前备份 |

> 安全认证:CLS-Certify v2.1.0 评级 A/85分,信任等级 T3(个人开发者/社区项目),建议沙箱验证后生产部署。

obsidian-sync 内容

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