Maintenance

從 Hermes 遷移

OpenClaw 透過內建的遷移提供者匯入 Hermes 狀態。提供者會在變更狀態前預覽所有內容,在計畫與報告中遮蔽密鑰,並在套用前建立已驗證的備份。

兩種匯入方式

入門精靈

這是最快的路徑。精靈會在 ~/.hermes 偵測 Hermes,並在套用前顯示預覽。

openclaw onboard --flow import

或指向特定來源:

openclaw onboard --import-from hermes --import-source ~/.hermes

CLI

使用 openclaw migrate 進行腳本化或可重複的執行。如需完整參考,請參閱 openclaw migrate

openclaw migrate hermes --dry-run    # 僅預覽
openclaw migrate apply hermes --yes  # 跳過確認並套用

Hermes 位於 ~/.hermes 以外的位置時,加入 --from <path>

會匯入的內容

模型設定
  • 來自 Hermes config.yaml 的預設模型選擇。
  • 來自 providerscustom_providers 的已設定模型提供者與自訂 OpenAI 相容端點。
MCP 伺服器

來自 mcp_serversmcp.servers 的 MCP 伺服器定義。

工作區檔案
  • SOUL.mdAGENTS.md 會複製到 OpenClaw 代理程式工作區。
  • memories/MEMORY.mdmemories/USER.md附加到對應的 OpenClaw 記憶檔案,而不是覆寫它們。
記憶設定

OpenClaw 檔案記憶的記憶設定預設值。Honcho 等外部記憶提供者會記錄為封存或需手動檢閱的項目,讓你可以審慎移動它們。

Skills

skills/<name>/ 底下含有 SKILL.md 檔案的 Skills 會被複製,並一併複製來自 skills.config 的每個 Skill 設定值。

API 金鑰(選擇加入)

設定 --include-secrets 以匯入支援的 .env 金鑰:OPENAI_API_KEYANTHROPIC_API_KEYOPENROUTER_API_KEYGOOGLE_API_KEYGEMINI_API_KEYGROQ_API_KEYXAI_API_KEYMISTRAL_API_KEYDEEPSEEK_API_KEY。沒有此旗標時,密鑰永遠不會被複製。

只保留在封存中的內容

提供者會將這些項目複製到遷移報告目錄以供手動檢閱,但不會將它們載入即時 OpenClaw 設定或憑證:

  • plugins/
  • sessions/
  • logs/
  • cron/
  • mcp-tokens/
  • auth.json
  • state.db

OpenClaw 會拒絕自動執行或信任這些狀態,因為格式與信任假設可能會在系統之間漂移。請在檢閱封存後,手動移動所需內容。

建議流程

  • 預覽計畫

    openclaw migrate hermes --dry-run
    

    計畫會列出所有將變更的內容,包括衝突、略過的項目和任何敏感項目。計畫輸出會遮蔽巢狀且看似密鑰的鍵。

  • 以備份套用

    openclaw migrate apply hermes --yes
    

    OpenClaw 會在套用前建立並驗證備份。如果需要匯入 API 金鑰,請加入 --include-secrets

  • 執行 doctor

    openclaw doctor
    

    Doctor 會重新套用任何待處理的設定遷移,並檢查匯入期間引入的問題。

  • 重新啟動並驗證

    openclaw gateway restart
    openclaw status
    

    確認 Gateway 狀態正常,且已載入匯入的模型、記憶和 Skills。

  • 衝突處理

    當計畫回報衝突(目標中已存在檔案或設定值)時,套用會拒絕繼續。

    對於全新的 OpenClaw 安裝,衝突並不常見。它們通常會出現在你於已有使用者編輯的設定上重新執行匯入時。

    如果在套用中途出現衝突(例如設定檔發生非預期的競爭),Hermes 會將其餘相依的設定項目標記為 skipped,原因為 blocked by earlier apply conflict,而不是部分寫入它們。遷移報告會記錄每個被阻擋的項目,讓你可以解決原始衝突後重新執行匯入。

    密鑰

    預設永遠不會匯入密鑰。

    • 先執行 openclaw migrate apply hermes --yes 以匯入非密鑰狀態。
    • 如果你也想複製支援的 .env 金鑰,請使用 --include-secrets 重新執行。
    • 對於由 SecretRef 管理的憑證,請在匯入完成後設定 SecretRef 來源。

    用於自動化的 JSON 輸出

    openclaw migrate hermes --dry-run --json
    openclaw migrate apply hermes --json --yes
    

    使用 --json 且不加 --yes 時,套用會列印計畫且不變更狀態。這是 CI 與共用腳本最安全的模式。

    疑難排解

    套用因衝突而拒絕

    檢查計畫輸出。每個衝突都會指出來源路徑與現有目標。針對每個項目決定要略過、編輯目標,或使用 --overwrite 重新執行。

    Hermes 位於 ~/.hermes 以外

    傳入 --from /actual/path(CLI)或 --import-source /actual/path(入門)。

    入門流程拒絕在現有設定上匯入

    入門匯入需要全新的設定。請重設狀態並重新入門,或直接使用 openclaw migrate apply hermes,它支援 --overwrite 與明確的備份控制。

    API 金鑰未匯入

    必須使用 --include-secrets,且只會識別上方列出的金鑰。.env 中的其他變數會被忽略。

    相關

    • openclaw migrate:完整 CLI 參考、Plugin 合約與 JSON 形狀。
    • 入門:精靈流程與非互動式旗標。
    • 遷移:在機器之間移動 OpenClaw 安裝。
    • Doctor:遷移後健康檢查。
    • 代理程式工作區SOUL.mdAGENTS.md 和記憶檔案所在的位置。