一覺醒來,很多網(wǎng)友發(fā)現(xiàn)微信里的蝦不能用了,原因是 OpenClaw 昨天一次大更新。
APPSO 在開頭強(qiáng)烈建議,如果你想在微信養(yǎng)蝦,先別升級(jí)到 OpenClaw 最新版。
![]()
當(dāng)我們嘗試把手邊的 OpenClaw 更新到最新版本時(shí),果然在更新的過程中,就接連報(bào)出好幾個(gè)警告。
不只是微信(下圖中 openclaw-weixin),我們之前配置的騰訊系 qqbot、企業(yè)微信 wecom-openclaw-plugin,以及飛書等聊天應(yīng)用,都遇到了「包含危險(xiǎn)代碼模式」的警告。
![]()
我們?cè)趶?3.13 版本更新到 3.23 的過程中,騰訊系的 qqbot、企業(yè)微信和微信幾乎都遇到了類似的警告。
所謂的 檢測(cè)到危險(xiǎn)的代碼模式警告,一般是說在相關(guān)的插件代碼里, 有一些寫法,可能帶來安全風(fēng)險(xiǎn)、穩(wěn)定性問題,或者被惡意利用。
它和報(bào)錯(cuò)不同,報(bào)錯(cuò)是 代碼已經(jīng)出現(xiàn)明確問題,程序沒法正常繼續(xù),或者結(jié)果不可信。
更新完成后,我們嘗試在微信里面和 Clawbot 對(duì)話,控制部署在本地的 OpenClaw,連發(fā)好幾條消息都沒有回應(yīng)。
![]()
查看 OpenClaw 的官方日志,我們發(fā)現(xiàn),在微信里發(fā)給 Clawbot 的信息,完全不能同步到 OpenClaw 處理。反而好幾條都是 error 的報(bào)錯(cuò)信息,提示找不到 OpenClaw 的 plugin-sdk 的模塊。
Error: Cannot find module 'openclaw/plugin-sdk'
但是 QQ Bot 卻還能正常回應(yīng)。
![]()
![]()
微信 ClawBot 在更新后連接不上 OpenClaw
在我們按照微信官方的 Clawbot 插件提示,重新在終端里輸入命令安裝 Clawbot 時(shí),開始像 OpenClaw 的運(yùn)行日志里面,報(bào)出找不到相關(guān)模塊的問題。
OpenClaw 更新了什么,它也是「屎山」?
OpenClaw 現(xiàn)在可以說是 GitHub 上的頂流開源項(xiàng)目,幾乎每天都有人在為他提交優(yōu)化代碼,而官方基本上也是保持在 2-3 天就會(huì)更新一個(gè)新的發(fā)布版本,每次都是大量的 fixes 代碼修復(fù)、changes 變更,和 breakings 大改動(dòng)。
![]()
從 GitHub 能看到,OpenClaw 的更新相當(dāng)頻繁
在這次 2026.3.22-beta.1 的更新中,Openclaw 團(tuán)隊(duì)就進(jìn)行了一次重構(gòu)。對(duì)于插件系統(tǒng),他們做了兩個(gè)大幅度的變動(dòng)。
拆除了原有的總大門: 以前所有的插件都可以直接從openclaw/plugin-sdk這個(gè)統(tǒng)一的入口拿到需要的功能。這次更新,官方直接把這個(gè)總?cè)肟诮o刪了。
![]()
不提供任何過渡方案: 更新日志里明確寫了 no compatibility shim(無兼容墊片)。意思就是,他們不僅直接把這個(gè)模塊刪除了,連個(gè)轉(zhuǎn)移和過渡的接口都不給。
OpenClaw 為什么會(huì)這么大刀闊斧地更新?
雖然對(duì)用微信 Clawbot 的普通用戶來說很折磨,但從軟件工程的角度,官方這么做主要是還是為了性能和安全。
以前的統(tǒng)一入口的模式,會(huì)導(dǎo)致插件一口氣把整個(gè)開發(fā)包(SDK)全加載進(jìn)內(nèi)存,哪怕它只用到了一小部分功能,這會(huì)讓軟件變得臃腫緩慢。
現(xiàn)在官方強(qiáng)制要求細(xì)分路徑(比如必須寫精確到 openclaw/plugin-sdk/core),就是要逼著插件作者「要什么拿什么」,從而大幅提升 Openclaw 的啟動(dòng)速度。
此外,更新日志里還 提到了「阻斷相對(duì)路徑的跨包逃逸」。意思是以前的舊接口太寬松,稍微有點(diǎn)惡意的插件可能會(huì)越權(quán)訪問你電腦里的其他數(shù)據(jù)。現(xiàn)在強(qiáng)制使用細(xì)分的新接口,是為了把每個(gè)插件嚴(yán)嚴(yán)實(shí)實(shí)地關(guān)在自己的小盒子里。
OpenClaw 在自己的官方文檔里也立刻更新了說明,提到這個(gè)更新,主要就是為了實(shí)現(xiàn)按需加載,提升啟動(dòng)速度和省內(nèi)存,另一方面是讓 API 的接口更加清晰。
![]()
OpenClaw 的插件更新,提到了為什么要改變,做了哪些改變,以及插件開發(fā)者如何修改的指引
強(qiáng)制遵守 API 規(guī)矩,就是要求插件只能使用公開的、穩(wěn)定的接口(也就是openclaw/plugin-sdk/*里面的東西)來獲取能力。
如果大家都用相對(duì)路徑去偷偷訪問底層的私有代碼,一旦官方修改了底層代碼的文件夾名字,就會(huì)直接攔截報(bào)錯(cuò)。
發(fā)布才 72 小時(shí),就這樣被攔截了
原因已經(jīng)很明顯了,就是微信的 clawbot 插件找不到和 OpenClaw 對(duì)接的路線了。
微信和企微插件的作者在寫代碼時(shí),使用的是舊版的規(guī)則,代碼里寫死了要去 openclaw/plugin-sdk 找工具。
而在我們啟動(dòng)新版 Openclaw 時(shí),程序讀到微信插件的這行代碼,去系統(tǒng)里一找——發(fā)現(xiàn)官方已經(jīng)把這個(gè)路徑給刪了。
![]()
OpenClaw 的運(yùn)行環(huán)境使用的是 Node.js 平臺(tái),它是個(gè)一板一眼的機(jī)器,找不到東西它就會(huì)立刻報(bào)錯(cuò):Error: Cannot find module 「openclaw/plugin-sdk」,然后直接原地罷工,導(dǎo)致我們的微信和企微甚至連加載都加載不出來。更不用說發(fā)消息給他,想要得到回復(fù)了。
而 QQBot 還能正常使用,主要是一開始的危險(xiǎn)代碼警告,僅針對(duì)這 次更新引入的嚴(yán)格靜態(tài)代碼掃描工具,警告并不會(huì)阻止插件運(yùn)行。
社交媒體上對(duì)這件事議論紛紛,有人說「微信想要 繼續(xù)好好利用這個(gè)插件,就必須認(rèn)真學(xué)習(xí)開源生態(tài)系統(tǒng)的相關(guān)知識(shí)了。」
也有人反駁,是 OpenClaw 本身就很不穩(wěn)定,一直在更新修改。
「即便微信要對(duì)開源做適配, 為什么不直接說 OpenClaw 的 API 設(shè)計(jì)太糟糕呢?項(xiàng)目一開始的接口簡(jiǎn)直就是一堆亂七八糟的東西,稍微改動(dòng)一下就崩潰」。
確實(shí)如此,通常開源社區(qū)負(fù)責(zé)任的做法是,會(huì)先標(biāo)記舊接口為「已廢棄(Deprecated)」,保留運(yùn)行能力但彈窗警告,給開發(fā)者幾個(gè)月的過渡期,下個(gè)大版本再?gòu)氐讋h除。
這次,微信辛辛苦苦更新了一個(gè)版本,推出了 支持二維碼登錄、消息收發(fā)等功能的「真.微信龍蝦」 ,甚至有網(wǎng)友發(fā)現(xiàn)在微信公開的這個(gè)插件安裝包里面,是微信第一次開放個(gè)人機(jī)器人的協(xié)議。
![]()
鏈接: https://www.npmjs.com/package/@tencent-weixin/openclaw-weixin
但剛邁出了這么大的一步,反手就被 OpenClaw 的一次更新給「背刺」了。
我們正在招募伙伴
簡(jiǎn)歷投遞郵箱hr@ifanr.com
?? 郵件標(biāo)題「姓名+崗位名稱」(請(qǐng)隨簡(jiǎn)歷附上項(xiàng)目/作品或相關(guān)鏈接)
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.