XingSeq 控制台外挂子应用:监控本地目录变更,单向增量同步到目标目录。
核心行为:
- 新增 / 修改 → 自动 rsync 增量同步(debounce 1s)
- 源删除 → 仅日志提醒,绝不同步删除目标文件
- Web GUI 管理多个同步任务,SSE 实时日志流
打开 XingSeq 控制台 → 应用商店 → 安装「文件夹同步」,完成后左侧导航出现 📂 文件夹同步。
git clone https://github.com/xingseq/folder-sync.git
cd folder-sync
npm install --omit=dev复制到 XingSeq 子应用安装目录(macOS):
rsync -a --exclude web/node_modules --exclude .git ./ \
"$HOME/Library/Application Support/xingseq/projects/folder-sync/"重启 XingSeq 控制台即可。
PORT=8020 npm start
# 浏览器打开 http://localhost:8020- macOS / Linux(依赖系统
rsync) - Node.js ≥ 18
- 后端零框架:
node:http+ chokidar 文件监控 - 同步引擎:
rsync -a(不带--delete);删除探测用rsync -n -i --deletedry-run 匹配*deleting行,仅提醒 - 任务持久化:
~/.xingseq/folder-sync/tasks.json - 前端:React + Vite,
web/dist已预构建随仓库分发(安装免构建)
| Method | Path | 说明 |
|---|---|---|
| GET | /api/health | 健康检查 |
| GET/POST | /api/tasks | 列出 / 创建任务 |
| GET/PUT/DELETE | /api/tasks/:id | 查看 / 更新 / 删除任务 |
| POST | /api/tasks/:id/start/stop/sync | 启停监控 / 手动同步 |
| GET | /api/tasks/:id/logs | 最近日志(?limit=200) |
| GET | /api/tasks/:id/logs/stream | SSE 实时日志流 |
MIT