OpenClawからHermes Agentへの安全な移行方法
1行のインポートを超えた安全なカットオーバー
AIアシスタントの移行は、アプリケーション設定のコピーとは異なり、アイデンティティ、メモリ、ツール動作、スケジュールされたタスク、メッセージングへのアクセスを維持することが核心です。また、2つのゲートウェイが同じボットとして動作している状態を回避することも重要です。
Hermes Agentには現在、hermes claw migrate が含まれています。これは表面的なインポートコマンドではなく、実際の移行プランナーです。OpenClawからの30以上のカテゴリのマッピング、競合の検出、Hermesのリストアポイントの作成、および手動レビュー用に互換性のない状態のアーカイブを行うことができます。これにより移行が実用的になりますが、完全に自動的になるわけではありません。

以下に示すアプローチは段階的な切り替えです:OpenClawのバックアップ作成、完全な移行のドライラン実行、シークレット(秘密情報)なしでのインポート、ターミナルからHermesの検証、そして新しいエージェントが正しく動作することを確認してからメッセージング認証情報の移管を行います。--overwrite --migrate-secrets --yes で開始しないでください。これらのフラグは、リハーサルされた後の自動化に有用ですが、アシスタントが実際に何に依存しているかを発見するためには適していません。
OpenClawからHermesへの移行ランブック
| フェーズ | コマンドまたはアクション | 終了条件 |
|---|---|---|
| 棚卸し | バージョン、ワークスペース、プラグイン、チャンネル、cronジョブ、プロバイダーを記録する | すべての非ファイル依存性に担当者が割り当てられている |
| バックアップ | openclaw backup create --verify |
OpenClaw状態の外に検証済みのアーカイブが存在する |
| プレビュー | hermes claw migrate --dry-run --preset full |
説明のつかない競合や、重要なデータのスキップがない |
| インポート | シークレットなしでフルプリセットを実行する | Hermesの設定、ペルソナ、メモリ、スキル、MCPエントリが存在する |
| ローカルテスト | ターミナルでHermesを実行する | モデル、ツール、メモリ、承認、ワークスペースがテストを通過する |
| チャンネル切断 | OpenClawを停止、シークレットを移行または設定、Hermesゲートウェイを開始する | 各ボットトークンまたはアカウントをHermesのみが所有している |
| ソークテスト(安定性確認) | OpenClawを停止したまま回復可能にしておく | スケジュールされたタスクと受信ワークが正しく動作する |
| クリーンアップ | 受入後にのみ古いOpenClaw状態をアーカイブする | ロールバックウィンドウが意図的に閉じられた |
このコマンドが短い理由は、判断がプレビューと検証段階に移行したためです。生成された移行レポートを安心させるためのコンソール出力ではなく、変更計画として扱ってください。
hermes claw migrate が実際に読み取るもの
移行ツールはデフォルトで ~/.openclaw/ を読み取ります。また、古い ~/.clawdbot/ や ~/.moltbot/ ディレクトリ、およびレガシーな設定ファイル名も検出するため、古いインストールは移行前に名前を変更する必要はありません。
OpenClawはいくつかのワークスペースレイアウトを使用してきました。Hermesは workspace/、workspace.default/、workspace-main/ をチェックし、workspace-<agentId> のようなエージェントごとのディレクトリも認識します。カスタムのエージェントルートや複数のプロファイルを使用している場合は、デフォルトのワークスペースがシステム全体を代表しているとは假定せず、プレビューですべての解決パスを確認してください。
デスティネーション(移行先)は通常 ~/.hermes/ です。既存のHermesインストールは空のバケットとして扱われません:プランナーは競合を報告し、両方を安全に保存できない場合、デフォルトでは適用を拒否します。
移行されるものとされないもの
有用な区別は「サポートされている」と「サポートされていない」ではありません。OpenClawの状態の一部は直接マッピングされ、一部は変換が必要であり、一部は2つのエージェントが異なる実行モデルを使用しているため、アーカイブのみが可能となります。
直接または変換された移行
| OpenClaw ソース | Hermes デスティネーション | 移行挙動 |
|---|---|---|
workspace/SOUL.md |
~/.hermes/SOUL.md |
直接的なペルソナコピー |
workspace/MEMORY.md |
~/.hermes/memories/MEMORY.md |
解析、マージ、重複排除 |
workspace/USER.md |
~/.hermes/memories/USER.md |
解析、マージ、重複排除 |
workspace/memory/*.md |
メインHermesメモリ | 日次ファイルがエントリにマージされる |
workspace/AGENTS.md |
選択されたプロジェクトディレクトリ | --workspace-target が必要 |
| OpenClaw スキルディレクトリ | ~/.hermes/skills/openclaw-imports/ |
明示的な競合ポリシーでコピーされる |
agents.defaults.model |
Hermes モデル設定 | プライマリとフォールバック形式が解釈される |
models.providers.* |
Hermes プロバイダー設定 | ベースURLとAPIタイプがマッピングされる |
mcp.servers.* |
mcp_servers.* |
StdioとHTTP/SSE定義がマッピングされる |
| チャンネルトークンと許可リスト | Hermes .env |
--migrate-secrets を使用した場合のみ |
| セッションリセットポリシー | session_reset |
日次モードとアイドルモードが変換される |
| 実行承認 | Hermes 承認とコマンド許可リスト | モードとパターンが変換される |
| ブラウザ、TTS、サンドボックス、タイムアウト設定 | 関連するHermes設定 | サポートされるフィールドがマッピングされる |
メモリは1つの不透明なドキュメントとしてコピーされるわけではありません。移行ツールはOpenClawのメモリファイルとユーザープロファイルファイルを解析し、既存のHermesエントリとマージして重複排除を行います。これは確立されたHermesメモリファイルを置き換えるよりも安全ですが、ファイルサイズだけでなく、意味と構造を比較すべきであることを意味します。
手動再構築用にアーカイブされるもの
| OpenClaw 機能 | 直接移植できない理由 | Hermes での対応方針 |
|---|---|---|
| Cronジョブ | スケジューラーと配信モデルが異なる | hermes cron create で再作成 |
| プラグイン | プラグインAPIは製品固有 | Hermesプラグイン、スキル、MCPサーバー、または内蔵ツールで置き換え |
| フックとWebhook | イベントと権限の契約が異なる | Hermes Webhookまたはゲートウェイフックで再作成 |
| 高度なメモリバックエンド | データベースと想起セマンティクスが異なる | Hermesメモリプロバイダーを別途設定 |
| スキルレジストリ設定 | レジストリ実装が異なる | hermes skills config で設定 |
| マルチエージェントリストとバインディング | ルーティングとプロファイルモデルが異なる | Hermesプロファイルとゲートウェイ設定で再構築 |
IDENTITY.md |
Hermesは異なるアイデンティティ分割を使用 | 関連するアイデンティティを SOUL.md にマージ |
HEARTBEAT.md |
直接のファイル駆動ハートビートの同等機能が存在しない | 周期的なワークをcronジョブとして表現 |
TOOLS.md |
Hermesは独自のツール説明を提供 | 真のワークフロールールのみをスキルやコンテキストファイルに移動 |
BOOTSTRAP.md |
ブートストラップセマンティクスが異なる | コンテキストファイル、セットアップ、またはスキルを使用 |
これらのアイテムは ~/.hermes/migration/openclaw/<timestamp>/archive/ 以下に保存されます。したがって、アーカイブが空でない場合、移行の成功は完了したことを意味しません;アーカイブは残りの作業キューです。
ステップ 1: 稼働中の OpenClaw システムの棚卸し
何かをインストールする前に、実際に使用されている動作を書き留めてください。設定ファイルだけでは、プラグインの外部データベース、手動監視されたゲートウェイ、カスタムエージェントディレクトリ、ローカルモデルプロセス、またはWebhookエンドポイント所有アカウントは明確にならない場合があります。
少なくとも以下のことを記録してください:
- OpenClaw と Hermes のバージョン。
- アクティブな OpenClaw 状態ディレクトリと設定パス。
- すべてのエージェントおよびワークスペースディレクトリ。
- モデルプロバイダー、フォールバックモデル、ローカルエンドポイント。
- インストールされ有効化されたプラグイン(永続データを含む)。
- ワークスペース、管理、個人、プロジェクトディレクトリからのスキル。
- MCPサーバー、環境変数、作業ディレクトリ、認証情報。
- Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost アカウント。
- Cronジョブ、フック、Webhook、ハートビート動作、外部サバイバー。
- 承認ルール、コマンド許可リスト、サンドボックスバックエンド、ブラウザアクセス。
この棚卸しは後での受入チェックリストになります。これがないと、移行されたアシスタントはメッセージに応答しているため健全に見えますが、週次バックアップ、メモリプロバイダー、または制限的な承認ルールが静かに欠落している可能性があります。
ステップ 2: 検証済みの OpenClaw バックアップの作成
OpenClaw 2.0には、現在のSQLite状態、設定されたエージェントルート、認証情報、プラグイン、ワークスペースを理解するバックアップコマンドが含まれています。ライブのデータベースファイルをコピーして、WALサイドカーが一貫して取得されることを期待する代わりに、これを使用してください。
mkdir -p ~/Backups
openclaw gateway stop
openclaw backup create --output ~/Backups --verify
結果のアーカイブを ~/.openclaw/ の外に保管してください。--verify オプションは、パスの安全性とサポートされるSQLite整合性チェックを含むアーカイブを即時に検証します。OpenClawが所有するデータベースは、生のファイルとしてコピーされるのではなく、SQLiteのオンラインバックアップAPIを通じて取得され、所有者検証とコンパクト化が行われます。ワークスペースが大きい場合は --no-include-workspace を使用できますが、その場合はそれらのリポジトリと非Gitファイルを別途バックアップしてください;エージェントディレクトリはどちらの場合も含まれます。
2.0以前のトランスクリプトの罠
OpenClaw 2.0では、セッションとトランスクリプトが sessions.json やJSONLファイルからSQLite(デフォルトでは ~/.openclaw/agents/<agent>/agent/openclaw-agent.sqlite)に移されました。ここでの重要性は非自明な理由が1つあります:ポータブルな backup create アーカイブは、それらがもはや書き込まれていない場合でも、レガシーのJSONLトランスクリプトとログを省略 します。
したがって、OpenClawのインストールが2.0以前のもので、古い会話履歴を気にしている場合、検証済みのアーカイブだけではそれを保護できません。ゲートウェイを停止し、移行前にファイルシステム、ボリューム、またはVMスナップショットを取得するか、コンパクトで独立して検証可能なコピーが必要なデータベースのためにOpenClawのデータベースごとのスナップショットコマンドを使用してください:
openclaw backup sqlite create --global --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite create --agent main --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite list --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite verify ~/Backups/openclaw-sqlite/<snapshot-id>
これらのスナップショットリポジトリはライブ状態と同様の権限と保持ポリシーで扱ってください — 認証プロファイル、セッション状態、プラグインデータを含む可能性があるためです。周期的なアーカイブではなく、継続的にレプリケートされる設定については、OpenClawは同じデータベースに対するLitestreamをドキュメント化しています;移行に数日かかる場合、手作りの cp ジョブよりも良い回答です。
Hermesがすでに有用な状態を含んでいる場合は、Hermesのバックアップも作成してください:
hermes backup
移行は通常、~/.hermes/backups/ 下に独自の移行前Hermesアーカイブを作成します。最初の切断中に --no-backup を渡さないでください;数秒の節約は、最もシンプルなロールバックパスを削除する価値はありません。
ステップ 3: 空の Hermes Agent のインストールとテスト
OpenClawの状態をインポートする前に、Hermesをインストールし、モデルを選択し、基本的なターミナルエージェントが動作することを実証してください。これにより、インストールとプロバイダーの故障が移行の故障と区別されます。Hermes AIアシスタントガイド はプロバイダーの選択とゲートウェイ設定を詳細に説明しています;移行には動作するターミナルベースラインのみが必要です。
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes setup
hermes status
hermes doctor
Hermesをすでにインストールしている場合は、現在の移行挙動に頼る前に更新してください:
hermes update
hermes --version
そのバージョンチェックは形式上のものではありません。claw migrate の安全性の姿勢は2026年間に大きく変化しました:現在のビルドは競合する計画の適用を拒否し、デフォルトで移行前のリストアポイントを記録し、ディスクに保存するレポートでシークレットを伏字にし、--preset full でも --migrate-secrets を明示的に要求します。古いビルドはこれらを行いませんでした — 特に、--preset full は以前にはAPIキーを静かに取り込み、競合する計画を確認した後に「0件移行」と報告していました。古いチュートリアルに従っている場合、フラグは同様に思えますが、重要となる場所での挙動が異なります。
古いボットトークンを今設定しないでください。ターミナルのみでの検証により、Hermesを準備しながらOpenClawをライブのままにでき、同じメッセージングアイデンティティを競い合う2つのゲートウェイプロセスを回避できます。
ステップ 4: フラグ選択前にドライランを実行
最大のマッピング範囲を示すため、フルプリセットから開始し、シークレットを除外したままにしてください:
hermes claw migrate --dry-run --preset full
--dry-run がなくても、移行は適用前にプレビューを提示します。明示的なフラグは依然として価値があります。意図を曖昧にせず、焦燥する確認プロンプトなしにソースパス、デスティネーション、変換、競合、スキップされたアイテム、アーカイブ、シークレット警告を検査するための時間を与えるからです。claw migrate とその周辺コマンドの完全なフラグセットは、Hermes Agent CLI チートシート にまとめられています。
OpenClawの状態がデフォルトの場所にない場合、カスタムソースを使用してください:
hermes claw migrate \
--dry-run \
--preset full \
--source /srv/openclaw-state
AGENTS.md が特定のリポジトリに適用されるべき場合、明示的に指定してください:
hermes claw migrate \
--dry-run \
--preset full \
--workspace-target /srv/projects/my-project
--workspace-target がない場合、ワークスペースの説明は任意の現在のディレクトリに配置されません。これは正しい挙動です:説明ファイルはスコープに属し、そのスコープを推測することは、間違ったディレクトリ以下で起動されたすべてのHermesセッションを変更する可能性があります。
フルプリセットとユーザードデータプリセットのどちらか?
full プリセットは互換性のあるインフラストラクチャと動作設定を含みます。user-data プリセットは、ペルソナ、メモリ、スキル、関連するユーザーコンテンツに焦点を当て、インフラストラクチャ設定を除外します。
Hermesがすでに慎重に構築されたプロバイダー、ゲートウェイ、セキュリティ、またはサンドボックス設定を持っている場合は user-data を使用してください。Hermesが新しく、OpenClawが権威あるセットアップである場合は full を使用してくださいが、すべての変換された動作設定を検査してください。どちらのプリセットも、--migrate-secrets が追加されない限りシークレットをインポートしません。
ステップ 5: プロヴァンス(出典)を破壊せずに競合を解決する
デフォルトの競合挙動は保守的です:--overwrite が設定されない限り、未解決のファイル競合を持つ計画の適用を移行は拒否します。これは、新しいHermesペルソナやスキルを上書きするような一見成功した切断よりも望ましく、競合する計画の確認が「0件移行」という結果を生成した古い挙動(no-opのように見えたが実際には静かなスキップだった)よりも望ましいです。
スキル競合は別々に処理され、そこでのデフォルトは skip です。これは、既存のHermesバージョンを静かに保持し、入ってきたものを破棄します。最初の移行には、代わりに rename を推奨します:
hermes claw migrate \
--preset full \
--workspace-target /srv/projects/my-project \
--skill-conflict rename
インポートされたスキルは ~/.hermes/skills/openclaw-imports/ 以下に配置されます。rename では、名前衝突が発生しても、いずれかのバージョンを隠すのではなく、インポートされた姉妹ファイルが生成されます。2つの実装を確認し、選択されたものをテストし、後に冗長なコピーを削除してください。
--overwrite は、プレビューを確認した後か、使い捨てのHermesプロファイルを再構築する場合にのみ使用してください。スキル競合処理よりも広く適用され、既存のHermesファイルを書き換える可能性があります。バックアップが存在することは、上書きを回復可能にしますが、望ましいものではありません。
ステップ 6: シークレットなしで設定とユーザーデータを移行する
レビューされた計画を適用し、認証情報は切断段階のために残してください:
hermes claw migrate \
--preset full \
--workspace-target /srv/projects/my-project \
--skill-conflict rename
完了後、移行、スキップ、競合、アーカイブされたアイテムの印刷されたカウントを保存してください。タイムスタンプ付きの移行ディレクトリを開き、新しいHermesセッションを開始する前にその概要を読みます。現在のビルドは、書き込む report.json と summary.md で検出されたシークレット値を伏字にするため、それらのファイルは変更メモと一緒に安全に保持できます — しかし、それらは假定するのではなく、あなたのバージョンで確認してください。以前のビルドは同じレポートに生のAPIキーを書き込んでいたためです。
新しいセッションが重要です。インポートされたスキルとメモリエントリはセッション開始時にロードされるため、移行前のセッション内でテストすると、誤った「スキルが見つからない」または古いメモリの結果が生じる可能性があります。
ステップ 7: チャンネル切断前の動作検証
ターミナルから移行後のチェックを実行してください:
hermes status
hermes doctor
hermes config show
hermes gateway status
メモリ想起が不完全に見える場合、インポートが失敗したと結論付ける前にインデックスを再構築してください:
hermes memory reindex
その後、新しいHermes会話を開始し、ファイルの存在だけでなく、観察可能な動作をテストします。メモリから既知のユーザー設定を尋ね、1つのインポートされたスキルを呼び出し、MCPツールを呼び出し、許可されるべき無害なターミナルコマンドを実行し、承認が必要とされるものを試します。
有用な受入マトリクスはこのようになります:
| 領域 | テスト | 失敗は通常何を意味するか |
|---|---|---|
| ペルソナ | トーンと境界線が明白な質問をする | SOUL.md が見つからなかった、上書きされた、またはアイデンティティ内容のマージが必要 |
| ユーザーメモリ | 既知の安定した設定を尋ねる | メモリエントリがインポートされなかった、予期せず重複排除された、再インデックス化されなかった、または新しいセッションでロードされなかった |
| スキル | 特徴的なインポートされたワークフローを呼び出す | 名前衝突、無効なメタデータ、依存関係の欠如、または古いセッション |
| プロバイダー | 通常の応答と長い応答を実行する | 間違ったモデルマッピング、認証情報の欠如、または非互換APIタイプ |
| MCP | 各サーバーから読み取り専用のツールを1つ呼び出す | 環境の欠如、間違った cwd、トランスポート不一致、またはツールフィルターの問題 |
| ターミナル | 許可されたコマンドと承認が必要なコマンドをテストする | 承認モードまたは許可リストのマッピングがポリシーを変更した |
| ブラウザ | 無害なテストページを開く | CDP URL、ブラウザバックエンド、またはサンドボックスアクセスが異なる |
| 圧縮 | 長時間の使い捨てセッションを実行する | サマリーモデルまたはコンパクト化挙動が意図通りマッピングされなかった |
| セッションリセット | 設定を調査し、使い捨てプロファイルでテストする | 日次/アイドルの解釈がOpenClawのルールと異なる |
移行は timeoutSeconds を推定された最大ターン値にマッピングし、推論レベルを変換し、承認モードを変換します。これらはセマンティクス上のマッピングであり、バイト単位のコピーではありません。結果の動作があなたの意図に一致することを確認してください、特に長時間の自律タスクとコマンド実行については。
ステップ 8: シークレットを独立したセキュリティ変更として扱う
--migrate-secrets は、OpenClaw設定値、~/.openclaw/.env、設定環境オブジェクト、およびエージェントごとの認証プロファイル(~/.openclaw/agents/<agent>/agent/auth-profiles.json)から許可リストされたキーを収集できます。プレーン文字列、環境テンプレート、環境バックドアのSecretRefオブジェクトを理解します。
意図的に任意のシークレット名をコピーしません。ファイルバックドアおよびコマンドバックドアのSecretRefは自動的に解決できず、サポートされる許可リスト外の値は手動設定のために残ります。ここでのすべての警告を、設計通りに機能する制御として扱い、OpenClawの環境全体をHermesに貼り付ける理由として扱わないでください。
最初の移行では、データインポート後にHermesを通じてプロバイダー認証情報を設定することをお勧めします。自動シークレット移行を使用する場合、プレビューし、チャンネル所有権の移管準備ができている場合のみ実行してください:
hermes claw migrate \
--dry-run \
--preset full \
--migrate-secrets
その後、値を印刷せずに存在を確認します:
hermes status
hermes auth status
シークレットがシェル履歴に露出していた場合、移行ノートに貼り付けられた場合、または意図されたより弱い権限で保存されていた場合は、認証情報をローテーションしてください。移行はアクセスを保存しますが、古いシークレット取り扱いの慣行が安全であったことを証明するものではありません。
ステップ 9: 管理されたメッセージング切断を実行する
2つのプロセスが同じボットアカウントとしてポーリング、サブスクライブ、または応答する場合、正直なゼロダウンタイム引き継ぎは存在しません。安全なパターンは、並行して準備し、OpenClawを停止し、Hermesを開始し、各プラットフォームをテストし、ロールバックコマンドを準備しておることです。
まずOpenClawゲートウェイを停止し、停止を確認してください:
openclaw gateway stop
openclaw gateway status
次にメッセージングシークレットを移行または手動で設定し、Hermesゲートウェイを設定して開始します:
hermes gateway setup
hermes gateway install
hermes gateway start
hermes gateway status
許可されたユーザーから各プラットフォームでダイレクトメッセージを送信します。受信テキスト、返信、使用されている場合の添付ファイル、スラッシュコマンド、長時間実行タスク、中断、送信予定または手動送信の送信をテストします。緑色のサービスステータスはプロセスが実行されていることを証明しますが、許可リスト、スレッドルーティング、配信、フォーマッティングが移行を生き延びたことを証明するものではありません。
WhatsAppは、移行がBaileysセッションを再利用可能なトークンとして移転しないため、再ペアリングが必要です。hermes whatsapp を実行し、QRフローを完了してください。他のチャンネルはトークンを再利用できる場合がありますが、アカウントレイアウトとマルチアカウントバインディングは依然として明示的なテストに値します。
スキル、プラグイン、MCPサーバーは交換可能ではない
4つの場所からのOpenClawスキルはインポートできますが、インポートされたディレクトリが有用なのは、その前提が依然として真である場合だけです。コマンド名、ファイルシステムパス、環境変数、プラットフォーム固有のツール、OpenClaw専用APIへの参照を確認してください。OpenClaw スキルガイド はソースフォーマットを説明し、Hermes スキル作成ガイド はデスティネーションの挙動をカバーしています。
OpenClawプラグインはHermesプラグインにはなりません。最も狭い適層で能力を再構築します:
- 手順、ツール選択、再利用可能な指示にはHermesスキルを使用。
- ライブデータまたは外部サービスの境界にはMCPサーバーを使用。
- すでに能力を提供している場合は内蔵Hermesツールを使用。
- コードがエージェントランタイム自体に参加する必要がある場合のみHermesプラグインを使用。
これは建築的な堆積物を削除するための良いタイミングです。古いOpenClawの制限を補うためにインストールされたプラグインは、Hermesで生存する理由がない場合があり、永続データベースを保持するプラグインは、意図的なエクスポートまたは置き換え計画が必要です。
MCP定義は、コマンド、引数、環境、作業ディレクトリ、URL、およびツールフィルタのinclude/excludeを含むより直接的に移行します。それでも各サーバーを別途テストしてください:正確なYAMLマッピングは、欠落した実行可能ファイルをインストールできず、OAuthを更新できず、旧ホストからのパスが新ホストに存在するようにもできません。
メモリには行数チェックではなく品質チェックが必要
Hermesは MEMORY.md、USER.md、および日次メモリファイルをメモリ構造にインポートします。これは有用な事実を保存しますが、OpenClawメモリプラグイン、長文脈データベース、エンベディングインデックス、想起ポリシーは翻訳されるのではなく、アーカイブされます。
インポートされたメモリを3つのパスでレビューします:
- アイデンティティと安定した設定:多くのセッションに影響すべき簡潔な事実を保存。
- 運用知識:繰り返し可能な手順をグローバルメモリではなくスキルやプロジェクトコンテキストに移動。
- 歴史の残渣:完了したインシデント、古い計画、自己参照エージェントコメントを、永遠に注入するのではなくアーカイブ。
すべてのトランスクリプトを永続メモリとしてインポートしないでください。より多くの記憶されたテキストは、古い制約とそれ自体の以前の推測を反復的に取得することで、エージェントをより不整合にすることがあります。Hermes メモリシステムガイド はインポートされたエントリがどこに配置されるかを説明し、エージェントメモリプロバイダー比較 は新しい長期バックエンドを選択するためのより良い場所です。
Cronジョブ、ハートビート、フック、マルチエージェントルーティングの再作成
Cronジョブは、スケジュールされた実行が単にcron式ではないためアーカイブされます。ジョブにはまた、プロンプトまたはコマンド、作業ディレクトリ、モデル、タイムアウト、配信先、権限、リトライ挙動、およびセッション状態に関する期待があります。
アーカイブされた各OpenClawジョブについて、それらのフィールドを書き留め、Hermesで再作成してください:
hermes cron create
hermes cron list
スケジュールを有効にする前に、各ジョブを手動で1回実行してください。特に古いジョブがTelegramチャット、Slackチャンネル、またはDiscordスレッドに投稿していた場合は、ワークと配信パスの両方を確認してください。
周期的な実行が真に必要である場合のみ、HEARTBEAT.md を明示的なスケジュールジョブに変換します。数分ごとにすべてを検査するようエージェントに求める曖昧なハートビートは高価で検証が困難です;観察可能な結果を持つ分離された命名ジョブの方が運用しやすくなります。
マルチエージェント定義とチャンネルバインディングも手動設計を必要とします。Hermesプロファイルは分離された状態とゲートウェイを提供しますが、OpenClawのエージェントリストの文法的な書き換えではありません。最初に名前を再現するのではなく、責任、ワークスペース、認証情報、チャンネル、セキュリティ境界によって各エージェントをマッピングしてください;そのマッピングの背後にあるプロファイルファーストの推論は、Hermes 本番セットアップガイド で検討されています。
重要となる失敗のトラブルシューティング
“OpenClawディレクトリが見つかりません”
コマンドは現在のOpenClaw、Clawdbot、Moltbotのデフォルトディレクトリを検索します。状態が別にある場合、OpenClaw設定と関連する状態を含むディレクトリを指してください:
hermes claw migrate --dry-run --source /path/to/openclaw
ワークスペースが真に完全なソースツリーでない限り、--source をワークスペースのみに設定しないでください。プレビューには設定、ワークスペース、認識されたカテゴリが表示されるべきです。
競合のため移行が拒否された
これはクラッシュではなく、安全なデフォルトです。Hermesをバックアップし、各競合についてどの側が権威あるかを特定し、スキルには --skill-conflict rename を使用し、レビューされた計画のために --overwrite を保存してください。
既存のHermes設定が価値がある場合、user-data プリセットを検討してください。確立されたインフラストラクチャを置き換えようとせずに、アシスタントのユーザー所有コンテンツをインポートします。
インポートされたスキルが表示されない
新しいセッションを開始し、~/.hermes/skills/openclaw-imports/ 以下のインポートディレクトリを調査します。検出を確認するためにHermes内で /skills を使用します。スキルが存在するが実行できない場合、移行を繰り返すのではなく、その依存関係とツール仮定を調査してください。
プロバイダーキーが見つかりません
キーはOpenClaw環境ファイル、設定環境オブジェクト、認証プロファイル、ファイルバックドアSecretRef、コマンドバックドアSecretRef、またはサポートされない変数名に保存されている可能性があります。移行ツールはサポートされる形式を解決し、残りは警告します。インポーターを満足させるためにシークレットリファレンスをプレーンテキストに変換する代わりに、Hermes設定または認証コマンドを通じて未解決の値を追加してください。
ボットは実行されているがメッセージが欠落または重複している
OpenClawゲートウェイが停止されており、トークンを所有するのはHermesプロファイルが1つだけであることを確認してください。次に hermes gateway status とゲートウェイログを調査し、続いてチャンネル許可リストとアカウント選択を確認してください。重複したコンシューマーと誤った許可リストは、壊れた言語モデルより頻繁です。
性格は存在するが想起が悪い
SOUL.md とメモリは異なる層です。ペルソナが ~/.hermes/SOUL.md にコピーされ、メモリエントリが ~/.hermes/memories/ に到達し、テストが新しいセッションを使用していることを確認してください。深いデバッグの前に hermes memory reindex を実行してください。OpenClawが外部メモリプラグインに依存していた場合、Markdownインポートがその検索挙動を再作成するのを期待するのではなく、Hermesメモリプロバイダーを設定してください。
Hermes をロールバックする
移行前のHermesバックアップを復元する前に、Hermesゲートウェイを停止してください:
hermes gateway stop
hermes import ~/.hermes/backups/pre-migration-<timestamp>.zip
hermes import はHermesホームのファイルをアーカイブ内容で上書きするため、正確なファイル名を確認し、移行後のHermesセッションが置き換えられることを理解してください。その後、Hermesを停止したままにし、OpenClawを再起動し、そのゲートウェイとチャンネルの健全性を検証してください。
コマンドがセットアップをモデル化できない場合の手動移行
手動フォールバックは遅いですが、強くカスタマイズされたインストールではより明確な場合があります。クリーンなHermesプロファイルを構築し、責任ごとに移行します:
- ペルソナ内容を
~/.hermes/SOUL.mdにコピーまたは書き換え。 - すべての履歴をコピーするのではなく、安定したユーザー事実をHermesの
MEMORY.mdとUSER.mdに精選。 - プロジェクト説明を正しいリポジトリレベルの
AGENTS.mdに配置。 - 互換性のあるスキルを命名されたインポートディレクトリにコピーし、個別にテスト。
- シークレットを印刷せずに、プロバイダーとMCP定義を
~/.hermes/config.yamlに変換。 - Hermes認証またはシークレット管理を通じて認証情報を設定。
- 承認、サンドボックス化、ブラウザアクセス、cronジョブ、Webhook、チャンネルを再作成。
- 各OpenClawプラグインを明示的なHermes能力で置き換え、または廃止。
ソースが異なるワークスペース、メモリプラグイン、チャンネルバインディングを持つ複数のOpenClawエージェントを含む場合、手動ルートは特に適しています。自動的マージは、ファイルを残しながら、セットアップを安全にした分離を消去する可能性があります。
OpenClaw をすぐにクリーンアップしないでください
Hermesがローカルおよびメッセージングテストを通過した後、ソーク期間のためにOpenClawをインストールしたまま停止しておきます。検証済みのOpenClawバックアップ、移行アーカイブ、移行前Hermesバックアップ、受入チェックリストのコピーを保存してください。
Hermesは、残りのOpenClawディレクトリを .pre-migration/ に改名するための hermes claw cleanup と、アーカイブされるものをプレビューするための hermes claw cleanup --dry-run をドキュメント化しています。OpenClawゲートウェイが停止され、現在のHermesバージョンにプロセスガードが含まれ、ロールバックしないことが決定された後にのみ使用してください。2026年の古いビルドには、OpenClawゲートウェイがまだ実行中に状態を移動できるレポートされたクリーンアップパスがあり、現在のコードはガードが実装されたマークをしていますが、検証済みのバックアップと停止されたソースサービスが依然として賢明な境界です。
クリーンアップは、Hermesが動作することを証明するために必須ではありません。将来の状態の混乱を減少させるために存在するため、ロールバックウィンドウ中にそれを先延ばしにするのは不整潔ではなく、良い運用です。
OpenClaw 2.0 に留まるべき時
OpenClaw 2.0は放棄されたベースラインではありません。v2026.8.1リリースは、900人以上の貢献者からの16,000以上のプルリクエストを含む — プロジェクトの合計マージ履歴の約半分 — かつ、オンボーディング、Web制御UI、セッションストレージ、バックアップ、チャンネル、メモリ、プラグイン、自動化、ブラウザおよびコンピュータ使用、セキュリティ、サービス信頼性を大幅に変更しました。これらのプラットフォーム機能があなたのデプロイの中心であれば、移行は簡素化するよりも動作している能力を削除する可能性があります。
以下のものに依存している場合はOpenClawに留まります:
- 組み込みファイルエディタ、gitバックドアの変更パネル、ブラウザパネル、会話内承認を持つ、再構築された制御UI。
- セッションプリセット、トランスクリプト検索、グループ、ステータスビュー、バッチアクション。
- Hermes同等がない製品固有のプラグイン。
- すでに本番で動作している複雑なマルチユーザー、モバイル、デバイス、またはチャンネルルーティング。
- OpenClaw固有のブラウザ、コンピュータ使用、またはゲートウェイ管理。
- 受け入れ可能な損失でエクスポートできないメモリまたはセッションデータベース。
- チームがすでに熟知し監視している運用制御。
よりシンプルなターミナルファーストのワークフロー、プロファイル、学習指向のスキル、メモリモデル、スケジュールタスク、プロバイダーの柔軟性、または委任モデルが、実際に運用しているものによりよく一致する場合、Hermesに移行します。OpenClaw と Hermes の比較 は、その決定を現在の数字で議論しています;このページは、決定がされた後に切断を実行することについてです。
最終移行チェックリスト
- OpenClaw バージョンと解決パスが記録されている。
- 検証済みの OpenClaw バックアップがライブ状態の外に保存されている。
- 2.0以前のJSONLトランスクリプトが重要な場合、別途スナップショットされた。
- 既存の Hermes バックアップが作成された。
- Hermes バージョンが現在の
claw migrate安全性挙動に対してチェックされた。 - フルドライランがレビューされた。
- すべての競合に解決策が割り当てられた。
- アーカイブ内容が手動作業リストに追加された。
- ペルソナ、ユーザーメモリ、スキルが新しいセッションでテストされた。
- プロバイダー、フォールバックモデル、MCP、ブラウザ、ターミナルがテストされた。
- 承認とサンドボックス挙動がテストされた(拒否されたアクションを含む)。
- Cronジョブ、プラグイン、フック、メモリバックエンド、マルチエージェントバインディングが再構築または廃止された。
- チャンネル認証情報が移動される前に OpenClaw ゲートウェイが停止された。
- すべてのメッセージングチャンネルが許可されたアカウントからテストされた。
- 使用されている場合、WhatsApp が再ペアリングされた。
- ロールバックコマンドとアーカイブ名が記録された。
- OpenClaw クリーンアップがソーク期間終了まで延期された。
最終結論
hermes claw migrate は、OpenClawからHermesへの移行を慣習的にするのに十分ですが、「慣習的」が計画され、可逆的であることを意味する場合のみです。その最も強力な機能は、コピーするファイルの数ではなく、旧アシスタントのどの部分が真のHermes同等機能を持ち、どの部分が依然としてエンジニアリングの判断を必要とするかを教えてくれるプレビューです。
スコープを発見するためにフルプリセットを使用し、最初のパスからシークレットを除外し、スキル競合を改名し、ターミナルからテストし、チャンネル所有権の移転を独立したイベントとして扱います。最も重要なのは、Hermesが真のスケジュールワークと真の会話を完了し、単に成功ステータスコマンドを返しただけではないことを確認するまで、旧システムを保存することです。