![]()
![]()
![]()
Dify 平臺迎來了 1.14.0 版本,這個版本在協作、人在回路、插件生態、計費架構、安全性以及底層架構等多個維度上進行了大規模升級。本次更新匯聚了數百項提交,修復了大量已知問題,并對后端 API、前端 UI 組件庫、數據庫訪問層等進行了深度重構。本文將全面梳理 1.14.0 的所有關鍵變化,幫助開發者迅速掌握新版本的強大能力。
一、協作編輯模式:多人實時在線編輯工作流
協作功能的引入是本次更新最受矚目的亮點。在這一版本中,工作空間內的成員可以共同編輯同一個工作流,系統會實時同步工作流圖的更新,并展示在線狀態,讓團隊成員清楚知道誰正在編輯哪個部分。在自托管部署環境中,該功能默認關閉,如需啟用需要設置以下環境變量:
?
ENABLE_COLLABORATION_MODE = true?
SERVER_WORKER_CLASS = geventwebsocket.gunicorn.workers.GeventWebSocketWorker?
NEXT_PUBLIC_SOCKET_URL = wss://dify.example.com
完整的配置說明可以在官方文檔中查閱。協作模式的實現依賴 WebSocket,讓編輯體驗更加流暢,避免了多人編輯時的沖突。
二、人在回路(Human-in-the-loop,HITL)服務 API
1.14.0 版本為人在回路流程提供了完整的服務 API 支持。這意味著開發者可以通過編程方式控制 HITL 流程,與現有的控制臺行為并行。此前在控制臺中已經可以配置人工干預節點,現在新增的 API 使得外部系統或自定義界面能夠更靈活地驅動這些流程,為自動化與人工操作的深度結合提供了統一接口。
三、MCP 與插件生態的全方位增強
MCP 工具和多插件機制在本版本中得到了多項修復與優化:
? MCP 工具元數據現在支持更新后自動刷新,讓界面與后端狀態保持一致。
? 修復了 MCP 服務器 URL 中潛在的雙重
/v1路徑問題,該問題會導致 OAuth 和授權請求返回 404 錯誤。? MCP OAuth 發現流程現在能夠安全處理格式錯誤的 JSON 數據,增強了穩定性。
? MCP 模式發布方面,checkbox 和 json_object 類型現在可以正確映射,確保工具輸出 schema 的準確性。
? 插件方面,租戶的自動升級策略現在能正確持久化,本地安裝器和文件輸入行為得到修正,插件內部 API 的終端用戶查找也完成了租戶隔離(tenant scoping),避免了跨租戶數據泄露。
此外,插件的權限判斷大量從if/elif鏈轉換為match/case結構,代碼可讀性和維護性得到提升。
四、市場與 OAuth 相關修復
市場流程和 OAuth 登錄過程中的一些邊界情況得到針對性修復,例如 GitHub OAuth 登錄時可能出現空 email 的異常。現在系統可以正確處理這類情況,提升了第三方登錄的可靠性。
五、UI 套件與前端平臺的深度遷移
前端架構的變化是本版本的重要主題。團隊正式推出了@langgenius/dify-ui共享基礎組件包,其中包含了PreviewCard、Meter等基礎元素,以及設計令牌(design tokens)。原本分散在web/base/ui中的組件正在大規模向這個新包遷移,旨在統一前端的視覺語言和交互規范。
一些具體的 UI 改進包括:
?日期和時間選擇器、自動更新策略選擇器的無障礙與設計一致性提升。
?插件和模型選擇器中的滾動條優化,解決了滾動條遮擋內容、交互不順暢的問題。
?前往任一位置(Goto Anything)功能的增強:現在支持最近項目、
/go命令導航以及更深層級的應用子部分。同時修復了Cmd+K快捷方式失效的問題,原因是移除了引發故障的動態導入。?提示編輯器增強:支持斜杠觸發變量過濾 (
/),并增加了上下鍵在變量列表中的選擇能力。?追問設置優化:改進了建議問題的設置選項和 token 限制的調整。
?模態框重構:將 ApiKey 等模態框遷移到統一的 Dialog 模式,并補充了相應測試,提高了組件復用性和一致性。
在可觀測性層面,本次更新整合了對 Langfuse 的可選 TTFT(Time-to-First-Token)上報支持。平臺運營者現在能夠更細致地監控 LLM 的響應速度。同時,“探索”頁面增加了橫幅曝光追蹤和 App 卡片預覽事件的跟蹤,為分析和增長決策提供了數據基礎。
Amplitude 分析 SDK 也完成了集成與初始化邏輯的重構,為產品分析打下基礎。
七、計費與配額架構 V3 集成
計費系統迎來重大迭代——Quota V3 在完整產品棧中集成。前端方面,新的 Meter 組件用于展示用量,并且當計費 API 失敗時,清理任務能夠更加從容地恢復,防止因接口短暫不可用而導致任務中斷。文件上傳器現在也具備了計費感知,相關的文本提示得到更新,讓用戶清楚了解上傳的配額與消耗。
八、數據、RAG 與知識庫
知識庫層面的修復和改進集中在穩定性和安全性上:
? 修復了在 Weaviate 向量數據庫中使用摘要索引的兼容性問題,確保摘要索引可以正常工作。
? 在向量投影中,默認包含了
is_summary和original_chunk_id字段,以支持更豐富的結果處理。? 強化了外部數據集和綁定數據集在知識庫 API 中的租戶校驗,保證數據隔離。
? 修復了 Qdrant 刪除操作尺寸過大的問題,優化了刪除流程。
? 針對混合搜索重排序后的分數閾值應用進行了修正,確保閾值邏輯正確執行。
? 修復了在層次分塊(hierarchical chunking)通過 API 創建時,
parent_mode默認值不正確的問題。? 補全了 Service API 的分段響應,現在會包含摘要內容。
? 同時修復了部分外部知識庫連接時可能出現的異常,如百度向量數據庫初始化時的超時問題。
這一版本對部署和運維相關的基礎組件進行了大量加固和調整:
? Docker Compose 方面,為
api、worker和worker_beat服務添加了健康檢查(默認禁用),模板和.env.example也得到更新,比如重新添加了S3_ADDRESS_STYLE的環境變量示例。? Celery 工作節點的默認并發數提高到 4,并修復了缺少的隊列配置問題。
? PostgreSQL 默認最大連接數提高至 200,以應對應用數據庫路徑更新后的更高負載。
? Redis 層面新增了可配置的 key 前綴,并增加了操作的重試邏輯,提高了服務在面對瞬時故障時的韌性。
? 引入了 TiDB 端點的支持,并完成了相關授權綁定的遷移(包括 Qdrant 端點與 TiDB 授權綁定的配合)。
? Markdown 渲染新增了可選的環境變量
ALLOW_INLINE_STYLES,當需要時允許在 Markdown 中內聯 CSS 樣式,以滿足特定的定制需求。? 修復了數據庫會話過期導致的事務失敗問題,優化了長時間運行的讀事務的觸發處理,防止會話被提前回收。
? 補充了數據庫遷移前等待 MySQL 可接受查詢的步驟,避免遷移時數據庫尚未準備好。
安全性方面,1.14.0 進行了多項關鍵修復:
?更改郵箱的令牌進行了更嚴格的階段綁定,參照 GHSA-4q3w-q5mc-45rq 的漏洞進行了修復,避免令牌在不同階段被濫用。
?IDOR 風險加固:增加了在數據源綁定時的租戶驗證,同時在數據集和 API 所有權檢查中填補了之前存在的缺口,防止橫向越權。
? 外部數據集的 API 終端用戶檢查也通過租戶隔離來防止信息泄露。
? 修正了登錄審計日志的規范化記錄方式,確保失敗登錄的可追溯性。
性能方面,本版本重點優化了工作流圖的初始化性能:通過在執行開始時緩存提供者配置(provider configurations),減少了重復加載開銷。此外,全局復用 HTTPX 客戶端,取代了之前每次請求都創建新實例的做法,降低了連接開銷。前端方面,優化了首屏渲染性能,移除了不必要的動態導入和依賴,提升了加載速度。
十二、API 與平臺內部架構深度重構
1.14.0 版本的內部變化非常巨大,主要集中在以下幾個方面:
1.Graphon 獨立化
將原來內嵌在代碼中的dify_graph重命名為 Graphon,并升級至獨立的 0.2.2 版本,實現了工作流引擎的解耦。2.SQLAlchemy 2.0 大規模遷移
數百處session.query被替換為select()API,涉及控制器、服務層、任務、RAG 管道、VDB 實現等幾乎所有數據訪問模塊。遷移采用sessionmaker模式和Session(db.engine)的方式,統一了數據庫會話的生命周期管理,解決了大量“已關閉事務”等錯誤。3.類型安全強化
全平臺進行了大規模的類型注解改善工作。大量返回dict的函數被遷移為TypedDict或 PydanticBaseModel,以減少運行時類型錯誤。Optional和Union逐漸被現代語法|替代,Any類型也在不斷被精確類型替換。前端的枚舉被轉換為as const對象,noUncheckedIndexedAccess被開啟,提高了類型檢查的嚴格性。4.OpenAPI 支持
新增了生成 OpenAPI v2 格式 JSON 的腳本,并在 README 中提供了文檔指引,有助于第三方集成。5.舊 API 標記廢棄
一些遺留的控制臺 API 被標記為棄用,引導使用者轉向更新的模式。6.前端工程化升級
? 將 pnpm 工作空間引入倉庫,統一管理
web、nodejs-client和@langgenius/dify-ui。? 升級到 Tailwind CSS v4,移除了大量冗余 CSS 引用。
? 將
react-syntax-highlighter替換為shiki,提升了代碼高亮的性能和準確性。? 導入
@tanstack/virtual替換概念頁面的選擇器列表。? 將
useContext替換為useHook,并替換react-i18next版本(隨后修復了相關問題)。? 測試方面,引入了
happy-dom環境、Testcontainers 進行集成測試,以及端到端(E2E)測試的基礎設施和場景補充,提升了測試覆蓋率和可信度。
7.CD/CI 與代碼質量
更新了 pyrefly 版本,移除了 Python 3.11 的 CI 測試任務,精簡了 web 測試分片,增加了類型覆蓋率報告等。前端啟用了tsgo進行類型檢查,保證了更快的檢查速度。
8.大量模塊清理與重構
諸如 RAG 實體去重、枚舉從if/elif到match/case的轉換、內聯api.model轉到 PydanticBaseModel等重構工作,使得代碼庫朝著更現代、更易維護的方向演進。
結語
代碼地址:github.com/langgenius/dify
Dify 1.14.0 是一次量變積累到質變的版本。協作編輯的加入讓 Dify 真正成為團隊生產力工具,HITL 的服務 API 開啟了自動化與人工混合流程的新篇章,Quota v3 則為商業化使用鋪平了道路。底層架構的深度清理和前端組件庫的統一,為后續版本的快速迭代打下了堅實基礎。建議所有使用 Dify 的開發者和企業盡快升級,體驗這些激動人心的變化。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.