2026年5月27日 星期三

OpenClaw 安全的自我改 json 設定值 (用migration的方式)

OpenClaw 安全的自我改 json 設定值 (用migration的方式)

直接改 openclaw.json 容易手殘改炸,也沒有紀錄。用 migration 的方式可以追溯每次改了什麼、為什麼改,還能先 dry-run 驗證



建立 migration 檔案

在 workspace 的 migrations/ 目錄下建檔,命名格式跟 Supabase 一樣用時間戳:

// migrations/20260527211900_你的描述.json5

// Migration: 簡短標題
// 原因: 為什麼要改
// 日期: 2026-05-27
// 影響: 改了會怎樣
{
  "要改的區塊": {
    "要改的key": "新的值"
  }
}

例如關閉 session 自動 reset 的設定值是

// migrations/20260525010000_disable-session-auto-reset.json5
{
  "session": {
    "reset": {
      "mode": "idle",
      "idleMinutes": 52596000
    }
  }
}



套用設定

Dry-run 驗證

openclaw config patch --file migrations/20260525010000_disable-session-auto-reset.json5 --dry-run

通過會顯示 Dry run successful: N update(s) validated
失敗會告訴你哪個值不合法

套用

openclaw config patch --file migrations/20260525010000_disable-session-auto-reset.json5

重啟後生效

openclaw gateway restart --safe



復原

如果改炸了的話,config patch 每次 apply 都會自動產生 openclaw.json.bak,直接復原

cp ~/.openclaw/openclaw.json.bak ~/.openclaw/openclaw.json
openclaw gateway restart --safe



把這套做法設定到 OpenClaw 中

在 TOOLS.md 中填入下面的提示詞,openclaw 就可以自動處理了

## OpenClaw 設定變更流程(Migration)

- **路徑**:`migrations/`
- **流程**:建檔 → dry-run → 主人確認 → apply → 主人確認 → 重啟
- **詳細規則**:見 `migrations/README.md`
- **重啟指令**:`openclaw gateway restart --safe`
- **❗ 套用和重啟都要先確認主人**

提示詞在這裡 migrations/README.md 可以下載



沒有留言:

張貼留言