大家好,我是繼續(xù)研究n8n的袋鼠帝
還記得我第一次給大家推薦n8n這款開源工作流自動(dòng)化神器的時(shí)候嗎(今年4月)
最強(qiáng)開源AI workflow平臺(tái):n8n 袋鼠帝,公眾號(hào):袋鼠帝AI客棧
那時(shí)候它的GitHub Star數(shù)還在75K。
這才過去半年,已經(jīng)突破162K Star了!
![]()
這翻倍的增長(zhǎng)速度背后,其實(shí)是整個(gè)AI行業(yè)的井噴式增長(zhǎng)。
以前我們用工作流,更多是用來做一些自動(dòng)化,代替一些重復(fù)性的工作,比如把表格里的數(shù)據(jù)自動(dòng)填到系統(tǒng)里、每天早上定時(shí)提醒等等。
但現(xiàn)在,隨著AI Agent的興起和發(fā)展,工作流結(jié)合Agent之后,不僅能完成重復(fù)性工作,甚至還能完成很多創(chuàng)造性工作,這就是AI的威力。
而n8n作為開源工作流的鼻祖,自然成了連接大模型和真實(shí)業(yè)務(wù)場(chǎng)景最好的橋梁。
雖然這些能力,寫代碼也能實(shí)現(xiàn),但是門檻就比n8n高太多了。
每一個(gè)想用AI提效的普通人,最終都繞不開工作流編排,而n8n恰好就在這個(gè)風(fēng)口上。
就在最近,n8n官方發(fā)布了一個(gè)里程碑式的大版本:n8n 2.0
![]()
正式版預(yù)計(jì)12月15號(hào)發(fā)布,beta版本是在12月8號(hào)就發(fā)布了
我研究了一下官方的2.0版本
發(fā)現(xiàn)這次更新不僅僅是換個(gè)皮膚那么簡(jiǎn)單。它在底層架構(gòu)、安全性以及最核心的工作流邏輯上,都做了深層次的改動(dòng)。
如果說1.0版本還是極客手里面的利器,那么2.0版本就是奔著企業(yè)級(jí)生產(chǎn)環(huán)境去的,它變強(qiáng)了,也更嚴(yán)謹(jǐn)了。
為了讓大家在更新2.0后不至于一臉懵,或者升級(jí)后系統(tǒng)崩
今天我就帶大家好好拆解一下n8n 2.0的核心變化,以及這些變化對(duì)我們后續(xù)搭建工作流有什么影響。
n8n 2.0官方文檔:
https://docs.n8n.io/2-0-breaking-changes/
n8n 2.0官方blog:
https://blog.n8n.io/introducing-n8n-2-0/
n8n 2.0官方遷移工具文檔:
https://docs.n8n.io/migration-tool-v2/
一、界面交互升級(jí)
我們先來看看這次更新最直觀,也是最容易被感知的部分:界面和交互的升級(jí)。
打開2.0的界面,第一眼的感覺就是更現(xiàn)代、更扁平了。現(xiàn)在的節(jié)點(diǎn)看起來更簡(jiǎn)約
![]()
一個(gè)細(xì)節(jié)是,像AI Agent節(jié)點(diǎn)、Chat節(jié)點(diǎn)或者Wait這種需要耗費(fèi)時(shí)間執(zhí)行的節(jié)點(diǎn),現(xiàn)在更新了一個(gè)加載的動(dòng)態(tài)效果,看起來更舒服了

在調(diào)試復(fù)雜工作流時(shí),這個(gè)視覺反饋能讓你更清楚的知道當(dāng)前卡在哪個(gè)環(huán)節(jié)。
另一個(gè)交互上的大改動(dòng)是側(cè)邊欄。
以前我們要找設(shè)置,得先點(diǎn)左下角的頭像,再進(jìn)一個(gè)菜單頁面
![]()
現(xiàn)在官方把設(shè)置入口直接提到了側(cè)邊欄的一級(jí)菜單,更方便了。
有一個(gè)無數(shù)人心心念念的功能:自動(dòng)保存。
雖然官方說完整的自動(dòng)保存要等到明年1月份,但在目前的2.0里,自動(dòng)保存速度已經(jīng)做到了幾乎瞬時(shí)。
以前點(diǎn)保存可能還要轉(zhuǎn)個(gè)圈,現(xiàn)在點(diǎn)一下,就直接存好了。
![]()
這是在為后面的實(shí)時(shí)自動(dòng)保存做鋪墊。
二、內(nèi)在優(yōu)化
然后,我們?cè)趤砜纯醋隽四男└鼘?shí)際的功能優(yōu)化
這才是2.0版本的重頭戲
第一個(gè)重要變化,是子工作流的數(shù)據(jù)返回邏輯變了。
下圖左邊是父工作流,右邊是子工作流
![]()
![]()
當(dāng)子工作流有等待操作時(shí),以前父工作流拿到的是子工作流的input
聽起來有點(diǎn)繞,我舉個(gè)例子你可能就明白了。
在1.0版本里,主工作流調(diào)用子工作流,就像你讓跑腿小哥去買咖啡。
但是有個(gè)問題,如果這個(gè)跑腿小哥在買咖啡的過程中需要排隊(duì)等待,或者需要打電話問你加不加糖(也就是遇到了Wait節(jié)點(diǎn)或者人工審批節(jié)點(diǎn)),1.0的機(jī)制是,只要小哥排隊(duì),買到咖啡后,主工作流就直接把當(dāng)初你給小哥的訂單信息又原封不動(dòng)地還給你,而不是把咖啡給你。
這就導(dǎo)致以前我們?cè)谧?人工介入"流程時(shí)非常痛苦。
比如你想做一個(gè)審批流,子工作流發(fā)一條消息給老板審批,老板點(diǎn)同意或拒絕。
在1.0里,主工作流根本拿不到老板是點(diǎn)了同意還是拒絕,因?yàn)樗谧詈竽玫降倪€是提交審批流程...
而在2.0版本里,這個(gè)邏輯終于能順暢的跑通了。
現(xiàn)在,主工作流會(huì)老老實(shí)實(shí)的等到子工作流跑完,并把最終的結(jié)果(比如老板審批的意見)帶回來。
有什么用?
這意味著我們以后在n8n里搭建復(fù)雜的、需要人工介入的業(yè)務(wù)流程將變得非常簡(jiǎn)單。如果這玩意兒要用代碼實(shí)現(xiàn),即便對(duì)于專業(yè)程序員來說,都是挺復(fù)雜的。
你可以把復(fù)雜的審批邏輯、需要人工確認(rèn)的數(shù)據(jù)清洗環(huán)節(jié)等,全部封裝在子工作流里,主工作流只需要關(guān)心最終拿到的結(jié)果是Yes或No,然后決定下一步怎么走。
這對(duì)于企業(yè)內(nèi)部的請(qǐng)假流程、報(bào)銷流程,或者是AI生成內(nèi)容后的人工審核流程,都是史詩級(jí)的加強(qiáng)!
老用戶要注意,如果你之前依賴父流程拿到子流程的input,現(xiàn)在要注意了,2.0版本開始,父流程會(huì)等待子流程結(jié)束,拿到子流程的output。
第二個(gè)核心變化是:Code節(jié)點(diǎn)加強(qiáng),原生Python支持
n8n之所以能這么靈活,它的上限就在Code節(jié)點(diǎn),沒有什么比自由寫代碼靈活的方案了。
![]()
以前我們?cè)趎8n里想用Python處理數(shù)據(jù),用的是一種基于瀏覽器的 Pyodide技術(shù)。這玩意兒雖然能用,但限制很多,很多Python的庫(kù)都不支持,而且性能也不咋地。
這就好比你想開越野車去山里面,結(jié)果給你配了個(gè)老頭樂的發(fā)動(dòng)機(jī),雖然也是四個(gè)輪子,但跑起來也是費(fèi)勁巴拉的。
n8n 2.0版本直接移除了Pyodide,改成了基于Task Runner的原生 Python支持。
現(xiàn)在,你的Python代碼直接運(yùn)行在獨(dú)立的進(jìn)程里,可以使用完整的Python生態(tài),性能更好,也更安全。
![]()
利好習(xí)慣用Python做數(shù)據(jù)分析、做復(fù)雜數(shù)學(xué)運(yùn)算或者調(diào)用特定AI庫(kù)的朋友
當(dāng)然,編程小白也可以讓AI生成Code節(jié)點(diǎn)的代碼
第三個(gè)重大調(diào)整,是架構(gòu)上的隔離,也就是Task Runner默認(rèn)開啟。
以前n8n的運(yùn)行模式,就像是一個(gè)大通鋪,所有人都在一個(gè)房間里睡覺。如果其中一個(gè)人打呼特別響,甚至夢(mèng)游...
整個(gè)房間的人都睡不好(整個(gè)系統(tǒng)會(huì)崩潰)
具體說,以前如果某個(gè)代碼節(jié)點(diǎn)寫了個(gè)死循環(huán),或者占用了太多內(nèi)存,整個(gè)n8n的主進(jìn)程可能就掛了。
2.0版本默認(rèn)開啟了Task Runner,這就相當(dāng)于給每個(gè)容易出問題的環(huán)節(jié)(比如代碼節(jié)點(diǎn))分配了獨(dú)立的單間。
新增了一個(gè)單獨(dú)的docker鏡像(n8nio/runners)來運(yùn)行Task Runner
![]()
后續(xù),即便你的Python腳本寫炸了,或者內(nèi)存溢出了,它崩掉的也只是那個(gè)獨(dú)立的單間,主控室依然穩(wěn)如泰山,其他工作流照樣運(yùn)行。
這對(duì)于在生產(chǎn)環(huán)境使用n8n的團(tuán)隊(duì)來說,穩(wěn)定性直線提升。
再也不用擔(dān)心因?yàn)閷?shí)習(xí)生寫了一個(gè)隱藏bug,導(dǎo)致后續(xù)整個(gè)自動(dòng)化流程癱瘓。
除了功能增強(qiáng),2.0還有一部分更新是在做"減法",主要集中在安全性和數(shù)據(jù)庫(kù)支持上。
首先是數(shù)據(jù)庫(kù)。n8n 2.0徹底放棄了對(duì)MySQL和MariaDB作為底層存儲(chǔ)數(shù)據(jù)庫(kù)的支持。
注意:這里說的是n8n自身運(yùn)行所依賴的數(shù)據(jù)庫(kù),不是說你不能連接 MySQL節(jié)點(diǎn)去讀寫業(yè)務(wù)數(shù)據(jù),那個(gè)節(jié)點(diǎn)還在。
官方推薦大家遷移到PostgreSQL。如果你是個(gè)人用戶用SQLite,新的版本也升級(jí)了驅(qū)動(dòng)(池化驅(qū)動(dòng)),據(jù)說性能提升了10倍。
其次是為了安全增加了一些限制。
以前n8n為了方便,允許代碼節(jié)點(diǎn)直接讀取環(huán)境變量,也允許隨意執(zhí)行系統(tǒng)命令。這方便是方便,但也留下了后門。如果有人惡意注入代碼,后果不堪設(shè)想。
2.0版本默認(rèn)禁止了代碼節(jié)點(diǎn)讀取環(huán)境變量,也禁用了Execute Command這種能直接操作服務(wù)器的高危節(jié)點(diǎn)。
如果你確實(shí)需要用,得去改配置文件手動(dòng)開啟。
還有文件讀寫權(quán)限。以前n8n可以讀取服務(wù)器上的任何文件,現(xiàn)在默認(rèn)只能在規(guī)定的目錄下讀寫。這又是一層安全加固。
對(duì)于我們這些n8n的老用戶來說,2.0的到來既是驚喜也是挑戰(zhàn)。
驚喜在于,它終于補(bǔ)齊了短板。子工作流的數(shù)據(jù)回歸邏輯,讓編排更復(fù)雜業(yè)務(wù)邏輯成為了可能。原生Python和Task Runner的加入,在處理重型任務(wù)時(shí)有了底氣。
挑戰(zhàn)在于:如果你之前的業(yè)務(wù)流程里,大量使用了子工作流的舊機(jī)制,或者依賴了 MySQL作為底層存儲(chǔ),或者在代碼節(jié)點(diǎn)里大量調(diào)用環(huán)境變量,那么升級(jí)2.0對(duì)你來說,可能是一場(chǎng)需要小心,謹(jǐn)慎的搬遷過程。
最好的做法是,先在本地或者測(cè)試服務(wù)器上部署一套2.0的環(huán)境,把現(xiàn)有的工作流導(dǎo)入進(jìn)去跑一遍。
官方提供了一個(gè)遷移報(bào)告工具,或許有幫助:
https://docs.n8n.io/migration-tool-v2/
我覺得n8n 2.0更多的是企業(yè)級(jí)功能迭代,更安全,更穩(wěn)定,更靈活。
隨著AI Agent的爆發(fā),我們需要的不只是一個(gè)能對(duì)話的聊天框,而是一個(gè)能連接世界、能執(zhí)行任務(wù)、能處理復(fù)雜邏輯的手腳。
而把Agent當(dāng)作工作流的節(jié)點(diǎn),無疑是更穩(wěn)定的方案
n8n 2.0的這些改進(jìn),無論是穩(wěn)定性、安全性還是邏輯編排能力,都是在為承接更復(fù)雜的AI Agent任務(wù)做準(zhǔn)備。
話說,大家現(xiàn)在都在用n8n干嘛呀?
歡迎在評(píng)論區(qū)一起交流分享~
另外,我建了n8n的社群,感興趣的朋友可以在在公眾號(hào)后臺(tái)私信:“進(jìn)群” 加入
能看到這里的都是鳳毛麟角的存在!
如果覺得不錯(cuò),隨手點(diǎn)個(gè)贊、在看、轉(zhuǎn)發(fā)三連吧~
如果想第一時(shí)間收到推送,也可以給我個(gè)星標(biāo)?
謝謝你耐心看完我的文章~
特別聲明:以上內(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.