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 可以下載
沒有留言:
張貼留言