介绍
# Obsidian Sync Server
一个用于在 Clawdbot 和 Obsidian 之间进行双向同步的安全文件同步服务器。
> **📦 此技能是 [obsidian-openclaw](https://github.com/AndyBold/obsidian-openclaw) 的一部分** > 一个 Obsidian 插件,允许您与 Clawdbot 智能体聊天,并在您的笔记库和智能体的工作区之间同步笔记。
## 快速开始
```bash SYNC_TOKEN="your-gateway-token" node scripts/sync-server.mjs ```
## 配置
| 环境变量 | 默认值 | 描述 | |---------------------|---------|-------------| | `SYNC_PORT` | `18790` | 服务器端口 | | `SYNC_BIND` | `localhost` | 绑定地址 | | `SYNC_WORKSPACE` | `/data/clawdbot` | 根工作区路径 | | `SYNC_TOKEN` | (必填) | 认证令牌(使用 Gateway 令牌) | | `SYNC_ALLOWED_PATHS` | `notes,memory` | 逗号分隔的允许访问的子目录 |
## 安全
- 仅可访问配置的子目录 - 阻止路径遍历 (`../`) - 所有请求均需 `Authorization: Bearer <token>` - 绑定到 localhost;通过 Tailscale serve 暴露以实现远程访问
## API 端点
| 方法 | 端点 | 描述 | |--------|----------|-------------| | GET | `/sync/status` | 健康检查 | | GET | `/sync/list?path=notes` | 列出 Markdown 文件 | | GET | `/sync/read?path=notes/x.md` | 读取文件及元数据 | | POST | `/sync/write?path=notes/x.md` | 写入文件(冲突检测) |
## 通过 Tailscale 暴露服务
```bash tailscale serve --bg --https=18790 http://localhost:18790 ```
## 作为服务运行
### 用户 systemd 服务
```bash 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 插件
此技能为 **OpenClaw Obsidian 插件** 提供后端支持:
**[github.com/AndyBold/obsidian-openclaw](https://github.com/AndyBold/obsidian-openclaw)**
该插件提供: - 💬 **聊天侧边栏** — 从 Obsidian 直接与您的 Clawdbot 智能体对话 - 📁 **文件操作** — 通过对话创建、编辑、删除笔记 - 🔄 **双向同步** — 保持笔记库与智能体之间的同步 - 🔒 **安全存储** — 操作系统钥匙串集成以存储令牌 - 📋 **审计日志** — 追踪所有文件操作
使用 [BRAT](https://github.com/TfTHacker/obsidian42-brat) 安装插件,输入:`AndyBold/obsidian-openclaw`