2026年6月26日 星期五

OpenClaw 如何關閉心跳節省 Token 的成本

OpenClaw 如何關閉心跳

預設心跳是每30分鐘會從 main 會話啟動一次,這會消耗一次對話的 Token,主要是為了定期起來做事。

但如果擁有多台 OpenClaw 的話這個消耗就非常可觀了,如果只是需要密的時候才回應,非主力機建議就關掉吧


關閉心跳 (其實就是設定成0分鐘心跳一次)

openclaw config set agents.defaults.heartbeat.every "0m"


每30分鐘心跳一次

openclaw config set agents.defaults.heartbeat.every "30m"


設定完記得要重啟才會生效

openclaw gateway restart --safe


重啟完就可以了


Openclaw 讓 session 永遠延續不要每天自動重置

Openclaw 讓 session 永遠延續不要每天自動重置

最初一開始的版本其實不管經過幾天都不會自動刷掉會話重來,從某一版開始就變得每天會自動重置,好處是會話別一直累積,可以減少 Token 的消耗與反應速度快一點

不過缺點也很明顯會話的連續性,具體表現就是過一天之後龍蝦就失憶了,明明 Discord 上還有昨天的對話可是他卻說他不記得了

調整成不過期之後對話滿的時候會自動壓縮,可能要卡個10幾秒左右,遇到了自己有耐心等一下


具體要改的值在這裡,這是快速設定的指令

openclaw config set session.reset '{"mode":"idle","idleMinutes":52596000}' --strict-json


具體表現在 openclaw.json 上長這個樣子

{
  "session": {
    "reset": {
      "mode": "idle",
      "idleMinutes": 52596000
    }
  }
}

簡單的改成 100 年基本上就是不會過期了






2026年6月23日 星期二

如何讓 OpenClaw 的 corn 根據聊天內容判斷決定是否要發送提醒

如何讓 OpenClaw 的 corn 根據聊天內容判斷決定是否要發送提醒

一個最簡單的做法是走心跳,但是心跳不是很穩定,心跳的好處是直接從主會話啟動,可以有主會話的記憶,不過缺點是不可控

再來就只剩下走普通 corn 呼叫一個獨立會話來做事了,第一個問題是他讀不到其他會話,雖然可以走 Discord API 讀到,但是萬一你不是在 DC 上聊呢?

找到最好的解法是用 TaskList() 列出會話並依照時間與類型塞選,然後再用 TaskHistory() 來讀取最新多少則內容,如此一來就可以絕對取得近期所有記錄了

這個做法除了能判斷之外最大的優點是,讓提醒具備對話連續性的能力,才不會只是冷冰冰的固定文字提醒而已


固定的技能流程

取得方法的固定流程可以參考這個
技能包: gist/context-reader.md (進後按右上角raw按鈕可以複製)

技能需要打開兩個能力才能順利運行

1. 使 Agent 有能力讀取其他會話

openclaw config set tools.sessions.visibility agent

2. 使 Agent 有能力自己發到 Discord 中

openclaw config set channels.discord.actions.messages true


設定 corn 的提示詞

傳送的部分選無就可以了不經由內建的傳送
最後在 corn 中輸入這樣的提示詞。(target 那裡記得改成自己的ID)

現在是中午11:45,提醒主人去吃午餐。

步驟:
1. 讀取 cron-skills/context-reader/SKILL.md 並執行,載入主人最近的對話
2. 根據對話內容和發送判斷,決定是否發送午餐提醒

內容要求:
- 簡短、不囉唆
- 語氣輕鬆關心
- 根據今天的狀態調整內容
- 可以用 emoji
- 每天說法稍微不同

**你必須使用 message 工具發送 Discord DM:**
- action: send
- channel: discord
- target: user:{UserID}
- message: 一條簡短溫馨的午餐提醒

**發送判斷:**
- 如果對話中主人已經說過吃飽了、正在吃、或剛吃完 → 不發送
- 如果沒有相關資訊或不確定 → 發送提醒



實際成果

實際成功阻斷的範例,成功獲取信息並像個人一樣思考了






2026年5月29日 星期五

WindwosUpdate 延緩 自動更新 14天

WindwosUpdate 延緩 自動更新 14天

怕安全更新出事主力機有檔一下,這必須是專業版以上版本才有用,家用版估計是不起作用的

更改的登陸檔指令在這裡

reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferQualityUpdates /t REG_DWORD /d 1 /f
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v DeferQualityUpdatesPeriodInDays /t REG_DWORD /d 14 /f

分別是 啟用「「延後品質更新」」與「延後 14 天」兩個選項的設置

這個只會延緩每月一次的安全更新,每幾天一次的小補釘照樣會跑




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 中

上面是手動的測試流程,再來我們要把這套流程裝入 workspace 讓 openclaw 有長期記憶下次可以自動執行

  1. 把使用說明 README.md 檔案複製到 ~/.openclaw/workspace/migrations/README.md
  2. 在 TOOLS.md 中填入這裡的提示詞(migrations/TOOLS.md)


這樣就可以在需要的時候自動按需讀取並運作了






2026年5月26日 星期二

OpenClaw 讓龍蝦在不同 會話(session) 互通

OpenClaw 讓龍蝦在不同 會話(session) 互通

龍蝦預設每個會話是不會互通無法查看內容的,這是為了多人使用時不要互相去偷看別人的內容了,但如果只有自己一個人在用,可可以互看會比較好

才不會出現在 Discord 上我在 A頻道聊的東西 B頻道 或 DM上完全不知道,就好像不同人一樣會有種出戲感


設定方法

因為只需要改一個值而已這裡用內建命令啟動比較快

openclaw config set tools.sessions.visibility agent

再來確認當前值

openclaw config get tools.sessions.visibility


要關閉的話

openclaw config unset tools.sessions.visibility


他對應到 json 的這個設定值

{
"tools": { "sessions": { "visibility": "agent" } }
}


設好之後重新啟動一下

openclaw gateway restart --safe

這樣就可以了

OpenClaw 加速重新啟動緩慢的問題

OpenClaw 加速重新啟動緩慢的問題

龍蝦可以自己成長自己改自己,最大的麻煩在於經常一重新啟動就等很久,作者有提供一個方法設置後固定的東西不用重跑可以快很多大概20秒內就可以重啟好



加速重新啟動

要加速重新啟動要自己在環境變數指定 tmp 的位置,這樣就不會每次都重跑了速度會差很多,會需要加入以下的變數

在 .bashrc 中加入下面變數

nano ~/.bashrc

# OpenClaw startup optimization
export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache
export OPENCLAW_NO_RESPAWN=1


接著執行下面指令

# 載入變數
source ~/.bashrc

# 建立目標資料夾
mkdir -p /var/tmp/openclaw-compile-cache

# 重啟 openclaw
openclaw gateway restart --safe


做完之後重啟速度就會快很多了,通常大概20秒內就可以重新上線了