
OpenClaw 預設配置跑一段時間會遇到兩個問題:額度消耗太快、長會話超時崩潰。這篇文章記錄我實際調優的 8 個引數,以及背後的原因。
先說清楚架構
我用的組合:
- GitHub Copilot Pro+:月付 $19,提供 1500 次/月的 premium request 額度
- Claude Opus 4.6:透過 Copilot 的模型路由訪問,模型 ID
github-copilot/claude-opus-4.6 - OpenClaw:負責 Telegram 互動、Skill 呼叫、定時任務
額度計算邏輯:每次 AI 助手回覆 = 1 次 premium request(包括 tool call 後的回覆)。1500 次聽起來很多,但沒最佳化的話很快就不夠用。
8 項標準最佳化
1. 模型只保留 Copilot,清空 fallbacks
問題:預設配置有多個 model provider 做 fallback,一旦主模型超時,會依次嘗試所有 fallback,每次嘗試都消耗額度。
最佳化:
{
"agents": {
"defaults": {
"model": {
"primary": "github-copilot/claude-opus-4.6",
"fallbacks": []
}
}
}
}
fallbacks 清空後,失敗直接報錯,不會觸發 2-3 次無效重試。每月節省約 50 次。
2. 超時從 600s 降到 300s
問題:預設 600 秒超時意味著一次卡住的請求要等 10 分鐘才報錯,這段時間後續訊息全部積壓。
最佳化:
{
"agents": {
"defaults": {
"timeoutSeconds": 300
}
}
}
300 秒對於正常任務綽綽有餘,能更快發現異常,減少因超時引發的重試鏈。
3. Session Compaction:safeguard 模式
問題:長時間運維會話(比如除錯一個伺服器問題來回 SSH 幾十次),上下文會膨脹到 API 拒絕接受,然後觸發重試。
最佳化:
{
"compaction": {
"mode": "safeguard",
"reserveTokensFloor": 120000
}
}
safeguard 模式:當上下文接近模型 context 上限時,自動壓縮歷史,保留關鍵內容,防止因 context 過長導致的 API 報錯。reserveTokensFloor 是保留的輸出 token 緩衝。
4. Context Pruning:30 分鐘 TTL
這是效果最顯著的最佳化。
問題:tool call 的輸出(SSH 命令結果、檔案內容、API 響應)通常很長,但 30 分鐘後基本沒有參考價值,卻還佔著 context 的大量空間。
最佳化:
{
"contextPruning": {
"mode": "cache-ttl",
"ttl": "30m",
"keepLastAssistants": 5,
"minPrunableToolChars": 30000,
"softTrim": {
"maxChars": 3000,
"headChars": 1000,
"tailChars": 1000
},
"hardClear": {
"enabled": true,
"placeholder": "[舊工具輸出已清理]"
}
}
}
關鍵引數說明:
ttl: "30m":30 分鐘前的 tool 輸出自動進入裁剪候選keepLastAssistants: 5:保留最近 5 條 AI 回覆(保持對話連貫性)minPrunableToolChars: 30000:只有超過 3 萬字元的 tool 輸出才裁剪(避免誤裁)softTrim:保留頭尾各 1000 字元,中間摺疊為佔位符hardClear:超限時完全清空替換為佔位文字
實際效果:context 大小減少 50%+,長會話穩定性大幅提升。
5. 關閉 Discord
問題:Discord WebSocket 連線不穩定,頻繁斷連會觸發 gateway 異常,進而導致一連串錯誤重試,消耗額度。
{
"channels": {
"discord": {
"enabled": false
}
}
}
我的使用場景只用 Telegram,Discord 直接關掉。每月節省約 100 次。
6. 關閉 Heartbeat
問題:Heartbeat 是 OpenClaw 的存活檢測機制,預設每 30 分鐘發一次 ping,每次 ping = 1 次 API 呼叫。
{
"agents": {
"defaults": {
"heartbeat": {
"every": ""
}
}
}
}
關掉後每天節省 48 次呼叫,每月 節省約 1440 次。這是最大的單項節省。
7. 清理無用 Model Providers
問題:配置了多個 model provider(openrouter、各種 API 代理),gateway 啟動時會對所有 provider 做後臺健康檢查,每次檢查消耗額度。
{
"models": {
"providers": {}
}
}
只保留 github-copilot,其他全刪。每月節省 20-50 次。
8. 關閉 Exec 審批(新版 4.5+)
問題:新版 OpenClaw 預設開啟 elevated 許可權審批,AI 執行 shell 命令時需要使用者確認,會卡住自動化工作流。
在 openclaw.json 的 exec 配置裡:
{
"exec": {
"requireApproval": false
}
}
適合信任你的運維場景,不適合多人共享或不確定任務的場景。
一鍵應用指令碼
以上 8 項可以用這段 Python 指令碼批次寫入:
import json, os
path = os.path.expanduser("~/.openclaw/openclaw.json")
with open(path) as f:
c = json.load(f)
d = c.setdefault("agents", {}).setdefault("defaults", {})
# 1. 模型 + 清空 fallbacks
d["model"] = {"primary": "github-copilot/claude-opus-4.6", "fallbacks": []}
# 2. 超時 300s
d["timeoutSeconds"] = 300
# 3. Session Compaction
d["compaction"] = {
"mode": "safeguard",
"reserveTokensFloor": 120000
}
# 4. Context Pruning
d["contextPruning"] = {
"mode": "cache-ttl",
"ttl": "30m",
"keepLastAssistants": 5,
"minPrunableToolChars": 30000,
"softTrim": {"maxChars": 3000, "headChars": 1000, "tailChars": 1000},
"hardClear": {"enabled": True, "placeholder": "[舊工具輸出已清理]"}
}
# 6. 關閉 Heartbeat
d["heartbeat"] = {"every": ""}
# 5. 關閉 Discord
c.setdefault("channels", {}).setdefault("discord", {})["enabled"] = False
# 7. 清理 providers
c.setdefault("models", {})["providers"] = {}
with open(path, "w") as f:
json.dump(c, f, indent=2, ensure_ascii=False)
print("配置已更新,重啟 openclaw gateway 生效")
執行後重啟 gateway:
openclaw gateway restart
版本相容性注意
部分引數只在新版(4.5+)支援,舊版寫入會導致 gateway 啟動失敗:
| 引數 | 舊版 ≤3.28 | 新版 4.5+ |
|---|---|---|
compaction.notifyUser | ❌ 不支援 | ✅ |
compaction.memoryFlush | ❌ 不支援 | ✅ |
auth.cooldowns | ❌ 不支援 | ✅ |
| discord 配置鍵名 | allow | enabled |
如果 gateway 重啟失敗,先用 openclaw gateway logs 看具體報錯,通常是某個不支援的欄位導致的。
最佳化後的月度用量
最佳化前:Heartbeat + Discord + fallbacks + context 膨脹,單日可能消耗 150+ 次。
最佳化後(1500 次/月分配):
| 用途 | 日均 | 月估算 |
|---|---|---|
| 日常運維對話 | 30-50 次 | 600-800 次 |
| 量化策略巡檢 | 0(直接 cron,不走 AI) | 0 |
| 定時天氣/報告 | 2 次 | 60 次 |
| 合計 | ~660-860 次 |
1500 次的額度留有充足餘量,即便某天密集運維消耗 200 次,月末也不會超限。
有 OpenClaw 配置問題或者額度不夠用的情況,歡迎來 Telegram 聊。
延伸閱讀:
- OpenClaw 是什麼 — 整體架構介紹
- OpenClaw 故障排查 — 常見問題處理
- Claude API 省錢指南 — API 直連的成本控制
📷 封面圖 · Flux Schnell AI 生成 · panshi.io 品牌風格