CVE-2026-25253が公開された翌週、「OpenClawからの移行」がAIエージェント分野の検索クエリ上位になった。問いは「ZeroClawを試す価値はあるか」から「どれだけ速く切り替えられるか」に変わった。
答え:基本セットアップで約10分、複雑なチャネル設定を持っていてすべてを切り替え前に確認したい場合で30分。ZeroClawには面倒な作業を処理する組み込みの移行ツールがある。
完全なプロセスを説明する。
始める前に
すべてをバックアップ。 OpenClawはデータを `~/.openclaw/` に保存している。ディレクトリ全体をコピー:
```bash cp -r ~/.openclaw ~/.openclaw-backup-$(date +%Y%m%d) ```
会話履歴、メモリデータベース、設定、インストール済みスキルが保存される。移行中に何か問題が起きても、元のOpenClawセットアップにいつでも戻れる。
OpenClawのバージョンを確認:
```bash openclaw --version ```
ZeroClawの移行ツールはOpenClaw 0.1.xから0.4.xの設定をサポートしている。古いバージョンを使っているなら、先にOpenClawを更新するか、後述のマニュアル移行パスを使おう。
アクティブなチャネルを確認。 接続しているメッセージングプラットフォーム——Telegram、Discord、Slackなど——をリストアップ。ZeroClawの設定時にAPIトークンが必要になる。
ステップ1:ZeroClawのインストール
```bash curl -fsSL https://raw.githubusercontent.com/zeroclaw-labs/zeroclaw/main/scripts/bootstrap.sh | bash ```
バイナリは数秒でインストールされる。確認:
```bash zeroclaw --version zeroclaw doctor ```
この時点で、OpenClawとZeroClawの両方がインストールされている。バイナリが別、設定ディレクトリが別、ポートが別なので競合しない。
ステップ2:移行のドライラン
実際に移行する前に、何が起きるかプレビュー:
```bash zeroclaw migrate openclaw --dry-run ```
これはOpenClawの設定を読み取り、以下を報告する:
- •インポートされる設定
- •手動調整が必要な設定
- •ZeroClaw対応のないスキル
- •引き継がれるデータ
出力を注意深く読もう。ドライランは本番に影響を与える前に問題を見つけるチャンスだ。
ステップ3:移行の実行
```bash zeroclaw migrate openclaw ```
移行ツールはいくつかのことを自動的に処理する:
設定のマッピング。 OpenClawのJSON設定がZeroClawのTOML形式に変換される。プロバイダ設定(APIキー、モデル選択、ベースURL)は直接マッピング。チャネル設定(Telegramトークン、Discordボットトークン、Slackアプリ認証情報)は引き継がれる。
SOUL.mdとIDENTITY.mdのインポート。 OpenClawはこれらのファイルでエージェントの人格と振る舞いを定義する。ZeroClawは同等のpersonality設定にインポートし、エージェントの声と指示を保持する。
メモリ転送。 OpenClawの会話履歴とメモリがZeroClawのSQLiteベースメモリシステムにエクスポートされる。移行ツールはOpenClawのメモリ形式をZeroClawのハイブリッド検索形式(FTS5 + ベクトル)に変換するため、エージェントは以前の会話のコンテキストを保持する。
ツールマッピング。 組み込みOpenClawツール(Web検索、ファイル操作、電卓)はZeroClawに直接の対応がある。移行が自動的にマッピングする。
ステップ4:自動移行されないものへの対処
手動対応が必要なもの:
カスタムOpenClawスキル。 JavaScript/TypeScriptで書いたカスタムスキルは、Rust traitかWASMモジュールとして書き直す必要がある。移行ツールはこれらをリストアップし、出発点としてスタブ実装を提供する。シンプルなスキル(API呼び出し、データ変換)は書き直しが容易。Node.jsライブラリに依存する複雑なスキルはより多くの労力が必要。
サードパーティClawHubスキル。 ClawHubからインストールしたスキルにはZeroClaw対応がない。まだ必要か評価しよう——ClawHubのサプライチェーン問題を考えると、監査の良い機会だ。人気のClawHubスキルの多くにはコミュニティメンテナンスのZeroClaw代替がある。
カスタムサーバー設定。 OpenClawのExpress.jsサーバーを変更したり、リバースプロキシを設定したり、カスタムミドルウェアを構成している場合は、ZeroClawのアーキテクチャに適応させる必要がある。
ステップ5:ZeroClawの設定と起動
生成された設定を確認:
```bash cat ~/.zeroclaw/config.toml ```
調整——モデルの変更、人格の調整、ゲートウェイバインドアドレスの設定(ZeroClawはデフォルトで127.0.0.1、0.0.0.0ではない)。
ZeroClawを起動:
```bash zeroclaw start ```
ステップ6:チャネルの確認
各メッセージングチャネルをテスト:
- 1.Telegramでテストメッセージを送信
- 2.Discordでテストメッセージを送信
- 3.エージェントが以前の会話のコンテキスト付きで応答することを確認(メモリ移行の成功を証明)
- 4.ツールの動作を確認(Web検索クエリやファイル操作を試す)
チャネルが接続しない場合は、config.tomlのトークンを確認。最も一般的な問題は、プラットフォームのボット管理インターフェースから再生成が必要な期限切れトークン。
ステップ7:OpenClawの停止
ZeroClawが正しく動いていることを確認したら:
```bash openclaw stop ```
OpenClawをシステムサービスとして動かしていた場合:
```bash sudo systemctl stop openclaw sudo systemctl disable openclaw ```
ステップ8:ZeroClawをサービスとしてインストール
```bash sudo zeroclaw service install sudo systemctl enable zeroclaw sudo systemctl start zeroclaw ```
AIエージェントはZeroClaw上で動いている。移行完了だ。
ゼロダウンタイム戦略
サービスの中断が許されない場合——エージェントがビジネスコミュニケーションやチームのやり取りを処理している場合——このアプローチを使う:
- 1.OpenClawが動いている状態でZeroClawをインストールし移行を実行
- 2.別のポートでZeroClawを起動(config.tomlで設定)
- 3.直接接続でZeroClawを徹底テスト
- 4.確認後、チャネルトークンをZeroClawに向ける(各プラットフォームでWebhook URLの更新やボットの再接続が可能)
- 5.すべてのチャネルがZeroClaw経由でメッセージを受信していることを確認後、OpenClawを停止
中断は各プラットフォームのボット接続切り替え時間に限定される——通常チャネルあたり5秒以内。
得られるもの
移行後、違いは即座に感じられる:
- •起動時間: OpenClawは起動に8〜12秒。ZeroClawは10ミリ秒以下。
- •メモリ使用量: OpenClawのアイドルは200〜400MB。ZeroClawは5MB以下。
- •バイナリサイズ: node_modules含むOpenClawは200MB以上。ZeroClawは3.4MB。
- •セキュリティモデル: OpenClawスキルはフルOS権限で実行。ZeroClawスキルはdeny-by-defaultアローリストでサンドボックス化。
- •依存関係: OpenClawは1,200以上のnpmパッケージ。ZeroClawはランタイム依存関係ゼロ。
パフォーマンスの違いはリソースが限られたハードウェア——バッテリーで動くラップトップ、RAM限定のVPSインスタンス、Raspberry Piデプロイ——で最も顕著。しかしハイエンドハードウェアでもレスポンシブさの向上は体感できる。
OpenClawバックアップの保持
`~/.openclaw-backup` はすぐに削除しない。少なくとも1ヶ月は保持しよう。特定の会話や設定の詳細が正しく移行されなかったことが後で分かった場合、バックアップを参照できる。ZeroClawを問題なく1ヶ月運用した後なら、安全に削除できる。
移行は実質的に片道切符だ——戻れないからではなく、パフォーマンスとセキュリティの違いを体験すると戻りたくなくなるから。