mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-25 04:20:02 +00:00
The Migrate from OpenClaw guide says where copied links point and which workspaces stay in place.
Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
@@ -47,20 +47,20 @@ hanzo-bot gateway run # or in the foreground
|
||||
|
||||
## What moves
|
||||
|
||||
| OpenClaw | Hanzo Bot | Notes |
|
||||
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.json` (JSON5, `$include` resolved) | `bot.json` | Converted key by key; see [config keys](#config-keys). Merged beneath an existing `bot.json`: see [an existing bot.json](#an-existing-botjson). |
|
||||
| `.env` | `.env` | `OPENCLAW_*` keys become `BOT_*`; values are copied as written, never printed. Keys you already set are kept. |
|
||||
| `workspace/`, `workspace-<agent>/` | same names | Every file, with its mode. A symlink that would lead into `~/.openclaw` from its new place is pointed at `~/.bot`. A dir that is itself a link elsewhere is copied as files, so the two installs stop sharing it. A link to a dir that is not there (an unmounted drive) is listed, not copied. |
|
||||
| `skills/`, `hooks/`, `tools/` | same names | Managed skills, installed hooks and tools, as files. |
|
||||
| Skill Workshop skills (`agents/<id>/agent/workshop-skills/`) | `<agent workspace>/.agents/skills/` | Each stays with its agent. One that a managed, workspace or personal skill of the same name hid in OpenClaw, or that a skill already in `~/.bot/skills` would hide, stays behind. |
|
||||
| `credentials/` | `credentials/` | Channel logins (WhatsApp) and pairing allowlists. |
|
||||
| Auth profiles (`state/openclaw.sqlite`, `agents/<id>/agent/openclaw-agent.sqlite`, or `auth-profiles.json`) | `agents/<id>/agent/auth-profiles.json` | API keys and OAuth tokens, mode `0600`. Usage statistics and cooldowns start fresh. |
|
||||
| Sessions (`session_nodes`, `transcript_events`, or `sessions.json` + `*.jsonl`) | `agents/<id>/sessions/` | The session index and every transcript. Earlier generations of a session become `<id>.jsonl.reset.<time>` archives. |
|
||||
| Your cron jobs (`cron_jobs` or `cron/jobs.json`) | `cron/jobs.json` | Schedule, payload and delivery. Run history starts fresh. |
|
||||
| Pairing allowlists (`channel_pairing_allow_entries`) | `credentials/<channel>-<account>-allowFrom.json` | Who may DM your bot. An allowlist file OpenClaw has not folded into its database yet is merged in, as OpenClaw's doctor would. |
|
||||
| An agent's heartbeat checklist (`cron_job_scratch`, formerly `HEARTBEAT.md`) | `HEARTBEAT.md` in the agent's workspace | OpenClaw moved it into its database; Hanzo Bot reads it from the workspace. |
|
||||
| `hooks.internal.installs` | `bot.json` `hooks.internal.installs` | |
|
||||
| OpenClaw | Hanzo Bot | Notes |
|
||||
| ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `openclaw.json` (JSON5, `$include` resolved) | `bot.json` | Converted key by key; see [config keys](#config-keys). Merged beneath an existing `bot.json`: see [an existing bot.json](#an-existing-botjson). |
|
||||
| `.env` | `.env` | `OPENCLAW_*` keys become `BOT_*`; values are copied as written, never printed. Keys you already set are kept. |
|
||||
| `workspace/`, `workspace-<agent>/` | same names | Every file, with its mode. A symlink keeps pointing where it pointed; one into `~/.openclaw` points at the same place in `~/.bot`. A dir that is itself a link elsewhere is copied as files, so the two installs stop sharing it. A link to a dir that is not there (an unmounted drive) is listed, not copied. |
|
||||
| `skills/`, `hooks/`, `tools/` | same names | Managed skills, installed hooks and tools, as files. |
|
||||
| Skill Workshop skills (`agents/<id>/agent/workshop-skills/`) | `<agent workspace>/.agents/skills/` | Each stays with its agent. One that a managed, workspace or personal skill of the same name hid in OpenClaw, or that a skill already in `~/.bot/skills` would hide, stays behind. |
|
||||
| `credentials/` | `credentials/` | Channel logins (WhatsApp) and pairing allowlists. |
|
||||
| Auth profiles (`state/openclaw.sqlite`, `agents/<id>/agent/openclaw-agent.sqlite`, or `auth-profiles.json`) | `agents/<id>/agent/auth-profiles.json` | API keys and OAuth tokens, mode `0600`. Usage statistics and cooldowns start fresh. |
|
||||
| Sessions (`session_nodes`, `transcript_events`, or `sessions.json` + `*.jsonl`) | `agents/<id>/sessions/` | The session index and every transcript. Earlier generations of a session become `<id>.jsonl.reset.<time>` archives. |
|
||||
| Your cron jobs (`cron_jobs` or `cron/jobs.json`) | `cron/jobs.json` | Schedule, payload and delivery. Run history starts fresh. |
|
||||
| Pairing allowlists (`channel_pairing_allow_entries`) | `credentials/<channel>-<account>-allowFrom.json` | Who may DM your bot. An allowlist file OpenClaw has not folded into its database yet is merged in, as OpenClaw's doctor would. |
|
||||
| An agent's heartbeat checklist (`cron_job_scratch`, formerly `HEARTBEAT.md`) | `HEARTBEAT.md` in the agent's workspace | OpenClaw moved it into its database; Hanzo Bot reads it from the workspace. |
|
||||
| `hooks.internal.installs` | `bot.json` `hooks.internal.installs` | |
|
||||
|
||||
OpenClaw 2026.5 and later keeps most state in SQLite (`state/openclaw.sqlite` and one
|
||||
`openclaw-agent.sqlite` per agent). The importer reads copies of those databases, WAL
|
||||
@@ -75,7 +75,8 @@ heartbeat checklist and workshop skills in `~/.bot/agents/<id>/from-openclaw/`,
|
||||
says where to move them. So do an agent's workshop skills when its workspace keeps `.agents/`
|
||||
as a link into such a dir (your dotfiles, say). A config path spelled through Clawdbot's
|
||||
`~/.clawdbot`, or through any other link into `~/.openclaw`, is read as the `~/.openclaw` path it
|
||||
reaches, so it becomes the `~/.bot` copy.
|
||||
reaches, so it becomes the `~/.bot` copy. A workspace in a part of `~/.openclaw` the import does
|
||||
not copy stays where it is, and both installs use it.
|
||||
|
||||
## What does not move
|
||||
|
||||
|
||||
Reference in New Issue
Block a user