clawmacdo 0.79.0 → 0.81.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.
Files changed (2) hide show
  1. package/README.md +56 -2
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -152,6 +152,9 @@ clawmacdo wiki-tree --instance <deploy-id> --project llm_wiki --json
152
152
  clawmacdo wiki-read --instance <deploy-id> --path llm_wiki/INDEX.md --json
153
153
  clawmacdo wiki-write --instance <deploy-id> --path llm_wiki/INDEX.md \
154
154
  --content-file /tmp/INDEX.md --base-sha <sha-from-read> --json
155
+ clawmacdo wiki-ingest --instance <deploy-id> --project wiki-163327 \
156
+ --source /tmp/uploaded-doc.md \
157
+ --prompt "Decide where this belongs and update related pages." --json
155
158
  clawmacdo wiki-export --instance <deploy-id> --project llm_wiki --json
156
159
 
157
160
  # Regenerate the OpenClaw gateway token
@@ -454,6 +457,22 @@ clawmacdo ls-restore \
454
457
  --size s-4vcpu-8gb
455
458
  ```
456
459
 
460
+ ### Fast Lightsail Restore + OpenClaw Readiness
461
+
462
+ Restore a Lightsail snapshot and immediately configure Telegram pairing, OpenClaw identity, and the Remotion avatar `.env` once SSH is ready. The command batches remote edits into one SSH session and checks the Tailscale public URL and Remotion cloudflared tunnel in parallel.
463
+
464
+ ```bash
465
+ clawmacdo ls-restore-fast \
466
+ --snapshot-name "my-openclaw-backup" \
467
+ --telegram-bot-token "$TELEGRAM_TOKEN" \
468
+ --owner-name "Kenny" \
469
+ --openclaw-name "John" \
470
+ --avatar-name "John" \
471
+ --json
472
+ ```
473
+
474
+ Use `--telegram-pair-code <CODE>` when you already have an 8-character Telegram pairing code to approve in the same run. The default fast budgets are `--active-timeout-secs 120` and `--ssh-timeout-secs 30`; actual restore time still depends on Lightsail making the instance runnable.
475
+
457
476
  ### Destroy an Instance
458
477
 
459
478
  Delete an instance by name across any supported provider. Removes cloud SSH key, local key, and (for BytePlus) EIP and VPC resources.
@@ -617,11 +636,15 @@ clawmacdo wiki-write --instance my-server --path llm_wiki/new-page.md \
617
636
  --content-file /tmp/new-page.md \
618
637
  --base-sha NEW \
619
638
  --json
639
+ clawmacdo wiki-ingest --instance my-server --project wiki-163327 \
640
+ --source /tmp/uploaded-doc.md \
641
+ --prompt "Decide where this belongs, update existing pages if needed, create new pages if needed, update index/log." \
642
+ --json
620
643
  clawmacdo wiki-export --instance my-server --project llm_wiki --output ~/backups/ --json
621
644
  clawmacdo wiki-delete --instance my-server --project wiki-163327 --json
622
645
  ```
623
646
 
624
- These commands resolve the configured OpenClaw agent workspace on the instance and only operate on safe relative Markdown paths under that workspace. `wiki-read` returns `content`, `sha256`, `mtime`, and `size`; `wiki-write` requires `--base-sha` so a web app cannot overwrite a file that changed after it was opened. Use `--base-sha NEW` only when creating a new file. `wiki-index` returns per-page hashes plus headings, tags, and Markdown/wiki links for graph or navigation UIs. `wiki-delete` is intentionally narrower: it only deletes a direct `workspace/wiki-*` project folder and rejects empty names, absolute paths, traversal, symlinks, files, and non-`wiki-*` slugs.
647
+ These commands resolve the configured OpenClaw agent workspace on the instance and only operate on safe relative Markdown paths under that workspace. `wiki-read` returns `content`, `sha256`, `mtime`, and `size`; `wiki-write` requires `--base-sha` so a web app cannot overwrite a file that changed after it was opened. Use `--base-sha NEW` only when creating a new file. `wiki-index` returns per-page hashes plus headings, tags, and Markdown/wiki links for graph or navigation UIs. `wiki-ingest` uploads a converted Markdown source into `<project>/raw/sources/`, launches Claude Code inside that project to decide where the content belongs, and returns `{ project, source_files, changed_files, summary }` JSON for app integrations. `wiki-delete` is intentionally narrower: it only deletes a direct `workspace/wiki-*` project folder and rejects empty names, absolute paths, traversal, symlinks, files, and non-`wiki-*` slugs.
625
648
 
626
649
  ### Gateway Token Rotation
627
650
 
@@ -891,9 +914,40 @@ execSync(`${bin} deploy --provider lightsail ...`, { stdio: "inherit" });
891
914
  | `CLAWMACDO_API_KEY` | API key protecting `/api/*` endpoints | Optional (Web UI) |
892
915
  | `CLAWMACDO_PIN` | 6-digit PIN for web UI login page | Optional (Web UI) |
893
916
  | `CLAWMACDO_BIND` | Server bind address (default: `127.0.0.1`) | Optional (Web UI) |
917
+ | `CLAWMACDO_STATE_DIR` | Directory for deploy records, SSH keys, backups, and `deployments.db` (default: `~/.clawmacdo`) | Optional |
894
918
  | `SKILLS_API_URL` | Railway skills API base URL | For skill commands |
895
919
  | `USER_SKILLS_API_KEY` | API key for user-skills endpoints | For skill commands |
896
920
 
921
+ ## Railway Persistence
922
+
923
+ When running `clawmacdo serve` on Railway, attach a Railway Volume at:
924
+
925
+ ```text
926
+ /app/.clawmacdo
927
+ ```
928
+
929
+ This repository includes a root `Dockerfile` and `railway.toml` for the web UI. Railway should build the Rust binary and start:
930
+
931
+ ```sh
932
+ clawmacdo serve --port "$PORT"
933
+ ```
934
+
935
+ If Railway still starts `node /app/server.js`, remove the service-level start command override in Railway and redeploy from this repository config.
936
+
937
+ Set `CLAWMACDO_STATE_DIR=/app/.clawmacdo` so deploy records, SSH keys, backups, and `deployments.db` survive redeploys. The Docker image sets this by default. If Railway provides `RAILWAY_VOLUME_MOUNT_PATH=/app/.clawmacdo`, clawmacdo also auto-detects that mount path.
938
+
939
+ Railway Volumes are mounted as root by default. For non-root container images, either set `RAILWAY_RUN_UID=0` as a quick operational fix, or chown the mounted directory in the hosting app image before starting the server:
940
+
941
+ ```sh
942
+ mkdir -p /app/.clawmacdo
943
+ chown -R nextjs:nodejs /app/.clawmacdo
944
+ exec "$@"
945
+ ```
946
+
947
+ Without a persistent volume, Railway redeploys can remove `deploys/`, `keys/`, and `deployments.db`. Existing cloud instances may then be unreachable from clawmacdo unless the old deploy record and SSH private key can be recovered; after attaching the volume, destroy/recreate those orphaned instances and provision again.
948
+
949
+ Railway references: [Volumes](https://docs.railway.com/volumes), [Volume permissions](https://docs.railway.com/reference/volumes).
950
+
897
951
  ## Skills Data API
898
952
 
899
953
  The `skills-data-api/` directory contains a standalone Node.js/Express service for browsing and serving Claude Code skill marketplace data, backed by MongoDB.
@@ -1078,4 +1132,4 @@ See [CHANGELOG.md](CHANGELOG.md) for version history and release notes.
1078
1132
 
1079
1133
  ---
1080
1134
 
1081
- **Current version:** 0.79.0
1135
+ **Current version:** 0.81.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawmacdo",
3
- "version": "0.79.0",
3
+ "version": "0.81.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.79.0",
34
- "@clawmacdo/linux-x64": "0.79.0",
35
- "@clawmacdo/win32-x64": "0.79.0"
33
+ "@clawmacdo/darwin-arm64": "0.81.0",
34
+ "@clawmacdo/linux-x64": "0.81.0",
35
+ "@clawmacdo/win32-x64": "0.81.0"
36
36
  }
37
37
  }