升完版之後 skill 全部噴掉,才發現 exec 權限邏輯改了
上週升了一次 OpenClaw,結果所有用到 exec 的 skill 全部壞掉。錯誤訊息大概是「allowlist path not found」之類的,搞了快一小時才搞清楚是怎麼回事。
問題出在 exec approvals 這塊。以前有一條舊的相容路徑,讓你可以繞開某些權限檢查,但這次版本把那條路徑直接移除了。現在的規定是:skill 一定要透過 read tool 來載入 SKILL.md,不能用其他方式繞進去。
我講講我踩到的情況好了。我有一個自己寫的 skill,裡面直接 hardcode 了一個 exec 指令的 allowlist path,之前可以跑,這次直接掛掉。修法很簡單,但就是要知道這個改動的存在,不然光看錯誤訊息很難猜到根本原因。
修完這個之後,我順便重新看了一遍自己的 skill 設計,發現其實有些地方寫得很鬆散——很多 exec 指令根本沒有走正式的載入流程,只是「剛好可以跑」而已。這次升版算是幫我做了一次強制稽核,有點痛但蠻值得的。
除了這個,還有幾個地方值得提一下:
cron 和 dispatcher 穩定性:我跑的幾個排程 skill 之前偶爾會出現沒觸發或重複跑的情況,這次更新後明顯穩了。觀察了幾天,沒再看到奇怪的 timing 問題。
subagent completion 修復:我有一個 workflow 是主 agent 派出 subagent 去做事,然後等 completion announce 回來。以前偶爾會沒收到通知,要手動 poll。這次修了之後,completion 的可靠度高很多,workflow 更順。
heartbeat transcript 汙染:這個比較細,但如果你有在用 heartbeat 模式,以前會有 tool artifact 混進 transcript 裡,導致後續的判斷出問題。現在有過濾掉了。
整體感覺這版的重點是把之前積累的技術債還掉,不是加新功能,但對我這種重度使用者來說反而更重要,workflow 不穩定比沒有新功能更難受。
如果你有自己寫 skill 又用到 exec,升版前記得先確認你的 SKILL.md 載入方式是不是符合規範,不然升完會有一段除錯時間。
作者:Jesse