feat: add /migrate-from-openclaw skill for guided OpenClaw migration
Conversational migration skill that reads an existing OpenClaw installation and interactively guides users through importing identity, personality, channel credentials, groups, scheduled tasks, MCP servers, skills, and plugins into NanoClaw. 8-phase flow: discovery → groups/architecture → settings → identity/memory → channel credentials → scheduled tasks → MCP/webhooks/config → summary. Includes: - discover-openclaw.ts: finds OpenClaw state dir, parses JSON5 config, detects channels (both channels.* and legacy top-level format), groups (handles agent:main: prefixed session keys), workspace files (reads custom agent.workspace path), skills, config-registered plugins with API keys, cron jobs, MCP servers. Dumps raw config keys for robustness. - extract-channel-credentials.ts: resolves SecretRef formats (plain, env template, object), writes credentials directly to .env via --write-env flag (never exposes raw values to stdout) - MIGRATE_CRONS.md: extracted reference for cron job migration, loaded only when cron jobs exist - migration-state.md: persistent state file for recovery after compaction - Setup hook: detects ~/.openclaw during /setup and offers migration Tested against real ~/.clawdbot and remote ~/.openclaw installations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -70,6 +70,22 @@ Run `npx tsx setup/index.ts --step environment` and parse the status block.
|
||||
- If HAS_REGISTERED_GROUPS=true → note existing config, offer to skip or reconfigure
|
||||
- Record APPLE_CONTAINER and DOCKER values for step 3
|
||||
|
||||
### OpenClaw Migration Detection
|
||||
|
||||
Check for an existing OpenClaw installation:
|
||||
|
||||
```bash
|
||||
ls -d ~/.openclaw 2>/dev/null || ls -d ~/.clawdbot 2>/dev/null
|
||||
```
|
||||
|
||||
If a directory is found, AskUserQuestion:
|
||||
|
||||
1. **Migrate now** — "Import identity, credentials, and settings from OpenClaw before continuing setup."
|
||||
2. **Fresh start** — "Skip migration and set up NanoClaw from scratch."
|
||||
3. **Migrate later** — "Continue setup now, run `/migrate-from-openclaw` anytime later."
|
||||
|
||||
If "Migrate now": invoke `/migrate-from-openclaw`, then return here and continue at step 2a (Timezone).
|
||||
|
||||
## 2a. Timezone
|
||||
|
||||
Run `npx tsx setup/index.ts --step timezone` and parse the status block.
|
||||
|
||||
Reference in New Issue
Block a user