喜歡這個節點嗎?給我買杯咖啡吧!
入門?下載下面的測試工作流程並查看其工作原理。
有問題嗎?跳到日誌記錄和調試
關於如何改進節點(或錯誤報告)的想法 - 提出問題
我的其他節點的無恥插件 -> 查看圖像選擇器以獲取另一種使某些工作流程更順暢的方法。如果您喜歡某樣東西,請留下一顆星星!
此工作流程使用所有五個節點,並且可用於測試(和理解!)節點。你不會像這樣構建它,這只是一個例子... | 這是一張包含工作流程的圖像 |
---|---|
或工作流程為 json
目前有些情況是UE節點無法應付的。以下是我所知道的一些以及可能的解決方法。
pythonsssss 自訂節點很棒,但是將它們與 UE 節點一起使用時存在一些限制。特別是,您不能將預設文字節點的輸出直接提供給 UE 節點(請參閱#154)。
UE節點主要與群組節點一起工作。但有一些重要的事情要注意:
5.0(2024 年 8 月 6 日)
4.9(2024 年 5 月 2 日)
4.8(2024 年 3 月 18 日)
send to unmatched
模式4.7(2024 年 3 月 1 日)
Anything Everywhere?
節點4.6
Anything Everywhere?
節點4.5
convert to real links
4.4
Anything Everywhere?
具有輸入的節點(僅當連結來自簡單字串來源的節點時才有效)4.3
4.2
4.1.2
4.1.1
4.1
v1 節點已完全刪除。如果您正在使用一個節點,則只需將其替換為Anything Everywhere
節點即可。
使用舒適管理器。如果您確實想手動執行此操作,只需將此儲存庫克隆到您的 custom_nodes 目錄中即可。
Anything Everywhere
節點有一個輸入,最初標記為「anything」。將任何內容連接到它(直接 - 不透過重新路由),並且輸入名稱會變更以符合輸入類型。斷開連接,它就會回到“任何東西”。
當您執行提示時,工作流程中任何位置與該類型相符的任何未連接的輸入都會表現為就像已連接到相同輸入一樣。
若要視覺化其所連接的內容,請右鍵點選背景畫布並選擇Toggle UE Link Visibility
。
此節點新增兩個小部件 - title_regex 和 input_regex。它只會發送到匹配的輸入。因此,在範例中,title_regex 是“預覽”,因此影像將發送到“預覽影像”節點,而不是“儲存影像”節點。請注意,您可以重命名節點並輸入標題,這會有所幫助!
(從 4.6 開始,您也可以指定群組正規表示式,以僅符合位於與正規表示式相符的群組中的節點上的輸入。)
匹配是正規表達式,而不是字串匹配。大多數簡單的字串都可以(符合標題或輸入名稱的任何部分),但某些字元具有特殊含義(包括各種括號,尤其是^、$、/ 和.),因此如果您不熟悉,請避免使用它們傾向於正規表示式。
使用正規表示式意味著您可以使用^prompt
僅匹配標題開頭的prompt
,以避免匹配negative_prompt
。
正規表示式 101 - ^
表示“開始”, $
表示“結束”, .
匹配任何單個字符, .*
匹配任何長度(包括零)。除此之外,請造訪 regex101(您想要的風格是 ECMAScript,儘管這可能並不重要)。
有點像。
由於在提交工作流程之前需要知道正規表示式(以便計算連結),因此您無法將字串傳遞到Anything Everywhere?
節點並期望它能夠工作。唯一支援的是輸入是否直接來自使用字串小部件設定它的節點。此包中包含的Simple String
節點將起作用。
這有效 | 這不。並且永遠不會。 |
---|---|
Seed Everywhere 連接到任何未連接的 INT 輸入,輸入名稱中帶有seed
(seed、noise_seed 等),並且它具有 control_after_generate 功能。因此,如果您將種子小部件轉換為輸入,您可以在任何地方使用相同的種子。
實際上只是將三個Anything Everywhere
節點打包在一起。專為 Checkpoint Loader 的輸出而設計。
Prompt Everywhere 有兩個輸入。它們將分別以(^prompt|^positive)
和neg
的正規表示式符合規則發送。這些應該與用於提示和否定提示或條件的各種版本的名稱相符。
字串 | 條件條件 |
---|---|
UE 節點不能使用原語和 COMBO(用於下拉清單的資料類型,這也是 Comfy 中的原語類型)。他們不太可能會這樣做。
如果您想使用 UE 控制採樣器或 sigma,您可以使用內建的SamplerCustom
節點來實現:
有關此內容的更多信息,請參閱此討論
右鍵單擊某個節點,可以將其設定為拒絕UE鏈接
如果您想查看 UE 鏈接,可以透過右鍵單擊畫布來打開和關閉它們。為了更好地控制,主設定選單提供了當滑鼠移動到任一端的節點上或選擇其中一個節點時顯示連結的選項。
連結可以設定動畫以將其與普通連結區分開來 - 該動畫可以採用移動點、脈衝發光或兩者的形式。在某些情況下,這可能會影響效能 - 請注意,脈衝動畫比移動點需要更少的處理。在主設定選單中控制它。
預設情況下,動畫在工作流程運行時關閉,以盡量減少對 CPU/GPU 的影響 - 您也可以在設定中更改此設定。
如果您想在不需要 UE 節點的情況下共用工作流程,或儲存工作流程的 API 版本,您可以將 UE 節點建立的虛擬連結替換為真實連結(並刪除 UE 節點)。
對於單一節點,可以透過右鍵單擊該節點並選擇Convert to real links
來完成此操作,或者對於工作流程中的所有 UE 節點,透過右鍵單擊背景並選擇Convert all UEs to real links
來完成。
按住 Shift 鍵點擊輸出節點並拖曳然後釋放即可獲得自動建立選單。這將取代預設行為(為您提供一個搜尋框),因此您可以使用Anything Everywhere replace search
設定來停用它。
UE節點可以被限制為僅傳送到相同顏色的節點,或僅傳送到不同顏色的節點。
它們也可以被限制為僅發送到同一組中的節點(任何公共群組),或僅發送到不在同一組中的節點。
右鍵單擊該節點並選擇Group restrictions
或Color restrictions
。受到限制(以任一方式或兩種方式)的 UE 節點的左上角有一個綠色圓圈。
Trung 0246 的高速公路節點是一種非常酷的管道資料方式。您可以使用Anything Everywhere?
透過使用input_regex
將未連接的輸入名稱與“+”進行匹配,如下所示:
這是新的,所以請報告任何問題!
預設情況下,工作流程在提交之前會檢查循環(因為 UE 可以引入它們,並且循環會導致錯誤的 Python 結果)。如果偵測到循環,您將收到一條 JavaScript 警告,顯示所涉及的節點 ID。但是,特別是如果涉及其他自訂節點,檢查可能會錯過循環,或標記不真實的循環。
如果您收到警告並且不相信存在循環(已檢查列出的節點 ID!),您可以在主設定選單中關閉循環檢查。如果標記為循環的某些內容運作正常,請提出問題並將工作流程包含在報表中(儲存 json 並將其壓縮,因為 GitHub 不接受 .json 檔案)。同樣,如果循環沒有被捕獲。
我已經為核心 Comfy 後端編寫了程式碼來捕獲循環,也許它會被包含在內 - ComfyUI 的 PR - 或者也許他們有另一個計劃。
如果有多個發送節點與輸入匹配,則基本規則是更具體的節點獲勝。優先順序是:
Anything Everywhere?
Seed Everywhere
和Prompts Everywhere
Anything Everywhere
Anything Everywhere3
對於同一時間的節點,優先考慮有顏色限制和群組限制的節點(顏色+群組 > 顏色 > 組 > 無)。
如果具有相同優先權的兩個節點都匹配,則兩者都不會連接- 快速失敗比產生模糊結果更好。如果存在不明確的匹配,您可以使用Show UE broadcast clashes
來顯示它們(右鍵單擊背景 - 此選項僅在存在衝突時出現)。
只有一個輸出的節點還可以獲得一個文字框,準確顯示通過該節點的內容。如果需要,您需要開啟此功能 - 它位於主設定「任何地方節點詳細資料」中。
JavaScript 控制台(在某些瀏覽器中按 f12)包含有關所連接內容的日誌資訊。您可以透過尋找檔案[comfy_install]/custom_nodes/cg-use-everywhere/js/use_everywhre_utilities.js
並在頂部附近找到此位元來變更詳細程度:
static ERROR = 0 ; // actual errors
static PROBLEM = 1 ; // things that stop the workflow working
static INFORMATION = 2 ; // record of good things
static DETAIL = 3 ; // details
static LEVEL = Logger . PROBLEM ;
static TRACE = false ; // most of the method calls
將LEVEL
更改為Logger.INFORMATION
了解更多,或將Logger.DETAIL
更改為更多;將TRACE
設為true
以獲取其他一些偵錯資訊。
如果您遇到問題,按 f12 查看 JavaScript 控制台通常會有所幫助。以下步驟對於製作良好的錯誤報告非常有幫助:
另一個值得嘗試的是清除 ComfyUI 啟動時複製的所有自訂節點 javascript:
core
之外的所有內容。離開core
(這是 ComfyUI 的東西)如果您發現錯誤,請提出問題 - 如果您可以包含工作流程,那將是一個巨大的幫助(您需要將其另存為 .txt,或壓縮 .json 文件,因為 GitHub 不接受 .json) 。
繞過和停用節點是可行的,但有一個問題。如果您有一個進行匹配的 UE 節點( Anything Everywhere?
和Prompt Everywhere
)並且您繞過了它匹配的節點,則不會建立連結。所以
如果您使用 ?節點發送到節點... | ....並繞過收件人,它不會連接 |
---|---|
這不太可能被修復,但應該很容易避免!