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
上面是手動的測試流程,再來我們要把這套流程裝入 workspace 讓 openclaw 有長期記憶下次可以自動執行
- 把使用說明 README.md 檔案複製到 ~/.openclaw/workspace/migrations/README.md
- 在 TOOLS.md 中填入這裡的提示詞(migrations/TOOLS.md)
這樣就可以在需要的時候自動按需讀取並運作了