clawmacdo 0.19.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 +110 -11
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -5,8 +5,11 @@
|
|
|
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)
|
|
10
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)
|
|
11
14
|
- **Auto-disable device pairing for Funnel** — Funnel setup sets `dangerouslyDisableDeviceAuth: true` so browser connections via Tailscale Funnel skip the pairing screen
|
|
12
15
|
|
|
@@ -81,6 +84,7 @@ clawmacdo/
|
|
|
81
84
|
- **Backup** local `~/.openclaw/` config into a timestamped `.tar.gz`
|
|
82
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
|
|
83
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
|
|
84
88
|
- **Destroy**: delete an instance by name with confirmation, clean up SSH keys (cloud + local)
|
|
85
89
|
- **Status**: list all openclaw-tagged instances with IPs
|
|
86
90
|
- **List backups**: show local backup archives with sizes and dates
|
|
@@ -221,11 +225,14 @@ clawmacdo deploy \
|
|
|
221
225
|
export BYTEPLUS_ACCESS_KEY="your_access_key"
|
|
222
226
|
export BYTEPLUS_SECRET_KEY="your_secret_key"
|
|
223
227
|
|
|
224
|
-
# Deploy
|
|
228
|
+
# Deploy with BytePlus ARK as primary AI model
|
|
225
229
|
clawmacdo deploy \
|
|
226
230
|
--provider byteplus \
|
|
227
231
|
--customer-name "my-openclaw-bp" \
|
|
228
|
-
--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"
|
|
229
236
|
```
|
|
230
237
|
|
|
231
238
|
#### BytePlus Instance Sizes
|
|
@@ -237,6 +244,90 @@ clawmacdo deploy \
|
|
|
237
244
|
| `ecs.c3i.xlarge` | 4 | 8 GB | Compute-optimized |
|
|
238
245
|
| `ecs.g3i.xlarge` | 4 | 16 GB | General purpose |
|
|
239
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
|
+
|
|
240
331
|
### Track Deploy Progress
|
|
241
332
|
|
|
242
333
|
```bash
|
|
@@ -290,15 +381,20 @@ clawmacdo deploy --restore-from ~/.openclaw/backups/openclaw-2024-03-09_14-30-15
|
|
|
290
381
|
clawmacdo deploy \
|
|
291
382
|
--provider digitalocean \
|
|
292
383
|
--customer-name "production-openclaw" \
|
|
384
|
+
--customer-email "admin@company.com" \
|
|
293
385
|
--size s-2vcpu-4gb \
|
|
294
386
|
--region nyc1 \
|
|
295
|
-
--
|
|
296
|
-
--
|
|
297
|
-
--
|
|
298
|
-
--
|
|
299
|
-
--
|
|
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" \
|
|
300
395
|
--tailscale \
|
|
301
|
-
--tailscale-auth-key "$TAILSCALE_AUTH"
|
|
396
|
+
--tailscale-auth-key "$TAILSCALE_AUTH" \
|
|
397
|
+
--backup ~/openclaw-backup.tar.gz
|
|
302
398
|
```
|
|
303
399
|
|
|
304
400
|
### Quick Status Check
|
|
@@ -362,6 +458,9 @@ new-crate = { workspace = true }
|
|
|
362
458
|
| `AZURE_CLIENT_SECRET` | Azure service principal client secret | For Azure deploys |
|
|
363
459
|
| `BYTEPLUS_ACCESS_KEY` | BytePlus Access Key | For BytePlus deploys |
|
|
364
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` |
|
|
365
464
|
| `CLAUDE_API_KEY` | Anthropic Claude API key | Optional |
|
|
366
465
|
| `OPENAI_API_KEY` | OpenAI API key | Optional |
|
|
367
466
|
| `TELEGRAM_TOKEN` | Telegram bot token | Optional |
|
|
@@ -412,6 +511,6 @@ See [CHANGELOG.md](CHANGELOG.md) for version history and breaking changes.
|
|
|
412
511
|
|
|
413
512
|
---
|
|
414
513
|
|
|
415
|
-
**Last updated:** March
|
|
416
|
-
**Current version:** 0.
|
|
514
|
+
**Last updated:** March 17, 2026
|
|
515
|
+
**Current version:** 0.20.0
|
|
417
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
|
}
|