obsidian-sync

Review·Scanned 2/17/2026

This skill runs a local Node.js sync server to synchronize an Obsidian vault with a Clawdbot workspace. It requires the SYNC_TOKEN env var, exposes read/write file endpoints on http://localhost:18790, and includes instructions to run SYNC_TOKEN="your-gateway-token" node scripts/sync-server.mjs and tailscale serve --bg --https=18790 http://localhost:18790.

from clawhub.ai·v3e661fe·12.5 KB·0 installs
Scanned from 1.0.0 at 3e661fe · Transparency log ↗
$ vett add clawhub.ai/andybold/obsidian-syncReview findings below

Obsidian Sync Server

A secure file sync server for two-way synchronization between Clawdbot and Obsidian.

📦 This skill is part of obsidian-openclaw
An Obsidian plugin that lets you chat with your Clawdbot agent and sync notes between your vault and the agent's workspace.

Quick Start

SYNC_TOKEN="your-gateway-token" node scripts/sync-server.mjs

Configuration

Environment VariableDefaultDescription
SYNC_PORT18790Server port
SYNC_BINDlocalhostBind address
SYNC_WORKSPACE/data/clawdbotRoot workspace path
SYNC_TOKEN(required)Auth token (use Gateway token)
SYNC_ALLOWED_PATHSnotes,memoryComma-separated allowed subdirectories

Security

  • Only configured subdirectories are accessible
  • Path traversal (../) is blocked
  • All requests require Authorization: Bearer <token>
  • Bind to localhost; expose via Tailscale serve for remote access

API Endpoints

MethodEndpointDescription
GET/sync/statusHealth check
GET/sync/list?path=notesList markdown files
GET/sync/read?path=notes/x.mdRead file + metadata
POST/sync/write?path=notes/x.mdWrite file (conflict detection)

Exposing via Tailscale

tailscale serve --bg --https=18790 http://localhost:18790

Running as a Service

User systemd service

mkdir -p ~/.config/systemd/user

cat > ~/.config/systemd/user/openclaw-sync.service << 'EOF'
[Unit]
Description=OpenClaw Sync Server
After=network.target

[Service]
Type=simple
Environment=SYNC_TOKEN=your-token-here
Environment=SYNC_WORKSPACE=/data/clawdbot
Environment=SYNC_ALLOWED_PATHS=notes,memory
ExecStart=/usr/bin/node /path/to/skills/obsidian-sync/scripts/sync-server.mjs
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
EOF

systemctl --user daemon-reload
systemctl --user enable --now openclaw-sync
loginctl enable-linger $USER  # Start on boot

Obsidian Plugin

This skill provides the backend for the OpenClaw Obsidian plugin:

github.com/AndyBold/obsidian-openclaw

The plugin provides:

  • 💬 Chat sidebar — Talk to your Clawdbot agent from Obsidian
  • 📁 File actions — Create, edit, delete notes via conversation
  • 🔄 Two-way sync — Keep notes synchronized between vault and agent
  • 🔒 Secure storage — OS keychain integration for tokens
  • 📋 Audit logging — Track all file operations

Install the plugin via BRAT using: AndyBold/obsidian-openclaw