Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ede8279c17 | ||
|
|
268b84a2b6 | ||
|
|
0a67145d80 | ||
|
|
2e55bc470c | ||
|
|
cf0d038978 | ||
|
|
92e7db1082 | ||
|
|
c45c47f935 | ||
|
|
341e27f9a3 | ||
|
|
ab167175c9 |
@@ -4067,6 +4067,17 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Image metrics nodes for ComfyUI"
|
||||
},
|
||||
{
|
||||
"author": "amorano",
|
||||
"title": "Jovi_MIDI",
|
||||
"id": "jovi_midi",
|
||||
"reference": "https://github.com/Amorano/Jovi_MIDI",
|
||||
"files": [
|
||||
"https://github.com/Amorano/Jovi_MIDI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Read and Process data from MIDI devices inside of ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "Umikaze-job",
|
||||
"title": "select_folder_path_easy",
|
||||
@@ -6496,6 +6507,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Add nodes that generates danbooru tags by [a/Dart(Danbooru Tags Transformer)](https://huggingface.co/p1atdev/dart-v1-sft)."
|
||||
},
|
||||
{
|
||||
"author": "nkchocoai",
|
||||
"title": "ComfyUI-DanbooruPromptQuiz",
|
||||
"reference": "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz",
|
||||
"files": [
|
||||
"https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This node is for playing the game of guessing prompts by looking at images generated from prompts output by TIPO, Tagger, etc.."
|
||||
},
|
||||
{
|
||||
"author": "JaredTherriault",
|
||||
"title": "ComfyUI-JNodes",
|
||||
@@ -11042,6 +11063,16 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom node for using Prompt S/R in XY Plot\nAlso includes nodes for listing generic parameters like seed and cfg\nEasy to manipulate as elements are separated by line breaks\nDesigned for use with the XY Plot custom node qq-nodes-comfyui, but may work with other custom nodes as well"
|
||||
},
|
||||
{
|
||||
"author": "da2el-ai",
|
||||
"title": "D2-PromptSelector-comfyUI",
|
||||
"reference": "https://github.com/da2el-ai/D2-PromptSelector-comfyUI",
|
||||
"files": [
|
||||
"https://github.com/da2el-ai/D2-PromptSelector-comfyUI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a version of [a/sd-d2-prompt-selector](https://github.com/da2el-ai/sd-d2-prompt-selector) reworked for ComfyUI. It's just a prototype that I've put together for now. The random syntax of sd-d2-prompt-selector cannot be used; instead, the DynamicPrompt syntax is used"
|
||||
},
|
||||
{
|
||||
"author": "nat-chan",
|
||||
"title": "ComfyUI-Transceiver📡",
|
||||
@@ -19966,7 +19997,7 @@
|
||||
"https://github.com/DJ-Tribefull/Comfyui_FOCUS_nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a small collection of nodes designed for efficiency and the reduction of screen clutter. I work primarily with a two-stage SDXL workflow, so some of the nodes are tailored to that, but many of the most useful nodes can be used in any context."
|
||||
"description": "A collection of nodes designed for efficiency and the reduction of screen-clutter. Includes a Global Seed controller with boolean toggles, SDXL All-in-One conditioner, a custom SDXL control module, Wildcard processor, Style Injector, and more. [w/WARNING: Updating this node-pack wil overwrite any changes you've made to the included wildcards and styles. Please backup your folders before updating.]"
|
||||
},
|
||||
{
|
||||
"author": "KLL535",
|
||||
@@ -20190,7 +20221,18 @@
|
||||
"https://github.com/ProGamerGov/ComfyUI_pytorch360convert"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A collection of custom nodes for working with and converting between 360 degree equirectangular images, cubemap, and perspective images. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano."
|
||||
"description": "A collection of custom nodes for working with and converting between 360 degree equirectangular images, cubemap, and perspective images. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano, and 360 degree photos."
|
||||
},
|
||||
{
|
||||
"author": "ProGamerGov",
|
||||
"title": "Preview 360 Panorama for ComfyUI",
|
||||
"id": "comfyui-preview360panorama",
|
||||
"reference": "https://github.com/ProGamerGov/ComfyUI_preview360panorama",
|
||||
"files": [
|
||||
"https://github.com/ProGamerGov/ComfyUI_preview360panorama"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom ComfyUI node for interactive 360° panorama image previews. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano, and 360 degree photos."
|
||||
},
|
||||
{
|
||||
"author": "burnsbert",
|
||||
@@ -20375,14 +20417,16 @@
|
||||
"description": "This my implemenation of a `pipe` in ComfyUI. Is it better or worse than others? No idea."
|
||||
},
|
||||
{
|
||||
"author": "myAiLemon",
|
||||
"title": "MagicGetPromptAutomatically",
|
||||
"reference": "https://github.com/myAiLemon/MagicGetPromptAutomatically",
|
||||
"author": "AiartvnTeam",
|
||||
"title": "A2V Multi Image Composite",
|
||||
"id": "Aiartvn",
|
||||
"reference": "https://github.com/aiartvn/A2V_Multi_Image_Composite",
|
||||
"files": [
|
||||
"https://github.com/myAiLemon/MagicGetPromptAutomatically"
|
||||
"https://github.com/aiartvn/A2V_Multi_Image_Composite"
|
||||
],
|
||||
"description": "Node for compositing multiple images with interactive preview and layer management",
|
||||
"install_type": "git-clone",
|
||||
"description": "A plug-in that can automatically generate pictures and save txt files in comfyui"
|
||||
"tags": ["image", "composite", "layer", "blend", "transform"]
|
||||
},
|
||||
|
||||
|
||||
@@ -20498,7 +20542,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
|
||||
@@ -493,6 +493,7 @@
|
||||
"https://github.com/852wa/ComfyUI-ColorshiftColor": [
|
||||
[
|
||||
"ColorshiftColor",
|
||||
"CsCFill",
|
||||
"CsCPaletteEditor"
|
||||
],
|
||||
{
|
||||
@@ -1427,6 +1428,18 @@
|
||||
"title_aux": "Jovi_GLSL"
|
||||
}
|
||||
],
|
||||
"https://github.com/Amorano/Jovi_MIDI": [
|
||||
[
|
||||
"MIDI FILTER (JOV_MIDI)",
|
||||
"MIDI FILTER EZ (JOV_MIDI)",
|
||||
"MIDI LOADER (JOV_MIDI)",
|
||||
"MIDI MESSAGE (JOV_MIDI)",
|
||||
"MIDI READER (JOV_MIDI)"
|
||||
],
|
||||
{
|
||||
"title_aux": "Jovi_MIDI"
|
||||
}
|
||||
],
|
||||
"https://github.com/Amorano/Jovi_Measure": [
|
||||
[
|
||||
"BLUR EFFECT (JOV_MEASURE)",
|
||||
@@ -5017,6 +5030,7 @@
|
||||
[
|
||||
"Simple Extract Lora From Text",
|
||||
"Simple Image Saver (as Forge)",
|
||||
"Simple Load Image With Metadata",
|
||||
"Simple Load Line From Text File",
|
||||
"Simple Lora Loader"
|
||||
],
|
||||
@@ -6433,10 +6447,13 @@
|
||||
],
|
||||
"https://github.com/MzMaXaM/ComfyUi-MzMaXaM": [
|
||||
[
|
||||
"ImageToText",
|
||||
"KSamplerWithVAE",
|
||||
"SelectLatentSize1MP",
|
||||
"SelectLatentSize2MP",
|
||||
"TextEncode3in1",
|
||||
"TextToText",
|
||||
"UpscaleImageBy1_5x",
|
||||
"UpscaleLatentBy1_5x"
|
||||
],
|
||||
{
|
||||
@@ -7060,6 +7077,14 @@
|
||||
"title_aux": "ComfyUI-StringsAndThings"
|
||||
}
|
||||
],
|
||||
"https://github.com/ProGamerGov/ComfyUI_preview360panorama": [
|
||||
[
|
||||
"PanoramaViewerNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "Preview 360 Panorama for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/ProGamerGov/ComfyUI_pytorch360convert": [
|
||||
[
|
||||
"Crop Image with Coords",
|
||||
@@ -10647,6 +10672,18 @@
|
||||
"title_aux": "ComfyUI-styles-all"
|
||||
}
|
||||
],
|
||||
"https://github.com/agilly1989/ComfyUI_agilly1989_motorway": [
|
||||
[
|
||||
"MotorwayFloat",
|
||||
"MotorwayInt",
|
||||
"MotorwaySeed",
|
||||
"MotorwayStr",
|
||||
"MotorwayStrMulti"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_agilly1989_motorway"
|
||||
}
|
||||
],
|
||||
"https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": [
|
||||
[
|
||||
"GCPReadImageNode",
|
||||
@@ -10722,6 +10759,14 @@
|
||||
"title_aux": "Comfy UI FatLabels"
|
||||
}
|
||||
],
|
||||
"https://github.com/aiartvn/A2V_Multi_Image_Composite": [
|
||||
[
|
||||
"A2V_Multi_Image_Composite"
|
||||
],
|
||||
{
|
||||
"title_aux": "A2V Multi Image Composite"
|
||||
}
|
||||
],
|
||||
"https://github.com/aidec/Comfyui_TextBatch_aidec": [
|
||||
[
|
||||
"ImageQueueProcessor",
|
||||
@@ -15458,7 +15503,8 @@
|
||||
"SelOutModel",
|
||||
"SelOutPolar",
|
||||
"Selector",
|
||||
"Selector Advanced"
|
||||
"Selector Advanced",
|
||||
"Selector Hub"
|
||||
],
|
||||
{
|
||||
"author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"",
|
||||
@@ -19314,6 +19360,7 @@
|
||||
"GetImageRangeFromBatch",
|
||||
"GetImageSizeAndCount",
|
||||
"GetImagesFromBatchIndexed",
|
||||
"GetLatentRangeFromBatch",
|
||||
"GetLatentsFromBatchIndexed",
|
||||
"GetMaskSizeAndCount",
|
||||
"GradientToFloat",
|
||||
@@ -19332,6 +19379,7 @@
|
||||
"ImageGridComposite2x2",
|
||||
"ImageGridComposite3x3",
|
||||
"ImageGridtoBatch",
|
||||
"ImageNoiseAugmentation",
|
||||
"ImageNormalize_Neg1_To_1",
|
||||
"ImagePadForOutpaintMasked",
|
||||
"ImagePadForOutpaintTargetSize",
|
||||
@@ -19347,6 +19395,7 @@
|
||||
"Intrinsic_lora_sampling",
|
||||
"JoinStringMulti",
|
||||
"JoinStrings",
|
||||
"LeapfusionHunyuanI2VPatcher",
|
||||
"LoadAndResizeImage",
|
||||
"LoadImagesFromFolderKJ",
|
||||
"LoadResAdapterNormalization",
|
||||
@@ -22347,16 +22396,6 @@
|
||||
"title_aux": "ComfyUI_KSamplerTimer"
|
||||
}
|
||||
],
|
||||
"https://github.com/myAiLemon/MagicGetPromptAutomatically": [
|
||||
[
|
||||
"EditableStringNode",
|
||||
"IntegratedCLIPTextEncodeWithExtract",
|
||||
"ProcessAndSave"
|
||||
],
|
||||
{
|
||||
"title_aux": "MagicGetPromptAutomatically"
|
||||
}
|
||||
],
|
||||
"https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin": [
|
||||
[
|
||||
"ShellAgentPluginInputAudio",
|
||||
@@ -22592,6 +22631,15 @@
|
||||
"title_aux": "ComfyUI OpenAI Prompter"
|
||||
}
|
||||
],
|
||||
"https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": [
|
||||
[
|
||||
"DanbooruPromptComparison",
|
||||
"DanbooruPromptQuiz"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-DanbooruPromptQuiz"
|
||||
}
|
||||
],
|
||||
"https://github.com/nkchocoai/ComfyUI-Dart": [
|
||||
[
|
||||
"DanbooruTagsTransformerBanTagsFromRegex",
|
||||
@@ -22697,6 +22745,7 @@
|
||||
],
|
||||
"https://github.com/nofunstudio/Node_Fun_ComfyUI": [
|
||||
[
|
||||
"IframeView",
|
||||
"LayeredInfiniteZoom",
|
||||
"Replicate flux 1.1 pro ultra",
|
||||
"ReplicateAPI_flux_1_1_pro_ultra",
|
||||
@@ -26180,6 +26229,7 @@
|
||||
"quadmoonChangeBackground",
|
||||
"quadmoonConvertBoolToString",
|
||||
"quadmoonConvertFloatToString",
|
||||
"quadmoonConvertImageToPrompt",
|
||||
"quadmoonConvertIntToString",
|
||||
"quadmoonConvertNormalizeHW",
|
||||
"quadmoonConvertNumberToString",
|
||||
@@ -27156,6 +27206,7 @@
|
||||
],
|
||||
"https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": [
|
||||
[
|
||||
"Auto-LLM-Chat",
|
||||
"Auto-LLM-Text",
|
||||
"Auto-LLM-Text-Vision",
|
||||
"Auto-LLM-Vision"
|
||||
|
||||
4103
github-stats.json
4103
github-stats.json
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ description:
|
||||
"""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
@@ -41,7 +42,7 @@ import manager_downloader
|
||||
from node_package import InstalledNodePackage
|
||||
|
||||
|
||||
version_code = [3, 13, 1]
|
||||
version_code = [3, 15]
|
||||
version_str = f"V{version_code[0]}.{version_code[1]}" + (f'.{version_code[2]}' if len(version_code) > 2 else '')
|
||||
|
||||
|
||||
@@ -1549,7 +1550,6 @@ def write_config():
|
||||
'share_option': get_config()['share_option'],
|
||||
'bypass_ssl': get_config()['bypass_ssl'],
|
||||
"file_logging": get_config()['file_logging'],
|
||||
'default_ui': get_config()['default_ui'],
|
||||
'component_policy': get_config()['component_policy'],
|
||||
'windows_selector_event_loop_policy': get_config()['windows_selector_event_loop_policy'],
|
||||
'model_download_by_agent': get_config()['model_download_by_agent'],
|
||||
@@ -1588,7 +1588,6 @@ def read_config():
|
||||
'share_option': default_conf['share_option'] if 'share_option' in default_conf else 'all',
|
||||
'bypass_ssl': default_conf['bypass_ssl'].lower() == 'true' if 'bypass_ssl' in default_conf else False,
|
||||
'file_logging': default_conf['file_logging'].lower() == 'true' if 'file_logging' in default_conf else True,
|
||||
'default_ui': default_conf['default_ui'] if 'default_ui' in default_conf else 'none',
|
||||
'component_policy': default_conf['component_policy'] if 'component_policy' in default_conf else 'workflow',
|
||||
'windows_selector_event_loop_policy': default_conf['windows_selector_event_loop_policy'].lower() == 'true' if 'windows_selector_event_loop_policy' in default_conf else False,
|
||||
'model_download_by_agent': default_conf['model_download_by_agent'].lower() == 'true' if 'model_download_by_agent' in default_conf else False,
|
||||
@@ -1605,7 +1604,6 @@ def read_config():
|
||||
'share_option': 'all',
|
||||
'bypass_ssl': False,
|
||||
'file_logging': True,
|
||||
'default_ui': 'none',
|
||||
'component_policy': 'workflow',
|
||||
'windows_selector_event_loop_policy': False,
|
||||
'model_download_by_agent': False,
|
||||
@@ -2835,15 +2833,18 @@ async def get_unified_total_nodes(channel, mode, regsitry_cache_mode='cache'):
|
||||
|
||||
def populate_github_stats(node_packs, json_obj_github):
|
||||
for k, v in node_packs.items():
|
||||
url = v['reference']
|
||||
if url in json_obj_github:
|
||||
v['stars'] = json_obj_github[url]['stars']
|
||||
v['last_update'] = json_obj_github[url]['last_update']
|
||||
v['trust'] = json_obj_github[url]['author_account_age_days'] > 600
|
||||
else:
|
||||
v['stars'] = -1
|
||||
v['last_update'] = -1
|
||||
v['trust'] = False
|
||||
try:
|
||||
url = v['reference']
|
||||
if url in json_obj_github:
|
||||
v['stars'] = json_obj_github[url]['stars']
|
||||
v['last_update'] = json_obj_github[url]['last_update']
|
||||
v['trust'] = json_obj_github[url]['author_account_age_days'] > 600
|
||||
else:
|
||||
v['stars'] = -1
|
||||
v['last_update'] = -1
|
||||
v['trust'] = False
|
||||
except:
|
||||
logging.error(f"[ComfyUI-Manager] DB item is broken:\n{v}")
|
||||
|
||||
|
||||
def populate_favorites(node_packs, json_obj_extras):
|
||||
|
||||
@@ -175,10 +175,6 @@ def set_preview_method(method):
|
||||
set_preview_method(core.get_config()['preview_method'])
|
||||
|
||||
|
||||
def set_default_ui_mode(mode):
|
||||
core.get_config()['default_ui'] = mode
|
||||
|
||||
|
||||
def set_component_policy(mode):
|
||||
core.get_config()['component_policy'] = mode
|
||||
|
||||
@@ -1374,17 +1370,6 @@ async def preview_method(request):
|
||||
return web.Response(status=200)
|
||||
|
||||
|
||||
@routes.get("/manager/default_ui")
|
||||
async def default_ui_mode(request):
|
||||
if "value" in request.rel_url.query:
|
||||
set_default_ui_mode(request.rel_url.query['value'])
|
||||
core.write_config()
|
||||
else:
|
||||
return web.Response(text=core.get_config()['default_ui'], status=200)
|
||||
|
||||
return web.Response(status=200)
|
||||
|
||||
|
||||
@routes.get("/manager/component/policy")
|
||||
async def component_policy(request):
|
||||
if "value" in request.rel_url.query:
|
||||
|
||||
@@ -40,7 +40,7 @@ docStyle.innerHTML = `
|
||||
|
||||
#cm-manager-dialog {
|
||||
width: 1000px;
|
||||
height: 520px;
|
||||
height: 450px;
|
||||
box-sizing: content-box;
|
||||
z-index: 1000;
|
||||
overflow-y: auto;
|
||||
@@ -137,7 +137,7 @@ docStyle.innerHTML = `
|
||||
|
||||
.cm-notice-board {
|
||||
width: 290px;
|
||||
height: 270px;
|
||||
height: 210px;
|
||||
overflow: auto;
|
||||
color: var(--input-text);
|
||||
border: 1px solid var(--descrip-text);
|
||||
@@ -908,19 +908,6 @@ class ManagerMenuDialog extends ComfyDialog {
|
||||
switch_comfyui_button,
|
||||
fetch_updates_button,
|
||||
|
||||
$el("br", {}, []),
|
||||
$el("button.cm-button", {
|
||||
type: "button",
|
||||
textContent: "Alternatives of A1111",
|
||||
onclick:
|
||||
() => {
|
||||
if(!CustomNodesManager.instance) {
|
||||
CustomNodesManager.instance = new CustomNodesManager(app, self);
|
||||
}
|
||||
CustomNodesManager.instance.show(CustomNodesManager.ShowMode.ALTERNATIVES);
|
||||
}
|
||||
}),
|
||||
|
||||
$el("br", {}, []),
|
||||
$el("button.cm-button-red", {
|
||||
type: "button",
|
||||
@@ -1015,21 +1002,6 @@ class ManagerMenuDialog extends ComfyDialog {
|
||||
}
|
||||
});
|
||||
|
||||
// default ui state
|
||||
let default_ui_combo = document.createElement("select");
|
||||
default_ui_combo.setAttribute("title", "Set the default state to be displayed in the main menu when the browser starts.");
|
||||
default_ui_combo.className = "cm-menu-combo";
|
||||
default_ui_combo.appendChild($el('option', { value: 'none', text: 'Default UI: None' }, []));
|
||||
default_ui_combo.appendChild($el('option', { value: 'history', text: 'Default UI: History' }, []));
|
||||
default_ui_combo.appendChild($el('option', { value: 'queue', text: 'Default UI: Queue' }, []));
|
||||
api.fetchApi('/manager/default_ui')
|
||||
.then(response => response.text())
|
||||
.then(data => { default_ui_combo.value = data; });
|
||||
|
||||
default_ui_combo.addEventListener('change', function (event) {
|
||||
api.fetchApi(`/manager/default_ui?value=${event.target.value}`);
|
||||
});
|
||||
|
||||
|
||||
// share
|
||||
let share_combo = document.createElement("select");
|
||||
@@ -1092,7 +1064,6 @@ class ManagerMenuDialog extends ComfyDialog {
|
||||
this.datasrc_combo,
|
||||
channel_combo,
|
||||
preview_combo,
|
||||
default_ui_combo,
|
||||
share_combo,
|
||||
component_policy_combo,
|
||||
$el("br", {}, []),
|
||||
@@ -1275,10 +1246,22 @@ class ManagerMenuDialog extends ComfyDialog {
|
||||
this.element = $el("div.comfy-modal", { id:'cm-manager-dialog', parent: document.body }, [ content ]);
|
||||
}
|
||||
|
||||
get isVisible() {
|
||||
return this.element?.style?.display !== "none";
|
||||
}
|
||||
|
||||
show() {
|
||||
this.element.style.display = "block";
|
||||
}
|
||||
|
||||
toggleVisibility() {
|
||||
if (this.isVisible) {
|
||||
this.close();
|
||||
} else {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
|
||||
handleWorkflowGalleryButtonClick(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
@@ -1396,6 +1379,41 @@ app.registerExtension({
|
||||
}
|
||||
],
|
||||
|
||||
commands: [
|
||||
{
|
||||
id: "Comfy.Manager.Menu.ToggleVisibility",
|
||||
label: "Toggle Manager Menu Visibility",
|
||||
icon: "mdi mdi-puzzle",
|
||||
function: () => {
|
||||
if (!manager_instance) {
|
||||
setManagerInstance(new ManagerMenuDialog());
|
||||
manager_instance.show();
|
||||
} else {
|
||||
manager_instance.toggleVisibility();
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "Comfy.Manager.CustomNodesManager.ToggleVisibility",
|
||||
label: "Toggle Custom Nodes Manager Visibility",
|
||||
icon: "pi pi-server",
|
||||
function: () => {
|
||||
if (CustomNodesManager.instance?.isVisible) {
|
||||
CustomNodesManager.instance.close();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!manager_instance) {
|
||||
setManagerInstance(new ManagerMenuDialog());
|
||||
}
|
||||
if (!CustomNodesManager.instance) {
|
||||
CustomNodesManager.instance = new CustomNodesManager(app, self);
|
||||
}
|
||||
CustomNodesManager.instance.show(CustomNodesManager.ShowMode.NORMAL);
|
||||
},
|
||||
}
|
||||
],
|
||||
|
||||
init() {
|
||||
$el("style", {
|
||||
textContent: style,
|
||||
@@ -1590,27 +1608,3 @@ app.registerExtension({
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
async function set_default_ui()
|
||||
{
|
||||
let res = await api.fetchApi('/manager/default_ui');
|
||||
if(res.status == 200) {
|
||||
let mode = await res.text();
|
||||
switch(mode) {
|
||||
case 'history':
|
||||
app.ui.queue.hide();
|
||||
app.ui.history.show();
|
||||
break;
|
||||
case 'queue':
|
||||
app.ui.queue.show();
|
||||
app.ui.history.hide();
|
||||
break;
|
||||
default:
|
||||
// do nothing
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set_default_ui();
|
||||
|
||||
@@ -1916,4 +1916,8 @@ export class CustomNodesManager {
|
||||
close() {
|
||||
this.element.style.display = "none";
|
||||
}
|
||||
|
||||
get isVisible() {
|
||||
return this.element?.style?.display !== "none";
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,36 @@
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "molbal",
|
||||
"title": "comfy-url-fetcher [WIP]",
|
||||
"reference": "https://github.com/molbal/comfy-url-fetcher",
|
||||
"files": [
|
||||
"https://github.com/molbal/comfy-url-fetcher"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Fetches URLs"
|
||||
},
|
||||
{
|
||||
"author": "myAiLemon",
|
||||
"title": "MagicAutomaticPicture [WIP]",
|
||||
"reference": "https://github.com/myAiLemon/MagicAutomaticPicture",
|
||||
"files": [
|
||||
"https://github.com/myAiLemon/MagicAutomaticPicture"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A comfyui node package that can generate pictures and automatically save positive prompts and eliminate unwanted prompts"
|
||||
},
|
||||
{
|
||||
"author": "neverbiasu",
|
||||
"title": "ComfyUI_Output_as_Input",
|
||||
"reference": "https://github.com/a-und-b/ComfyUI_Output_as_Input",
|
||||
"files": [
|
||||
"https://github.com/a-und-b/ComfyUI_Output_as_Input"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This is a simple custom ComfyUI node that allows you to easily use recent output images as input in your workflows. It does not allow image uploads on purpose and does not require any additional dependencies.\nNOTE: The files in the repo are not organized."
|
||||
},
|
||||
{
|
||||
"author": "neverbiasu",
|
||||
"title": "ComfyUI-DeepSeek",
|
||||
|
||||
@@ -1629,7 +1629,9 @@
|
||||
"FrameBlend",
|
||||
"ImageReferenceUpdate",
|
||||
"ImageSelector",
|
||||
"KeypointsInput",
|
||||
"KeypointsInputNode",
|
||||
"KeypointsToPose",
|
||||
"KeypointsToPoseNode",
|
||||
"SimHashCompare",
|
||||
"TemporalConsistency"
|
||||
@@ -1762,6 +1764,14 @@
|
||||
"title_aux": "ComfyUI-Blenderesque-Nodes [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/a-und-b/ComfyUI_Output_as_Input": [
|
||||
[
|
||||
"OutputAsInput"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_Output_as_Input"
|
||||
}
|
||||
],
|
||||
"https://github.com/aiden1020/ComfyUI_Artcoder": [
|
||||
[
|
||||
"ArtCoder"
|
||||
@@ -3325,7 +3335,6 @@
|
||||
"MangaPanelSegmentationNode",
|
||||
"Mask_Fill_Region",
|
||||
"MatchImageCountToMaskCount",
|
||||
"ParallaxGPUTest",
|
||||
"ParallaxTest",
|
||||
"RandomCharacterPrompts",
|
||||
"TargetLocationCrop",
|
||||
@@ -4082,6 +4091,14 @@
|
||||
"title_aux": "ComfyUI-FramerComfy [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/molbal/comfy-url-fetcher": [
|
||||
[
|
||||
"URL Fetcher"
|
||||
],
|
||||
{
|
||||
"title_aux": "comfy-url-fetcher [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/monate0615/ComfyUI-Affine-Transform": [
|
||||
[
|
||||
"AffineTransform"
|
||||
@@ -4115,6 +4132,17 @@
|
||||
"title_aux": "ComfyUI-Claude-I2T"
|
||||
}
|
||||
],
|
||||
"https://github.com/myAiLemon/MagicAutomaticPicture": [
|
||||
[
|
||||
"EditableStringNode",
|
||||
"IntegratedCLIPTextEncodeWithExtract",
|
||||
"ProcessAndSave",
|
||||
"StringConcat"
|
||||
],
|
||||
{
|
||||
"title_aux": "MagicAutomaticPicture [WIP]"
|
||||
}
|
||||
],
|
||||
"https://github.com/naderzare/comfyui-inodes": [
|
||||
[
|
||||
"IAzureAiApi",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,15 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "PramaLLC",
|
||||
"title": "ComfyUI BEN - Background Erase Network",
|
||||
"reference": "https://github.com/PramaLLC/BEN2_ComfyUI",
|
||||
"files": [
|
||||
"https://github.com/PramaLLC/BEN2_ComfyUI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Remove backgrounds from images with [a/BEN2](https://huggingface.co/PramaLLC/BEN2) in ComfyUI\nOriginal repo: [a/https://github.com/DoctorDiffusion/ComfyUI-BEN](https://github.com/DoctorDiffusion/ComfyUI-BEN)"
|
||||
},
|
||||
{
|
||||
"author": "BlenderNeko",
|
||||
"title": "ltdrdata/ComfyUI_TiledKSampler",
|
||||
|
||||
@@ -11,6 +11,16 @@
|
||||
|
||||
|
||||
|
||||
{
|
||||
"author": "myAiLemon",
|
||||
"title": "MagicGetPromptAutomatically",
|
||||
"reference": "https://github.com/myAiLemon/MagicGetPromptAutomatically",
|
||||
"files": [
|
||||
"https://github.com/myAiLemon/MagicGetPromptAutomatically"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A plug-in that can automatically generate pictures and save txt files in comfyui"
|
||||
},
|
||||
{
|
||||
"author": "ryanontheinside",
|
||||
"title": "ComfyUI_ScavengerHunt [REMOVED]",
|
||||
|
||||
@@ -8,7 +8,52 @@
|
||||
"description": "If you see this message, your ComfyUI-Manager is outdated.\nRecent channel provides only the list of the latest nodes. If you want to find the complete node list, please go to the Default channel.\nMaking LoRA has never been easier!"
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"title": "A2V Multi Image Composite",
|
||||
"author": "AiartvnTeam",
|
||||
"id": "Aiartvn",
|
||||
"description": "Node for compositing multiple images with interactive preview and layer management",
|
||||
"repository": "https://github.com/aiartvn/A2V_Multi_Image_Composite",
|
||||
"install_type": "git-clone",
|
||||
"files": [
|
||||
"https://github.com/aiartvn/A2V_Multi_Image_Composite"
|
||||
],
|
||||
"tags": ["image", "composite", "layer", "blend", "transform"]
|
||||
},
|
||||
{
|
||||
"author": "ProGamerGov",
|
||||
"title": "Preview 360 Panorama for ComfyUI",
|
||||
"id": "comfyui-preview360panorama",
|
||||
"reference": "https://github.com/ProGamerGov/ComfyUI_preview360panorama",
|
||||
"files": [
|
||||
"https://github.com/ProGamerGov/ComfyUI_preview360panorama"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A custom ComfyUI node for interactive 360° panorama image previews. Panoramic 360 images are also sometimes known as VR photography (virtual reality), HDRI environments (ex: skyboxes), image spheres, spherical images, 360 pano, and 360 degree photos."
|
||||
},
|
||||
{
|
||||
"author": "amorano",
|
||||
"title": "Jovi_MIDI",
|
||||
"id": "jovi_midi",
|
||||
"reference": "https://github.com/Amorano/Jovi_MIDI",
|
||||
"files": [
|
||||
"https://github.com/Amorano/Jovi_MIDI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Read and Process data from MIDI devices inside of ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "nkchocoai",
|
||||
"title": "ComfyUI-DanbooruPromptQuiz",
|
||||
"reference": "https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz",
|
||||
"files": [
|
||||
"https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "This node is for playing the game of guessing prompts by looking at images generated from prompts output by TIPO, Tagger, etc.."
|
||||
},
|
||||
{
|
||||
"author": "agilly1989",
|
||||
"title": "ComfyUI_agilly1989_motorway",
|
||||
@@ -20,14 +65,14 @@
|
||||
"description": "This my implemenation of a `pipe` in ComfyUI. Is it better or worse than others? No idea."
|
||||
},
|
||||
{
|
||||
"author": "myAiLemon",
|
||||
"title": "MagicGetPromptAutomatically",
|
||||
"reference": "https://github.com/myAiLemon/MagicGetPromptAutomatically",
|
||||
"author": "da2el-ai",
|
||||
"title": "D2-PromptSelector-comfyUI",
|
||||
"reference": "https://github.com/da2el-ai/D2-PromptSelector-comfyUI",
|
||||
"files": [
|
||||
"https://github.com/myAiLemon/MagicGetPromptAutomatically"
|
||||
"https://github.com/da2el-ai/D2-PromptSelector-comfyUI"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A plug-in that can automatically generate pictures and save txt files in comfyui"
|
||||
"description": "This is a version of [a/sd-d2-prompt-selector](https://github.com/da2el-ai/sd-d2-prompt-selector) reworked for ComfyUI. It's just a prototype that I've put together for now. The random syntax of sd-d2-prompt-selector cannot be used; instead, the DynamicPrompt syntax is used"
|
||||
},
|
||||
{
|
||||
"author": "kijai",
|
||||
|
||||
@@ -493,6 +493,7 @@
|
||||
"https://github.com/852wa/ComfyUI-ColorshiftColor": [
|
||||
[
|
||||
"ColorshiftColor",
|
||||
"CsCFill",
|
||||
"CsCPaletteEditor"
|
||||
],
|
||||
{
|
||||
@@ -1427,6 +1428,18 @@
|
||||
"title_aux": "Jovi_GLSL"
|
||||
}
|
||||
],
|
||||
"https://github.com/Amorano/Jovi_MIDI": [
|
||||
[
|
||||
"MIDI FILTER (JOV_MIDI)",
|
||||
"MIDI FILTER EZ (JOV_MIDI)",
|
||||
"MIDI LOADER (JOV_MIDI)",
|
||||
"MIDI MESSAGE (JOV_MIDI)",
|
||||
"MIDI READER (JOV_MIDI)"
|
||||
],
|
||||
{
|
||||
"title_aux": "Jovi_MIDI"
|
||||
}
|
||||
],
|
||||
"https://github.com/Amorano/Jovi_Measure": [
|
||||
[
|
||||
"BLUR EFFECT (JOV_MEASURE)",
|
||||
@@ -5017,6 +5030,7 @@
|
||||
[
|
||||
"Simple Extract Lora From Text",
|
||||
"Simple Image Saver (as Forge)",
|
||||
"Simple Load Image With Metadata",
|
||||
"Simple Load Line From Text File",
|
||||
"Simple Lora Loader"
|
||||
],
|
||||
@@ -6433,10 +6447,13 @@
|
||||
],
|
||||
"https://github.com/MzMaXaM/ComfyUi-MzMaXaM": [
|
||||
[
|
||||
"ImageToText",
|
||||
"KSamplerWithVAE",
|
||||
"SelectLatentSize1MP",
|
||||
"SelectLatentSize2MP",
|
||||
"TextEncode3in1",
|
||||
"TextToText",
|
||||
"UpscaleImageBy1_5x",
|
||||
"UpscaleLatentBy1_5x"
|
||||
],
|
||||
{
|
||||
@@ -7060,6 +7077,14 @@
|
||||
"title_aux": "ComfyUI-StringsAndThings"
|
||||
}
|
||||
],
|
||||
"https://github.com/ProGamerGov/ComfyUI_preview360panorama": [
|
||||
[
|
||||
"PanoramaViewerNode"
|
||||
],
|
||||
{
|
||||
"title_aux": "Preview 360 Panorama for ComfyUI"
|
||||
}
|
||||
],
|
||||
"https://github.com/ProGamerGov/ComfyUI_pytorch360convert": [
|
||||
[
|
||||
"Crop Image with Coords",
|
||||
@@ -10647,6 +10672,18 @@
|
||||
"title_aux": "ComfyUI-styles-all"
|
||||
}
|
||||
],
|
||||
"https://github.com/agilly1989/ComfyUI_agilly1989_motorway": [
|
||||
[
|
||||
"MotorwayFloat",
|
||||
"MotorwayInt",
|
||||
"MotorwaySeed",
|
||||
"MotorwayStr",
|
||||
"MotorwayStrMulti"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI_agilly1989_motorway"
|
||||
}
|
||||
],
|
||||
"https://github.com/ahernandezmiro/ComfyUI-GCP_Storage_tools": [
|
||||
[
|
||||
"GCPReadImageNode",
|
||||
@@ -10722,6 +10759,14 @@
|
||||
"title_aux": "Comfy UI FatLabels"
|
||||
}
|
||||
],
|
||||
"https://github.com/aiartvn/A2V_Multi_Image_Composite": [
|
||||
[
|
||||
"A2V_Multi_Image_Composite"
|
||||
],
|
||||
{
|
||||
"title_aux": "A2V Multi Image Composite"
|
||||
}
|
||||
],
|
||||
"https://github.com/aidec/Comfyui_TextBatch_aidec": [
|
||||
[
|
||||
"ImageQueueProcessor",
|
||||
@@ -15458,7 +15503,8 @@
|
||||
"SelOutModel",
|
||||
"SelOutPolar",
|
||||
"Selector",
|
||||
"Selector Advanced"
|
||||
"Selector Advanced",
|
||||
"Selector Hub"
|
||||
],
|
||||
{
|
||||
"author": "\"\u02f6\ud835\udfa2\u292c\u2ad2\u2d56s\u143c\u02f6\"",
|
||||
@@ -19314,6 +19360,7 @@
|
||||
"GetImageRangeFromBatch",
|
||||
"GetImageSizeAndCount",
|
||||
"GetImagesFromBatchIndexed",
|
||||
"GetLatentRangeFromBatch",
|
||||
"GetLatentsFromBatchIndexed",
|
||||
"GetMaskSizeAndCount",
|
||||
"GradientToFloat",
|
||||
@@ -19332,6 +19379,7 @@
|
||||
"ImageGridComposite2x2",
|
||||
"ImageGridComposite3x3",
|
||||
"ImageGridtoBatch",
|
||||
"ImageNoiseAugmentation",
|
||||
"ImageNormalize_Neg1_To_1",
|
||||
"ImagePadForOutpaintMasked",
|
||||
"ImagePadForOutpaintTargetSize",
|
||||
@@ -19347,6 +19395,7 @@
|
||||
"Intrinsic_lora_sampling",
|
||||
"JoinStringMulti",
|
||||
"JoinStrings",
|
||||
"LeapfusionHunyuanI2VPatcher",
|
||||
"LoadAndResizeImage",
|
||||
"LoadImagesFromFolderKJ",
|
||||
"LoadResAdapterNormalization",
|
||||
@@ -22347,16 +22396,6 @@
|
||||
"title_aux": "ComfyUI_KSamplerTimer"
|
||||
}
|
||||
],
|
||||
"https://github.com/myAiLemon/MagicGetPromptAutomatically": [
|
||||
[
|
||||
"EditableStringNode",
|
||||
"IntegratedCLIPTextEncodeWithExtract",
|
||||
"ProcessAndSave"
|
||||
],
|
||||
{
|
||||
"title_aux": "MagicGetPromptAutomatically"
|
||||
}
|
||||
],
|
||||
"https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin": [
|
||||
[
|
||||
"ShellAgentPluginInputAudio",
|
||||
@@ -22592,6 +22631,15 @@
|
||||
"title_aux": "ComfyUI OpenAI Prompter"
|
||||
}
|
||||
],
|
||||
"https://github.com/nkchocoai/ComfyUI-DanbooruPromptQuiz": [
|
||||
[
|
||||
"DanbooruPromptComparison",
|
||||
"DanbooruPromptQuiz"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-DanbooruPromptQuiz"
|
||||
}
|
||||
],
|
||||
"https://github.com/nkchocoai/ComfyUI-Dart": [
|
||||
[
|
||||
"DanbooruTagsTransformerBanTagsFromRegex",
|
||||
@@ -22697,6 +22745,7 @@
|
||||
],
|
||||
"https://github.com/nofunstudio/Node_Fun_ComfyUI": [
|
||||
[
|
||||
"IframeView",
|
||||
"LayeredInfiniteZoom",
|
||||
"Replicate flux 1.1 pro ultra",
|
||||
"ReplicateAPI_flux_1_1_pro_ultra",
|
||||
@@ -26180,6 +26229,7 @@
|
||||
"quadmoonChangeBackground",
|
||||
"quadmoonConvertBoolToString",
|
||||
"quadmoonConvertFloatToString",
|
||||
"quadmoonConvertImageToPrompt",
|
||||
"quadmoonConvertIntToString",
|
||||
"quadmoonConvertNormalizeHW",
|
||||
"quadmoonConvertNumberToString",
|
||||
@@ -27156,6 +27206,7 @@
|
||||
],
|
||||
"https://github.com/xlinx/ComfyUI-decadetw-auto-prompt-llm": [
|
||||
[
|
||||
"Auto-LLM-Chat",
|
||||
"Auto-LLM-Text",
|
||||
"Auto-LLM-Text-Vision",
|
||||
"Auto-LLM-Vision"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "comfyui-manager"
|
||||
description = "ComfyUI-Manager provides features to install and manage custom nodes for ComfyUI, as well as various functionalities to assist with ComfyUI."
|
||||
version = "3.13.1"
|
||||
version = "3.15"
|
||||
license = { file = "LICENSE.txt" }
|
||||
dependencies = ["GitPython", "PyGithub", "matrix-client==0.4.0", "transformers", "huggingface-hub>0.20", "typer", "rich", "typing-extensions"]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user