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 Variable | Default | Description |
|---|
SYNC_PORT
| 18790
| Server port |
SYNC_BIND
| localhost
| Bind address |
SYNC_WORKSPACE
| /data/clawdbot
| Root workspace path |
SYNC_TOKEN
| (required) | Auth token (use Gateway token) |
SYNC_ALLOWED_PATHS
| notes,memory
| Comma-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
| Method | Endpoint | Description |
|---|
| GET | /sync/status
| Health check |
| GET | /sync/list?path=notes
| List markdown files |
| GET | /sync/read?path=notes/x.md
| Read file + metadata |
| POST | /sync/write?path=notes/x.md
| Write 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