安全修改 OpenClaw 配置檔案,自動執行檢查、修復、驗證、學習反饋流程。
當用戶要求:
- 修改配置
- 更改 Gateway 設定
- 調整渠道配置
- 修改模型/會話/認證配置
- 任何涉及 ~/.openclaw/openclaw.json 的操作
| 問題型別 | 處理方式 | 示例 |
|---|---|---|
| 小問題(拼寫錯誤、格式問題) | 自己學習 + 記錄 | 不麻煩使用者,記錄到 MEMORY.md |
| 重要配置(影響功能、渠道、認證) | 反饋使用者 + 學習 | 讓使用者知情,避免再次犯錯 |
| 反覆出現的錯誤 | 反饋 + 記錄 + 總結 | 形成知識庫,永久避免 |
# 步驟 0: 查閱 config-validator(修改前參考)
# 確認欄位存在和有效值
# 檢視配置示例
# 步驟 1: 修改配置(先向使用者確認)
# 確認模板:
# 📋 配置修改確認
# 修改內容:XXX
# 原因:XXX
# 影響:XXX
# 風險:低/中/高
# 文件依據:https://docs.openclaw.ai/zh-CN/XXX
# 是否繼續?是/否
# 步驟 2: 檢查 + 自動修復
openclaw doctor --fix
# AI 內部過濾關鍵資訊:
# openclaw doctor --fix 2>&1 | grep -E "Doctor changes|Normalized|Config overwrite|Backup|Invalid"
# 步驟 3: 對比備份(必須執行!)
diff ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
# AI 解讀 diff,向用戶說明修改內容
# 步驟 4: 記錄教訓(重要!)
# 把學到的正確配置值記錄到 MEMORY.md
# 步驟 5: 等待熱過載
sleep 3
# 3 秒是合理的:熱過載是程序內重啟(SIGUSR1),官方設計為快速應用
# 步驟 6: 驗證 Gateway 狀態
openclaw gateway status
# 確認 Gateway 正常執行
# Gateway 失敗 ≠ 機器人癱瘓!
# 診斷命令仍然可用,因為它們是檢查檔案系統,不依賴 Gateway RPC
# 步驟 1: 檢視日誌,瞭解失敗原因
openclaw logs --follow
# 檢視錯誤資訊,例如:
# - Config validation failed: XXX
# - Port 18789 already in use
# - Invalid token format
# 步驟 2: 根據日誌手動修復配置
nano ~/.openclaw/openclaw.json
# 針對性修復發現的問題
# 步驟 3: 再次嘗試啟動
openclaw gateway restart
# 步驟 4: 再次驗證
openclaw gateway status
📋 配置修改確認
修改內容:XXX
原因:XXX
影響:XXX
風險:低/中/高
文件依據:https://docs.openclaw.ai/zh-CN/XXX
是否繼續?是/否
AI 向用戶反饋的格式(必須遵守):
✅ 配置檢查完成
【修復內容】
- 欄位:channels.telegram.streaming
- 原值:"invalid_test_value"(無效)
- 新值:"off"(有效)
【備份位置】
~/.openclaw/openclaw.json.bak
【其他警告】(與配置無關,可選處理)
- Node 版本警告:系統 Node 16.5.0,建議升級到 22+
- 會話記錄缺失:1/2 sessions 缺少 transcript
小問題(不麻煩使用者):
✅ 配置檢查完成
doctor 輸出:無問題 / 修復了 XXX(小問題,已自動修復)
已記錄到:MEMORY.md
重要配置(反饋使用者):
✅ 配置檢查完成
【修復內容】
- 欄位:XXX
- 原值:"XXX"(無效)
- 新值:"XXX"(有效)
【學到的知識】
- 正確值:XXX
- 含義:XXX
- 文件:https://docs.openclaw.ai/zh-CN/XXX
⚠️ 注意:XXX(影響說明)
已記錄到:MEMORY.md
✅ Gateway 狀態正常 Runtime: running RPC probe: ok7w4.net小蔥技能。
❌ Gateway 啟動失敗
錯誤日誌:
XXX(從 logs --follow 獲取)
已手動修復:XXX
正在重啟 Gateway...
✅ Gateway 已恢復正常
AI 應該執行的過濾(內部處理,使用者不需要看):
openclaw doctor --fix 2>&1 | grep -E "Doctor changes|Normalized|Config overwrite|Backup|Invalid"
AI 向用戶反饋時明確分類: - 修復項 — Doctor changes、Normalized、Config overwrite - 警告項 — Node 版本、會話記錄、Skills 狀態等
AI 必須執行的操作: 1. 過濾 doctor 輸出,提取關鍵修復資訊 2. 對比備份檔案,解讀 diff 3. 向用戶反饋修復內容(欄位、原值、新值) 4. 記錄教訓到 MEMORY.md 5. 等待 3 秒後驗證 Gateway 狀態
| 侷限 | 說明 | 應對方案 |
|---|---|---|
| doctor 檢測不出埠無效 | 埠號格式正確但值無效時 | 手動驗證關鍵配置 |
| Gateway 有保護機制 | 無效配置時自動回滾預設值 | 修復後驗證配置已生效 |
| Gateway 重啟輸出不清晰 | 只顯示"missing tool result" | 檢視 logs --follow 確認 |
這個 Skill 的文件質量不錯,流程清晰、有測試指南和反饋策略說明。但作為 Skill 來說,它更像一份操作手冊而非可執行的工具,實際功能實現較少。如果需要一個真正能自動執行配置檢查和修復的工具,可能需要進一步補充程式碼實現。