openclaw-workspace-sync 2.1.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -1
- package/README.src.md +65 -1
- package/TROUBLESHOOTING.md +223 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/dist/sync-manager.d.ts +3 -1
- package/dist/sync-manager.d.ts.map +1 -1
- package/dist/sync-manager.js +18 -2
- package/dist/sync-manager.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/openclaw.plugin.json +31 -0
- package/package.json +2 -1
- package/skills/workspace-sync/SKILL.md +3 -0
package/README.md
CHANGED
|
@@ -56,13 +56,26 @@ On startup, the plugin bootstraps both directories:
|
|
|
56
56
|
|
|
57
57
|
Because the push explicitly excludes `_inbox/**` and `_outbox/**`, there is no risk of sync loops or accidental overwrites. Files only flow in one direction through each channel.
|
|
58
58
|
|
|
59
|
+
#### Inbox notifications (optional)
|
|
60
|
+
|
|
61
|
+
By default, mailbox mode is silent — files land in `_inbox` without waking the agent. This keeps costs at zero.
|
|
62
|
+
|
|
63
|
+
If you want the agent to react when files arrive, set `"notifyOnInbox": true`. After each drain that moves files, the plugin injects a system event like:
|
|
64
|
+
|
|
65
|
+
> `[workspace-sync] New files in _inbox: report.pdf, data.csv`
|
|
66
|
+
|
|
67
|
+
This wakes the agent on its next heartbeat. The agent sees the message and can process the files — for example, reading, summarizing, or filing them.
|
|
68
|
+
|
|
69
|
+
**This costs credits.** Each notification triggers an agent turn. Only enable it if you want the agent to actively respond to incoming files.
|
|
70
|
+
|
|
59
71
|
```json
|
|
60
72
|
{
|
|
61
73
|
"mode": "mailbox",
|
|
62
74
|
"provider": "dropbox",
|
|
63
75
|
"remotePath": "",
|
|
64
76
|
"localPath": "/",
|
|
65
|
-
"interval":
|
|
77
|
+
"interval": 180,
|
|
78
|
+
"notifyOnInbox": true
|
|
66
79
|
}
|
|
67
80
|
```
|
|
68
81
|
|
|
@@ -110,6 +123,46 @@ Use this only if you understand the trade-offs:
|
|
|
110
123
|
|
|
111
124
|
If you are running on a container platform, `mailbox` mode is strongly recommended.
|
|
112
125
|
|
|
126
|
+
## Before your first sync
|
|
127
|
+
|
|
128
|
+
Getting the initial state right prevents data loss. Each mode has different requirements:
|
|
129
|
+
|
|
130
|
+
### `mailbox` mode — starting state
|
|
131
|
+
|
|
132
|
+
The first sync **pushes** your local workspace to the cloud. This means rclone makes cloud match local exactly — any files on cloud that don't exist locally will be **deleted**.
|
|
133
|
+
|
|
134
|
+
**Recommended starting state:** Local workspace is the source of truth (the agent has been writing here), or local and remote are already identical.
|
|
135
|
+
|
|
136
|
+
**If remote is the source of truth** (e.g. you've been syncing manually or switching from another mode), pull first:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
rclone sync <remote>:<path> /data/workspace/ --config <config-path> \
|
|
140
|
+
--exclude '**/.DS_Store' --exclude '**/.git/**' \
|
|
141
|
+
--exclude '**/__pycache__/**' --exclude '**/node_modules/**' \
|
|
142
|
+
--verbose
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Then verify local matches remote before enabling the plugin.
|
|
146
|
+
|
|
147
|
+
### `mirror` mode — starting state
|
|
148
|
+
|
|
149
|
+
The first sync **pulls** from cloud to local. Local can be empty, stale, or corrupted — the pull simply overwrites it. **No preparation needed.**
|
|
150
|
+
|
|
151
|
+
### `bisync` mode — starting state
|
|
152
|
+
|
|
153
|
+
The first sync requires `--resync`, which copies everything from both sides to the other. Any stale or unwanted files on either side will propagate.
|
|
154
|
+
|
|
155
|
+
**Recommended starting state:** Both sides are identical, or one side is empty and the other has the data you want. Verify both before running `--resync`.
|
|
156
|
+
|
|
157
|
+
### General first-sync checklist
|
|
158
|
+
|
|
159
|
+
1. Run a `--dry-run` first to see what would happen: `openclaw workspace-sync sync --dry-run`
|
|
160
|
+
2. Check the output for unexpected deletions
|
|
161
|
+
3. If everything looks right, run the actual sync
|
|
162
|
+
4. Only then enable periodic sync (`interval` in config)
|
|
163
|
+
|
|
164
|
+
> For maintenance, recovery, and common problems, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md).
|
|
165
|
+
|
|
113
166
|
## Setup sequence
|
|
114
167
|
|
|
115
168
|
Getting sync right depends on doing things in the right order. Follow these steps:
|
|
@@ -192,6 +245,7 @@ Add to your `openclaw.json`:
|
|
|
192
245
|
| `mode` | string | **required** | `mailbox` \| `mirror` \| `bisync` — see [Sync modes](#sync-modes-breaking-change-in-v20) |
|
|
193
246
|
| `ingest` | boolean | `false` | Enable local inbox for sending files to the agent (mirror mode only) |
|
|
194
247
|
| `ingestPath` | string | `"inbox"` | Local subfolder name for ingestion (relative to `localPath`) |
|
|
248
|
+
| `notifyOnInbox` | boolean | `false` | Wake the agent when files arrive in `_inbox` (mailbox mode). Off by default — enabling this costs LLM credits per notification. |
|
|
195
249
|
| `remotePath` | string | `"openclaw-share"` | Folder name in cloud storage |
|
|
196
250
|
| `localPath` | string | `"shared"` | Subfolder within workspace to sync |
|
|
197
251
|
| `interval` | number | `0` | Background sync interval in seconds (0 = manual only, min 60) |
|
|
@@ -407,6 +461,14 @@ Benefits:
|
|
|
407
461
|
- If token is compromised, blast radius is limited
|
|
408
462
|
- Clean separation — sync folder lives under `Apps/<your-app-name>/`
|
|
409
463
|
|
|
464
|
+
### Dropbox rate limiting
|
|
465
|
+
|
|
466
|
+
Dropbox enforces API rate limits (`too_many_requests`). If your workspace has many files (10k+), each sync cycle can consume a large number of API calls just for checking. To avoid hitting limits:
|
|
467
|
+
|
|
468
|
+
- **Set `interval` high enough** for the sync to complete between cycles. A workspace with ~40k files takes ~2 minutes to scan. An `interval` of 180 (3 min) is the minimum; 300 (5 min) is safer.
|
|
469
|
+
- **Use `exclude` patterns liberally** — skip `node_modules`, `.git`, `__pycache__`, build output, and anything you don't need synced. Fewer files = fewer API calls.
|
|
470
|
+
- **If you see `too_many_requests` errors** in the logs, increase the interval and add more excludes.
|
|
471
|
+
|
|
410
472
|
## Understanding sync safety
|
|
411
473
|
|
|
412
474
|
Cloud sync involves two copies of your data. When things go wrong, one side can overwrite the other. Here is what to keep in mind:
|
|
@@ -425,6 +487,8 @@ Cloud sync involves two copies of your data. When things go wrong, one side can
|
|
|
425
487
|
|
|
426
488
|
**If in doubt, use `mailbox` mode.** It gives you a live local mirror of the workspace and a clean way to send files to the agent, with no risk of data loss.
|
|
427
489
|
|
|
490
|
+
> For recovery procedures, mode switching, and maintenance tips, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md).
|
|
491
|
+
|
|
428
492
|
## Important: `--resync` is destructive (bisync only)
|
|
429
493
|
|
|
430
494
|
**Never use `--resync` unless you know exactly what it does.** The `--resync` flag tells rclone to throw away its knowledge of what has changed and do a full reconciliation — it copies every file that exists on either side to the other side. This means:
|
package/README.src.md
CHANGED
|
@@ -72,13 +72,26 @@ On startup, the plugin bootstraps both directories:
|
|
|
72
72
|
|
|
73
73
|
Because the push explicitly excludes `_inbox/**` and `_outbox/**`, there is no risk of sync loops or accidental overwrites. Files only flow in one direction through each channel.
|
|
74
74
|
|
|
75
|
+
#### Inbox notifications (optional)
|
|
76
|
+
|
|
77
|
+
By default, mailbox mode is silent — files land in `_inbox` without waking the agent. This keeps costs at zero.
|
|
78
|
+
|
|
79
|
+
If you want the agent to react when files arrive, set `"notifyOnInbox": true`. After each drain that moves files, the plugin injects a system event like:
|
|
80
|
+
|
|
81
|
+
> `[workspace-sync] New files in _inbox: report.pdf, data.csv`
|
|
82
|
+
|
|
83
|
+
This wakes the agent on its next heartbeat. The agent sees the message and can process the files — for example, reading, summarizing, or filing them.
|
|
84
|
+
|
|
85
|
+
**This costs credits.** Each notification triggers an agent turn. Only enable it if you want the agent to actively respond to incoming files.
|
|
86
|
+
|
|
75
87
|
```json
|
|
76
88
|
{
|
|
77
89
|
"mode": "mailbox",
|
|
78
90
|
"provider": "dropbox",
|
|
79
91
|
"remotePath": "",
|
|
80
92
|
"localPath": "/",
|
|
81
|
-
"interval":
|
|
93
|
+
"interval": 180,
|
|
94
|
+
"notifyOnInbox": true
|
|
82
95
|
}
|
|
83
96
|
```
|
|
84
97
|
|
|
@@ -151,6 +164,46 @@ Use this only if you understand the trade-offs:
|
|
|
151
164
|
|
|
152
165
|
If you are running on a container platform, `mailbox` mode is strongly recommended.
|
|
153
166
|
|
|
167
|
+
## Before your first sync
|
|
168
|
+
|
|
169
|
+
Getting the initial state right prevents data loss. Each mode has different requirements:
|
|
170
|
+
|
|
171
|
+
### `mailbox` mode — starting state
|
|
172
|
+
|
|
173
|
+
The first sync **pushes** your local workspace to the cloud. This means rclone makes cloud match local exactly — any files on cloud that don't exist locally will be **deleted**.
|
|
174
|
+
|
|
175
|
+
**Recommended starting state:** Local workspace is the source of truth (the agent has been writing here), or local and remote are already identical.
|
|
176
|
+
|
|
177
|
+
**If remote is the source of truth** (e.g. you've been syncing manually or switching from another mode), pull first:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
rclone sync <remote>:<path> /data/workspace/ --config <config-path> \
|
|
181
|
+
--exclude '**/.DS_Store' --exclude '**/.git/**' \
|
|
182
|
+
--exclude '**/__pycache__/**' --exclude '**/node_modules/**' \
|
|
183
|
+
--verbose
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Then verify local matches remote before enabling the plugin.
|
|
187
|
+
|
|
188
|
+
### `mirror` mode — starting state
|
|
189
|
+
|
|
190
|
+
The first sync **pulls** from cloud to local. Local can be empty, stale, or corrupted — the pull simply overwrites it. **No preparation needed.**
|
|
191
|
+
|
|
192
|
+
### `bisync` mode — starting state
|
|
193
|
+
|
|
194
|
+
The first sync requires `--resync`, which copies everything from both sides to the other. Any stale or unwanted files on either side will propagate.
|
|
195
|
+
|
|
196
|
+
**Recommended starting state:** Both sides are identical, or one side is empty and the other has the data you want. Verify both before running `--resync`.
|
|
197
|
+
|
|
198
|
+
### General first-sync checklist
|
|
199
|
+
|
|
200
|
+
1. Run a `--dry-run` first to see what would happen: `openclaw workspace-sync sync --dry-run`
|
|
201
|
+
2. Check the output for unexpected deletions
|
|
202
|
+
3. If everything looks right, run the actual sync
|
|
203
|
+
4. Only then enable periodic sync (`interval` in config)
|
|
204
|
+
|
|
205
|
+
> For maintenance, recovery, and common problems, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md).
|
|
206
|
+
|
|
154
207
|
## Setup sequence
|
|
155
208
|
|
|
156
209
|
Getting sync right depends on doing things in the right order. Follow these steps:
|
|
@@ -233,6 +286,7 @@ Add to your `openclaw.json`:
|
|
|
233
286
|
| `mode` | string | **required** | `mailbox` \| `mirror` \| `bisync` — see [Sync modes](#sync-modes-breaking-change-in-v20) |
|
|
234
287
|
| `ingest` | boolean | `false` | Enable local inbox for sending files to the agent (mirror mode only) |
|
|
235
288
|
| `ingestPath` | string | `"inbox"` | Local subfolder name for ingestion (relative to `localPath`) |
|
|
289
|
+
| `notifyOnInbox` | boolean | `false` | Wake the agent when files arrive in `_inbox` (mailbox mode). Off by default — enabling this costs LLM credits per notification. |
|
|
236
290
|
| `remotePath` | string | `"openclaw-share"` | Folder name in cloud storage |
|
|
237
291
|
| `localPath` | string | `"shared"` | Subfolder within workspace to sync |
|
|
238
292
|
| `interval` | number | `0` | Background sync interval in seconds (0 = manual only, min 60) |
|
|
@@ -448,6 +502,14 @@ Benefits:
|
|
|
448
502
|
- If token is compromised, blast radius is limited
|
|
449
503
|
- Clean separation — sync folder lives under `Apps/<your-app-name>/`
|
|
450
504
|
|
|
505
|
+
### Dropbox rate limiting
|
|
506
|
+
|
|
507
|
+
Dropbox enforces API rate limits (`too_many_requests`). If your workspace has many files (10k+), each sync cycle can consume a large number of API calls just for checking. To avoid hitting limits:
|
|
508
|
+
|
|
509
|
+
- **Set `interval` high enough** for the sync to complete between cycles. A workspace with ~40k files takes ~2 minutes to scan. An `interval` of 180 (3 min) is the minimum; 300 (5 min) is safer.
|
|
510
|
+
- **Use `exclude` patterns liberally** — skip `node_modules`, `.git`, `__pycache__`, build output, and anything you don't need synced. Fewer files = fewer API calls.
|
|
511
|
+
- **If you see `too_many_requests` errors** in the logs, increase the interval and add more excludes.
|
|
512
|
+
|
|
451
513
|
## Understanding sync safety
|
|
452
514
|
|
|
453
515
|
Cloud sync involves two copies of your data. When things go wrong, one side can overwrite the other. Here is what to keep in mind:
|
|
@@ -466,6 +528,8 @@ Cloud sync involves two copies of your data. When things go wrong, one side can
|
|
|
466
528
|
|
|
467
529
|
**If in doubt, use `mailbox` mode.** It gives you a live local mirror of the workspace and a clean way to send files to the agent, with no risk of data loss.
|
|
468
530
|
|
|
531
|
+
> For recovery procedures, mode switching, and maintenance tips, see [TROUBLESHOOTING.md](./TROUBLESHOOTING.md).
|
|
532
|
+
|
|
469
533
|
## Important: `--resync` is destructive (bisync only)
|
|
470
534
|
|
|
471
535
|
**Never use `--resync` unless you know exactly what it does.** The `--resync` flag tells rclone to throw away its knowledge of what has changed and do a full reconciliation — it copies every file that exists on either side to the other side. This means:
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Troubleshooting & Maintenance
|
|
2
|
+
|
|
3
|
+
Common problems, recovery procedures, and maintenance tips for `openclaw-workspace-sync`.
|
|
4
|
+
|
|
5
|
+
## Quick diagnostics
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Check plugin status and remote connectivity
|
|
9
|
+
openclaw workspace-sync status
|
|
10
|
+
|
|
11
|
+
# See what a sync would do without changing anything
|
|
12
|
+
openclaw workspace-sync sync --dry-run
|
|
13
|
+
|
|
14
|
+
# Compare local and remote without making changes
|
|
15
|
+
rclone check <remote>:<path> /data/workspace/ --config <config-path>
|
|
16
|
+
|
|
17
|
+
# List remote contents
|
|
18
|
+
rclone ls <remote>:<path> --config <config-path> --max-depth 1
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Common problems
|
|
22
|
+
|
|
23
|
+
### Files deleted unexpectedly after enabling mailbox mode
|
|
24
|
+
|
|
25
|
+
**Cause:** Mailbox mode pushes local → cloud on every sync cycle. If local was empty or stale when you enabled it, the push made cloud match local — deleting cloud files that weren't present locally.
|
|
26
|
+
|
|
27
|
+
**Prevention:** Always align local with remote before enabling mailbox mode. See [Before your first sync](./README.md#before-your-first-sync).
|
|
28
|
+
|
|
29
|
+
**Recovery:**
|
|
30
|
+
1. Disable the plugin immediately (`"enabled": false` in `openclaw.json`, restart gateway)
|
|
31
|
+
2. Check your cloud provider's trash/version history (Dropbox keeps deleted files for 30 days)
|
|
32
|
+
3. Restore from cloud trash or a backup
|
|
33
|
+
4. Re-pull from cloud to align local:
|
|
34
|
+
```bash
|
|
35
|
+
rclone sync <remote>:<path> /data/workspace/ --config <config-path> --verbose
|
|
36
|
+
```
|
|
37
|
+
5. Verify local matches remote, then re-enable the plugin
|
|
38
|
+
|
|
39
|
+
### Duplicate folders from case-sensitivity mismatch
|
|
40
|
+
|
|
41
|
+
**Cause:** macOS and Dropbox are case-insensitive (`code` = `CODE`), but Linux is case-sensitive. Renaming a folder on your Mac (e.g. `code` → `CODE`) propagates to Dropbox, but when rclone pulls to Linux, it may create both `code` and `CODE` as separate directories.
|
|
42
|
+
|
|
43
|
+
**Symptoms:** You see `code`, `CODE`, and/or intermediate names like `code1` on the server.
|
|
44
|
+
|
|
45
|
+
**Fix:**
|
|
46
|
+
1. Check which folder has the most complete contents:
|
|
47
|
+
```bash
|
|
48
|
+
ls /data/workspace/code/ | wc -l
|
|
49
|
+
ls /data/workspace/CODE/ | wc -l
|
|
50
|
+
```
|
|
51
|
+
2. Keep the most complete one, delete the others:
|
|
52
|
+
```bash
|
|
53
|
+
rm -rf /data/workspace/CODE /data/workspace/code1
|
|
54
|
+
```
|
|
55
|
+
3. Re-pull from cloud to fill in anything missing:
|
|
56
|
+
```bash
|
|
57
|
+
rclone sync <remote>:<path> /data/workspace/ --config <config-path> --verbose
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Prevention:** Avoid renaming top-level folders on macOS when syncing to a Linux server via Dropbox. If you need uppercase names, rename on the server side and let it sync down.
|
|
61
|
+
|
|
62
|
+
### "directory not found" errors during sync
|
|
63
|
+
|
|
64
|
+
**Cause:** Ghost directory entries on the cloud provider — the directory name exists but the contents are gone. Common after case-sensitivity renames or interrupted uploads.
|
|
65
|
+
|
|
66
|
+
**Impact:** Harmless. rclone skips these entries and continues. Your sync still works.
|
|
67
|
+
|
|
68
|
+
**Fix:** If the errors bother you, clean up the ghost entries via your cloud provider's web UI (e.g. dropbox.com). You can also run `rclone check` to confirm actual files are in sync despite the errors.
|
|
69
|
+
|
|
70
|
+
### Sync interrupted / incomplete
|
|
71
|
+
|
|
72
|
+
**Cause:** Network timeout, process killed, SSH disconnection, container restart.
|
|
73
|
+
|
|
74
|
+
**Impact:** The sync was partial — some files were transferred, others weren't. No data corruption, but local and remote may be out of sync.
|
|
75
|
+
|
|
76
|
+
**Fix:** Re-run the sync. rclone is idempotent — it only transfers files that differ:
|
|
77
|
+
```bash
|
|
78
|
+
rclone sync <remote>:<path> /data/workspace/ --config <config-path> --verbose
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**Tip:** For long syncs over SSH, use `tmux` or `screen` so the sync survives disconnections:
|
|
82
|
+
```bash
|
|
83
|
+
tmux new -s sync
|
|
84
|
+
rclone sync <remote>:<path> /data/workspace/ --config <config-path> --verbose
|
|
85
|
+
# Ctrl+B, D to detach; tmux attach -t sync to reconnect
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Dropbox rate limiting (`too_many_requests`)
|
|
89
|
+
|
|
90
|
+
**Cause:** Dropbox enforces API rate limits. Each sync cycle checks every file in the workspace, so large workspaces (10k+ files) use many API calls. If the sync interval is shorter than the scan time, cycles overlap and requests pile up.
|
|
91
|
+
|
|
92
|
+
**Symptoms:** Logs show `NOTICE: Error too_many_requests/... Trying again in 300 seconds`. Sync stalls for 5 minutes waiting for the retry.
|
|
93
|
+
|
|
94
|
+
**Fix:**
|
|
95
|
+
1. Increase `interval` — if a scan takes ~2 minutes, set interval to at least 180 (3 min), ideally 300 (5 min)
|
|
96
|
+
2. Add more `exclude` patterns to reduce the number of files scanned:
|
|
97
|
+
```json
|
|
98
|
+
"exclude": [
|
|
99
|
+
"**/node_modules/**",
|
|
100
|
+
"**/.git/**",
|
|
101
|
+
"**/__pycache__/**",
|
|
102
|
+
"**/dist/**",
|
|
103
|
+
"**/.cache/**"
|
|
104
|
+
]
|
|
105
|
+
```
|
|
106
|
+
3. If already rate-limited, wait 5–10 minutes before the next cycle — rclone retries automatically
|
|
107
|
+
|
|
108
|
+
### "directory not found" with Dropbox app folder
|
|
109
|
+
|
|
110
|
+
**Cause:** Your `remotePath` is set to the app folder name (e.g. `"openclaw-sync"`) instead of `""`. With Dropbox app folders, the app folder IS the root — rclone sees it as `/`.
|
|
111
|
+
|
|
112
|
+
**Fix:** Set `"remotePath": ""` in your config.
|
|
113
|
+
|
|
114
|
+
### OAuth token expired
|
|
115
|
+
|
|
116
|
+
**Cause:** Dropbox tokens expire if unused for 90+ days or if the app's permissions change.
|
|
117
|
+
|
|
118
|
+
**Symptoms:** Sync fails with 401/403 errors or "token expired" messages.
|
|
119
|
+
|
|
120
|
+
**Fix:**
|
|
121
|
+
```bash
|
|
122
|
+
openclaw workspace-sync setup
|
|
123
|
+
# Re-run OAuth authorization step
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Or manually re-authorize rclone:
|
|
127
|
+
```bash
|
|
128
|
+
rclone config reconnect <remote>: --config <config-path>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## Switching modes
|
|
132
|
+
|
|
133
|
+
Changing sync mode requires care. Follow this procedure:
|
|
134
|
+
|
|
135
|
+
1. **Disable periodic sync** — set `"enabled": false` or remove `interval` from config, restart gateway
|
|
136
|
+
2. **Align local and remote** — run `rclone check` to verify, or pull/push to align
|
|
137
|
+
3. **Change the mode** in `openclaw.json`
|
|
138
|
+
4. **Run a dry-run** — `openclaw workspace-sync sync --dry-run` to verify behavior
|
|
139
|
+
5. **Run the first sync** under the new mode
|
|
140
|
+
6. **Re-enable periodic sync**
|
|
141
|
+
|
|
142
|
+
### Switching to `mailbox` from `mirror` or `bisync`
|
|
143
|
+
|
|
144
|
+
Mirror pulls from cloud; mailbox pushes to cloud. Before switching:
|
|
145
|
+
- Ensure local is up to date (run one last mirror pull)
|
|
146
|
+
- Then switch to mailbox — the first push should be a no-op if both sides match
|
|
147
|
+
|
|
148
|
+
### Switching to `mirror` from `mailbox` or `bisync`
|
|
149
|
+
|
|
150
|
+
Safe — mirror only pulls. Just switch the mode. The first sync downloads the workspace.
|
|
151
|
+
|
|
152
|
+
### Switching to `bisync` from another mode
|
|
153
|
+
|
|
154
|
+
Requires `--resync` to establish the baseline. Verify both sides are aligned first.
|
|
155
|
+
|
|
156
|
+
## Maintenance
|
|
157
|
+
|
|
158
|
+
### Periodic health checks
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Compare local and remote (no changes)
|
|
162
|
+
rclone check <remote>:<path> /data/workspace/ --config <config-path>
|
|
163
|
+
|
|
164
|
+
# Check disk usage
|
|
165
|
+
du -sh /data/workspace/
|
|
166
|
+
|
|
167
|
+
# Check rclone version
|
|
168
|
+
rclone version
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Backup recommendations
|
|
172
|
+
|
|
173
|
+
- **Container platforms (Fly.io, Railway):** Use a separate persistent volume for the workspace. Volumes can be snapshotted for backup.
|
|
174
|
+
- **VPS:** Schedule daily backups of the workspace directory (cron + tar, or your provider's snapshot feature).
|
|
175
|
+
- **Cloud provider:** Most providers (Dropbox, Google Drive, OneDrive) have built-in version history and trash. Verify these are enabled.
|
|
176
|
+
|
|
177
|
+
### Keeping excludes clean
|
|
178
|
+
|
|
179
|
+
Large or frequently-changing directories waste sync bandwidth. Review your `exclude` patterns periodically:
|
|
180
|
+
|
|
181
|
+
```json
|
|
182
|
+
"exclude": [
|
|
183
|
+
"**/.DS_Store",
|
|
184
|
+
"**/.git/**",
|
|
185
|
+
"**/__pycache__/**",
|
|
186
|
+
"**/.venv/**",
|
|
187
|
+
"**/venv/**",
|
|
188
|
+
"**/node_modules/**",
|
|
189
|
+
"*.log",
|
|
190
|
+
"DUPLICATES/**"
|
|
191
|
+
]
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Common additions:
|
|
195
|
+
- `"**/dist/**"` — build output
|
|
196
|
+
- `"**/.cache/**"` — tool caches
|
|
197
|
+
- `"**/tmp/**"` — temporary files
|
|
198
|
+
- `"**/*.pyc"` — compiled Python
|
|
199
|
+
|
|
200
|
+
### Updating the plugin
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
openclaw plugins install openclaw-workspace-sync
|
|
204
|
+
# or
|
|
205
|
+
cd ~/.openclaw/extensions/workspace-sync && git pull && npm install --omit=dev
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
After updating, restart the gateway to pick up the new version.
|
|
209
|
+
|
|
210
|
+
## Emergency: stop all syncing
|
|
211
|
+
|
|
212
|
+
If something is going wrong and you need to stop immediately:
|
|
213
|
+
|
|
214
|
+
1. **Disable the plugin:**
|
|
215
|
+
```json
|
|
216
|
+
"openclaw-workspace-sync": {
|
|
217
|
+
"enabled": false
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
2. **Restart the gateway**
|
|
221
|
+
3. **Assess the damage** — compare local and remote with `rclone check`
|
|
222
|
+
4. **Recover** — use cloud provider trash/version history if needed
|
|
223
|
+
5. **Fix the root cause** before re-enabling
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAyB7D,QAAA,MAAM,mBAAmB;;;;kBAMT,iBAAiB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAyB7D,QAAA,MAAM,mBAAmB;;;;kBAMT,iBAAiB;CAwoBhC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -520,7 +520,32 @@ const workspaceSyncPlugin = {
|
|
|
520
520
|
return;
|
|
521
521
|
}
|
|
522
522
|
const wsDir = ctx.workspaceDir ?? api.resolvePath("workspace");
|
|
523
|
-
|
|
523
|
+
let onInboxFiles;
|
|
524
|
+
if (syncConfig.notifyOnInbox) {
|
|
525
|
+
onInboxFiles = (files) => {
|
|
526
|
+
const listing = files.length <= 5
|
|
527
|
+
? files.join(", ")
|
|
528
|
+
: `${files.slice(0, 5).join(", ")} and ${files.length - 5} more`;
|
|
529
|
+
const text = `[workspace-sync] New files in _inbox: ${listing}`;
|
|
530
|
+
const cfg = api.config;
|
|
531
|
+
const agents = cfg?.agents?.list ?? [];
|
|
532
|
+
const defaultAgentId = (agents.find((a) => a?.default)?.id ?? agents[0]?.id ?? "main")
|
|
533
|
+
.trim().toLowerCase() || "main";
|
|
534
|
+
const mainKey = (cfg?.session?.mainKey ?? "main").trim().toLowerCase() || "main";
|
|
535
|
+
const sessionKey = cfg?.session?.scope === "global"
|
|
536
|
+
? "global"
|
|
537
|
+
: `agent:${defaultAgentId}:${mainKey}`;
|
|
538
|
+
api.logger.info(`${text} (notifying session ${sessionKey})`);
|
|
539
|
+
try {
|
|
540
|
+
api.runtime.system.enqueueSystemEvent(text, { sessionKey });
|
|
541
|
+
api.runtime.system.requestHeartbeatNow({ reason: "workspace-sync:inbox" });
|
|
542
|
+
}
|
|
543
|
+
catch (err) {
|
|
544
|
+
api.logger.warn(`[workspace-sync] Failed to notify agent: ${err instanceof Error ? err.message : String(err)}`);
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
}
|
|
548
|
+
startSyncManager(syncConfig, wsDir, ctx.stateDir, ctx.logger, { onInboxFiles });
|
|
524
549
|
},
|
|
525
550
|
stop: () => {
|
|
526
551
|
stopSyncManager();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sync-manager.d.ts
CHANGED
|
@@ -11,7 +11,9 @@ type Logger = {
|
|
|
11
11
|
warn: (msg: string) => void;
|
|
12
12
|
error: (msg: string) => void;
|
|
13
13
|
};
|
|
14
|
-
export declare function startSyncManager(syncConfig: WorkspaceSyncConfig, workspaceDir: string, stateDir: string, logger: Logger
|
|
14
|
+
export declare function startSyncManager(syncConfig: WorkspaceSyncConfig, workspaceDir: string, stateDir: string, logger: Logger, opts?: {
|
|
15
|
+
onInboxFiles?: (files: string[]) => void;
|
|
16
|
+
}): void;
|
|
15
17
|
export declare function stopSyncManager(): void;
|
|
16
18
|
export declare function getSyncManagerStatus(): {
|
|
17
19
|
running: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../src/sync-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAgBtD,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../src/sync-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAgBtD,KAAK,MAAM,GAAG;IACZ,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,CAAC;AA2SF,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;CAAE,GAClD,IAAI,CAoDN;AAED,wBAAgB,eAAe,IAAI,IAAI,CAYtC;AAED,wBAAgB,oBAAoB,IAAI;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAQA;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1D"}
|
package/dist/sync-manager.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Runs rclone bisync at configured intervals WITHOUT involving the agent/LLM.
|
|
5
5
|
* Pure file operation, zero token cost.
|
|
6
6
|
*/
|
|
7
|
-
import { existsSync, mkdirSync } from "node:fs";
|
|
7
|
+
import { existsSync, mkdirSync, readdirSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { isRcloneInstalled, isRcloneConfigured, ensureRcloneConfigFromConfig, resolveSyncConfig, runBisync, runSync, runCopy, runMove, runMkdir, clearBisyncLocks, } from "./rclone.js";
|
|
10
10
|
const state = {
|
|
@@ -21,6 +21,7 @@ let currentSyncConfig = null;
|
|
|
21
21
|
let currentWorkspaceDir = null;
|
|
22
22
|
let currentStateDir = null;
|
|
23
23
|
let currentLogger = null;
|
|
24
|
+
let currentOnInboxFiles = null;
|
|
24
25
|
function scheduleNextSync() {
|
|
25
26
|
if (!state.running || state.intervalMs <= 0)
|
|
26
27
|
return;
|
|
@@ -122,6 +123,7 @@ async function doSync() {
|
|
|
122
123
|
}
|
|
123
124
|
// Step 2: drain cloud _outbox → local _inbox (move = deletes from cloud after transfer)
|
|
124
125
|
logger.info(`[workspace-sync] Mailbox: draining ${resolved.remoteName}:${outboxRemotePath} → ${inboxLocalPath}`);
|
|
126
|
+
const inboxBefore = new Set(existsSync(inboxLocalPath) ? readdirSync(inboxLocalPath) : []);
|
|
125
127
|
const drainResult = await runMove({
|
|
126
128
|
configPath: resolved.configPath,
|
|
127
129
|
remoteName: resolved.remoteName,
|
|
@@ -133,6 +135,18 @@ async function doSync() {
|
|
|
133
135
|
});
|
|
134
136
|
if (drainResult.ok) {
|
|
135
137
|
logger.info("[workspace-sync] Mailbox drain completed");
|
|
138
|
+
if (currentOnInboxFiles) {
|
|
139
|
+
const inboxAfter = existsSync(inboxLocalPath) ? readdirSync(inboxLocalPath) : [];
|
|
140
|
+
const newFiles = inboxAfter.filter((f) => !inboxBefore.has(f));
|
|
141
|
+
if (newFiles.length > 0) {
|
|
142
|
+
try {
|
|
143
|
+
currentOnInboxFiles(newFiles);
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
logger.warn(`[workspace-sync] Inbox notification error: ${err instanceof Error ? err.message : String(err)}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
136
150
|
}
|
|
137
151
|
else {
|
|
138
152
|
logger.warn(`[workspace-sync] Mailbox drain failed: ${drainResult.error}`);
|
|
@@ -231,12 +245,13 @@ async function bootstrapMailbox(syncConfig, workspaceDir, stateDir, logger) {
|
|
|
231
245
|
logger.info(`[workspace-sync] Mailbox: created local _inbox at ${inboxLocalPath}`);
|
|
232
246
|
}
|
|
233
247
|
}
|
|
234
|
-
export function startSyncManager(syncConfig, workspaceDir, stateDir, logger) {
|
|
248
|
+
export function startSyncManager(syncConfig, workspaceDir, stateDir, logger, opts) {
|
|
235
249
|
stopSyncManager();
|
|
236
250
|
currentSyncConfig = syncConfig;
|
|
237
251
|
currentWorkspaceDir = workspaceDir;
|
|
238
252
|
currentStateDir = stateDir;
|
|
239
253
|
currentLogger = logger;
|
|
254
|
+
currentOnInboxFiles = opts?.onInboxFiles ?? null;
|
|
240
255
|
if (!syncConfig.provider || syncConfig.provider === "off") {
|
|
241
256
|
logger.info("[workspace-sync] Workspace sync not configured");
|
|
242
257
|
return;
|
|
@@ -278,6 +293,7 @@ export function stopSyncManager() {
|
|
|
278
293
|
currentWorkspaceDir = null;
|
|
279
294
|
currentStateDir = null;
|
|
280
295
|
currentLogger = null;
|
|
296
|
+
currentOnInboxFiles = null;
|
|
281
297
|
}
|
|
282
298
|
export function getSyncManagerStatus() {
|
|
283
299
|
return {
|
package/dist/sync-manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../src/sync-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../src/sync-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export type WorkspaceSyncConfig = {
|
|
|
26
26
|
ingest?: boolean;
|
|
27
27
|
/** Local subfolder name for ingestion, relative to localPath. Default: "inbox". Mirror mode only. */
|
|
28
28
|
ingestPath?: string;
|
|
29
|
+
/** Notify the agent when files arrive in _inbox after a mailbox drain. Off by default to avoid waking the agent and burning credits. */
|
|
30
|
+
notifyOnInbox?: boolean;
|
|
29
31
|
remotePath?: string;
|
|
30
32
|
localPath?: string;
|
|
31
33
|
interval?: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,mHAAmH;IACnH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;KACpD,CAAC;IACF,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,mHAAmH;IACnH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qGAAqG;IACrG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wIAAwI;IACxI,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;KACpD,CAAC;IACF,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,CAAC;CACH,CAAC"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -5,6 +5,24 @@
|
|
|
5
5
|
"label": "Cloud Provider",
|
|
6
6
|
"help": "Cloud storage provider for workspace sync"
|
|
7
7
|
},
|
|
8
|
+
"mode": {
|
|
9
|
+
"label": "Sync Mode",
|
|
10
|
+
"help": "mailbox (safest, inbox/outbox), mirror (remote→local), or bisync (bidirectional)"
|
|
11
|
+
},
|
|
12
|
+
"ingest": {
|
|
13
|
+
"label": "Enable Ingest",
|
|
14
|
+
"help": "Create a local inbox folder that syncs one-way up to the workspace (mirror mode only)"
|
|
15
|
+
},
|
|
16
|
+
"ingestPath": {
|
|
17
|
+
"label": "Ingest Path",
|
|
18
|
+
"placeholder": "inbox",
|
|
19
|
+
"help": "Local subfolder name for ingestion (default: inbox). Mirror mode only.",
|
|
20
|
+
"advanced": true
|
|
21
|
+
},
|
|
22
|
+
"notifyOnInbox": {
|
|
23
|
+
"label": "Notify on Inbox",
|
|
24
|
+
"help": "Wake the agent when files arrive in _inbox after a mailbox drain. Off by default to avoid burning credits."
|
|
25
|
+
},
|
|
8
26
|
"remotePath": {
|
|
9
27
|
"label": "Remote Path",
|
|
10
28
|
"placeholder": "openclaw-share",
|
|
@@ -122,6 +140,19 @@
|
|
|
122
140
|
"custom"
|
|
123
141
|
]
|
|
124
142
|
},
|
|
143
|
+
"mode": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"enum": ["mirror", "mailbox", "bisync"]
|
|
146
|
+
},
|
|
147
|
+
"ingest": {
|
|
148
|
+
"type": "boolean"
|
|
149
|
+
},
|
|
150
|
+
"ingestPath": {
|
|
151
|
+
"type": "string"
|
|
152
|
+
},
|
|
153
|
+
"notifyOnInbox": {
|
|
154
|
+
"type": "boolean"
|
|
155
|
+
},
|
|
125
156
|
"remotePath": {
|
|
126
157
|
"type": "string"
|
|
127
158
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openclaw-workspace-sync",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Workspace cloud sync via rclone — mailbox (inbox/outbox), mirror, or bisync (Dropbox, Google Drive, S3, OneDrive, 70+ providers)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"skills",
|
|
30
30
|
"openclaw.plugin.json",
|
|
31
31
|
"README.md",
|
|
32
|
+
"TROUBLESHOOTING.md",
|
|
32
33
|
"LICENSE"
|
|
33
34
|
],
|
|
34
35
|
"dependencies": {
|
|
@@ -31,6 +31,8 @@ Each sync cycle: (1) pushes workspace to cloud excluding `_inbox/` and `_outbox/
|
|
|
31
31
|
|
|
32
32
|
Users drop files in the local `_outbox/` folder (created by the cloud provider's desktop app). Files arrive in the agent's `_inbox/`. The agent or a skill processes them from there.
|
|
33
33
|
|
|
34
|
+
With `notifyOnInbox: true`, the agent is woken when files land in `_inbox`. A system event lists the new filenames so the agent can process them. Off by default — each notification costs an agent turn.
|
|
35
|
+
|
|
34
36
|
### Mirror mode with ingest
|
|
35
37
|
|
|
36
38
|
With `ingest: true`, a local `inbox/` folder syncs one-way **up** to the remote workspace (additive only). For a more robust pattern, use `mailbox` mode instead.
|
|
@@ -111,6 +113,7 @@ Workspace sync is configured via the plugin entry in `openclaw.json`:
|
|
|
111
113
|
| `mode` | **required** | `mailbox` (inbox/outbox, safest), `mirror` (remote->local), or `bisync` (bidirectional) |
|
|
112
114
|
| `ingest` | `false` | Enable local inbox for sending files to the agent (mirror mode only) |
|
|
113
115
|
| `ingestPath` | `"inbox"` | Local subfolder name for ingestion |
|
|
116
|
+
| `notifyOnInbox` | `false` | Wake the agent when files arrive in `_inbox` (mailbox mode). Costs credits per notification. |
|
|
114
117
|
| `remotePath` | `"openclaw-share"` | Folder name in cloud storage |
|
|
115
118
|
| `localPath` | `"shared"` | Subfolder within workspace to sync |
|
|
116
119
|
| `interval` | `0` | Background sync interval in seconds (0 = manual only, min 60) |
|