clawmacdo 0.18.0 → 0.20.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 +115 -15
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -5,14 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
Rust CLI tool for deploying [OpenClaw](https://openclaw.ai) to **DigitalOcean**, **AWS Lightsail**, **Tencent Cloud**, **Microsoft Azure**, or **BytePlus Cloud** — with Claude Code, Codex, and Gemini CLI pre-installed.
|
|
7
7
|
|
|
8
|
-
## ✨ What's New in v0.
|
|
8
|
+
## ✨ What's New in v0.20.0
|
|
9
9
|
|
|
10
|
+
- **`do-restore` subcommand** — restore a DigitalOcean droplet from a snapshot by name, with standard `openclaw-{id}` naming and deploy record saved to both JSON and SQLite (visible in web UI Deployments tab)
|
|
11
|
+
|
|
12
|
+
### Previous highlights (v0.19.x)
|
|
13
|
+
- **One-click Funnel access** — "Open" button in Deployments tab opens the Funnel webchat with gateway token pre-injected (no manual token paste or device pairing needed)
|
|
14
|
+
- **Auto-disable device pairing for Funnel** — Funnel setup sets `dangerouslyDisableDeviceAuth: true` so browser connections via Tailscale Funnel skip the pairing screen
|
|
15
|
+
|
|
16
|
+
### Previous highlights (v0.18.x)
|
|
10
17
|
- **Tailscale Funnel** — `tailscale-funnel` subcommand: install Tailscale, enable Funnel, configure `openclaw.json`, auto-approve devices, and print public webchat URL
|
|
11
18
|
- **Funnel toggle** — `funnel-on` / `funnel-off` CLI commands and web UI Deployments tab toggle button
|
|
12
|
-
- **
|
|
13
|
-
- **Customer skill management** — `skill-upload`, `skill-download`, `skill-push` subcommands for per-deployment SKILL.md via Railway skills API + SCP to instances
|
|
14
|
-
- **User-skills API** — REST endpoints for per-deployment SKILL.md with API key protection and auto-backup
|
|
15
|
-
- **Web UI fixes** — Deployments tab works after PIN login; logout button; PIN error message displays correctly
|
|
19
|
+
- **Customer skill management** — `skill-upload`, `skill-download`, `skill-push` subcommands for per-deployment SKILL.md
|
|
16
20
|
|
|
17
21
|
### Previous highlights (v0.17.x)
|
|
18
22
|
- **Web UI security hardening (CRIT-01)** — API key auth, 6-digit PIN login, CORS, rate limiting, localhost-only binding
|
|
@@ -80,6 +84,7 @@ clawmacdo/
|
|
|
80
84
|
- **Backup** local `~/.openclaw/` config into a timestamped `.tar.gz`
|
|
81
85
|
- **1-click deploy**: generate SSH keys, provision a cloud instance, install Node 24 + OpenClaw + Claude Code + Codex + Gemini CLI, restore config, configure `.env` (API + messaging), start the gateway, and auto-configure model failover
|
|
82
86
|
- **Cloud-to-cloud migration**: SSH into a source instance, back up remotely, deploy to a new instance, restore
|
|
87
|
+
- **Snapshot restore**: create a DigitalOcean droplet from a snapshot by name, with deploy record saved to SQLite for web UI visibility
|
|
83
88
|
- **Destroy**: delete an instance by name with confirmation, clean up SSH keys (cloud + local)
|
|
84
89
|
- **Status**: list all openclaw-tagged instances with IPs
|
|
85
90
|
- **List backups**: show local backup archives with sizes and dates
|
|
@@ -220,11 +225,14 @@ clawmacdo deploy \
|
|
|
220
225
|
export BYTEPLUS_ACCESS_KEY="your_access_key"
|
|
221
226
|
export BYTEPLUS_SECRET_KEY="your_secret_key"
|
|
222
227
|
|
|
223
|
-
# Deploy
|
|
228
|
+
# Deploy with BytePlus ARK as primary AI model
|
|
224
229
|
clawmacdo deploy \
|
|
225
230
|
--provider byteplus \
|
|
226
231
|
--customer-name "my-openclaw-bp" \
|
|
227
|
-
--region ap-southeast-1
|
|
232
|
+
--region ap-southeast-1 \
|
|
233
|
+
--primary-model byteplus \
|
|
234
|
+
--byteplus-ark-api-key "$BYTEPLUS_ARK_API_KEY" \
|
|
235
|
+
--anthropic-key "$ANTHROPIC_API_KEY"
|
|
228
236
|
```
|
|
229
237
|
|
|
230
238
|
#### BytePlus Instance Sizes
|
|
@@ -236,6 +244,90 @@ clawmacdo deploy \
|
|
|
236
244
|
| `ecs.c3i.xlarge` | 4 | 8 GB | Compute-optimized |
|
|
237
245
|
| `ecs.g3i.xlarge` | 4 | 16 GB | General purpose |
|
|
238
246
|
|
|
247
|
+
### AI Model Configuration
|
|
248
|
+
|
|
249
|
+
Set a primary AI model and optional failovers for the deployed instance. Supported models: `anthropic`, `openai`, `gemini`, `byteplus`.
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
# Anthropic as primary (default)
|
|
253
|
+
clawmacdo deploy --provider do --customer-email "user@example.com" \
|
|
254
|
+
--primary-model anthropic --anthropic-key "$ANTHROPIC_API_KEY"
|
|
255
|
+
|
|
256
|
+
# BytePlus ARK as primary with Anthropic failover
|
|
257
|
+
clawmacdo deploy --provider bp --customer-email "user@example.com" \
|
|
258
|
+
--primary-model byteplus --failover-1 anthropic \
|
|
259
|
+
--byteplus-ark-api-key "$BYTEPLUS_ARK_API_KEY" \
|
|
260
|
+
--anthropic-key "$ANTHROPIC_API_KEY"
|
|
261
|
+
|
|
262
|
+
# Multi-model failover chain
|
|
263
|
+
clawmacdo deploy --provider do --customer-email "user@example.com" \
|
|
264
|
+
--primary-model anthropic --failover-1 openai --failover-2 gemini \
|
|
265
|
+
--anthropic-key "$ANTHROPIC_API_KEY" \
|
|
266
|
+
--openai-key "$OPENAI_API_KEY" --gemini-key "$GEMINI_API_KEY"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
| Model | `--primary-model` value | Model identifier | Required flag |
|
|
270
|
+
|-------|------------------------|------------------|---------------|
|
|
271
|
+
| Anthropic Claude | `anthropic` | `anthropic/claude-opus-4-6` | `--anthropic-key` |
|
|
272
|
+
| OpenAI | `openai` | `openai/gpt-5-mini` | `--openai-key` |
|
|
273
|
+
| Google Gemini | `gemini` | `google/gemini-2.5-flash` | `--gemini-key` |
|
|
274
|
+
| BytePlus ARK | `byteplus` | `byteplus/ark-code-latest` | `--byteplus-ark-api-key` |
|
|
275
|
+
|
|
276
|
+
### ARK API Key Management
|
|
277
|
+
|
|
278
|
+
Generate temporary BytePlus ARK API keys or list available endpoints.
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
# List available ARK endpoints
|
|
282
|
+
clawmacdo ark-api-key --list
|
|
283
|
+
|
|
284
|
+
# Generate a 7-day API key for an endpoint
|
|
285
|
+
clawmacdo ark-api-key \
|
|
286
|
+
--resource-ids ep-20260315233753-58rpv
|
|
287
|
+
|
|
288
|
+
# Generate a 30-day key for multiple endpoints
|
|
289
|
+
clawmacdo ark-api-key \
|
|
290
|
+
--resource-ids ep-abc123,ep-def456 \
|
|
291
|
+
--duration 2592000
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### ARK Chat
|
|
295
|
+
|
|
296
|
+
Send chat prompts directly to BytePlus ARK model endpoints from the CLI.
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# Direct usage
|
|
300
|
+
clawmacdo ark-chat \
|
|
301
|
+
--api-key "$ARK_API_KEY" \
|
|
302
|
+
--endpoint-id ep-20260315233753-58rpv \
|
|
303
|
+
"Hello, what model are you?"
|
|
304
|
+
|
|
305
|
+
# Using environment variables
|
|
306
|
+
export ARK_API_KEY="your_ark_api_key"
|
|
307
|
+
export ARK_ENDPOINT_ID="ep-20260315233753-58rpv"
|
|
308
|
+
clawmacdo ark-chat "Explain quantum computing in 3 sentences."
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Restore DigitalOcean Droplet from Snapshot
|
|
312
|
+
|
|
313
|
+
Create a new droplet from an existing DigitalOcean snapshot. The droplet name follows the standard `openclaw-{id}` naming convention.
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
# Restore from a snapshot by name
|
|
317
|
+
clawmacdo do-restore \
|
|
318
|
+
--do-token "$DO_TOKEN" \
|
|
319
|
+
--snapshot-name "my-openclaw-snapshot"
|
|
320
|
+
|
|
321
|
+
# With region and size overrides
|
|
322
|
+
clawmacdo do-restore \
|
|
323
|
+
--do-token "$DO_TOKEN" \
|
|
324
|
+
--snapshot-name "my-openclaw-snapshot" \
|
|
325
|
+
--region nyc1 \
|
|
326
|
+
--size s-4vcpu-8gb
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
The command generates a new SSH key pair, looks up the snapshot by name, creates the droplet, waits for it to become active, and saves a deploy record for use with other `clawmacdo` commands.
|
|
330
|
+
|
|
239
331
|
### Track Deploy Progress
|
|
240
332
|
|
|
241
333
|
```bash
|
|
@@ -289,15 +381,20 @@ clawmacdo deploy --restore-from ~/.openclaw/backups/openclaw-2024-03-09_14-30-15
|
|
|
289
381
|
clawmacdo deploy \
|
|
290
382
|
--provider digitalocean \
|
|
291
383
|
--customer-name "production-openclaw" \
|
|
384
|
+
--customer-email "admin@company.com" \
|
|
292
385
|
--size s-2vcpu-4gb \
|
|
293
386
|
--region nyc1 \
|
|
294
|
-
--
|
|
295
|
-
--
|
|
296
|
-
--
|
|
297
|
-
--
|
|
298
|
-
--
|
|
387
|
+
--primary-model anthropic \
|
|
388
|
+
--failover-1 openai \
|
|
389
|
+
--failover-2 gemini \
|
|
390
|
+
--anthropic-key "$ANTHROPIC_API_KEY" \
|
|
391
|
+
--openai-key "$OPENAI_API_KEY" \
|
|
392
|
+
--gemini-key "$GEMINI_API_KEY" \
|
|
393
|
+
--telegram-bot-token "$TELEGRAM_TOKEN" \
|
|
394
|
+
--whatsapp-phone-number "+1234567890" \
|
|
299
395
|
--tailscale \
|
|
300
|
-
--tailscale-auth-key "$TAILSCALE_AUTH"
|
|
396
|
+
--tailscale-auth-key "$TAILSCALE_AUTH" \
|
|
397
|
+
--backup ~/openclaw-backup.tar.gz
|
|
301
398
|
```
|
|
302
399
|
|
|
303
400
|
### Quick Status Check
|
|
@@ -361,6 +458,9 @@ new-crate = { workspace = true }
|
|
|
361
458
|
| `AZURE_CLIENT_SECRET` | Azure service principal client secret | For Azure deploys |
|
|
362
459
|
| `BYTEPLUS_ACCESS_KEY` | BytePlus Access Key | For BytePlus deploys |
|
|
363
460
|
| `BYTEPLUS_SECRET_KEY` | BytePlus Secret Key | For BytePlus deploys |
|
|
461
|
+
| `BYTEPLUS_ARK_API_KEY` | BytePlus ARK API key (for AI model inference) | For BytePlus ARK model |
|
|
462
|
+
| `ARK_API_KEY` | ARK bearer token for `ark-chat` | For `ark-chat` |
|
|
463
|
+
| `ARK_ENDPOINT_ID` | ARK endpoint ID for `ark-chat` | For `ark-chat` |
|
|
364
464
|
| `CLAUDE_API_KEY` | Anthropic Claude API key | Optional |
|
|
365
465
|
| `OPENAI_API_KEY` | OpenAI API key | Optional |
|
|
366
466
|
| `TELEGRAM_TOKEN` | Telegram bot token | Optional |
|
|
@@ -411,6 +511,6 @@ See [CHANGELOG.md](CHANGELOG.md) for version history and breaking changes.
|
|
|
411
511
|
|
|
412
512
|
---
|
|
413
513
|
|
|
414
|
-
**Last updated:** March
|
|
415
|
-
**Current version:** 0.
|
|
514
|
+
**Last updated:** March 17, 2026
|
|
515
|
+
**Current version:** 0.20.0
|
|
416
516
|
**Architecture version:** 2.0 (modular workspace)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawmacdo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "CLI tool for deploying OpenClaw to multiple cloud providers with pre-installed AI dev tools",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"openclaw",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"node": ">=16"
|
|
31
31
|
},
|
|
32
32
|
"optionalDependencies": {
|
|
33
|
-
"@clawmacdo/darwin-arm64": "0.
|
|
34
|
-
"@clawmacdo/linux-x64": "0.
|
|
35
|
-
"@clawmacdo/win32-x64": "0.
|
|
33
|
+
"@clawmacdo/darwin-arm64": "0.20.0",
|
|
34
|
+
"@clawmacdo/linux-x64": "0.20.0",
|
|
35
|
+
"@clawmacdo/win32-x64": "0.20.0"
|
|
36
36
|
}
|
|
37
37
|
}
|