was-node-suite-comfyui

WASasquatchMIT活跃维护

ComfyUI 的节点扩展套件,把图像处理、滤镜、遮罩、文本逻辑、数值、潜空间、文件、3D 场景和动画等操作封装成节点,方便在 ComfyUI 工作流里直接调用。

WAS-NS v3 Reborn; Tools for image processing, filters, masking, text, logic, numbers, latents, files, 3D scenes, and animation.

暂无版本1,894star +1 / 7 天308fork同步于 2026-11-10 11:46 UTC

怎么上手

由 README 提炼,执行前请确认
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
硬件要求按 README 说明

README 未说明显存或 GPU 型号要求;节点在 ComfyUI 自身设备上运行,未提及 CPU 运行条件。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

ComfyUI 的 687 节点扩展包,覆盖图像、遮罩、文本、逻辑、潜空间与 Llama-Index

ComfyUI 的节点扩展套件,把图像处理、滤镜、遮罩、文本逻辑、数值、潜空间、文件、3D 场景和动画等操作封装成节点,方便在 ComfyUI 工作流里直接调用。

核心能力

  • 提供 687 个节点,分属 67 个类别
  • 内置 Llama-Index 节点,可把文档、图片索引进图
  • 图像滤镜、遮罩、调色等改用 torch 在 ComfyUI 设备上运行
  • 默认零依赖,不自动执行 pip,也不从 git URL 拉取
  • 可选功能组按 config.yaml 开关启用,默认关闭

容易踩的坑

不要通过 ComfyUI Manager 安装,它会在无提示的情况下降级并破坏安装;需要 ComfyUI 0.14.0 或更新版本以及 Python 3.10+;document_export、llm、vector_stores 三组需另装 requirements 并在 config.yaml 的 features 下开启。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    WAS Node Suite v3   ComfyUI Open Manager License Donate

    WAS Node Suite has been going since 2023 on Civitai and on GitHub, and was among the first packs to put hundreds of nodes into users' hands. WAS-NS has over a million downloads, and is used by thousands of users daily. It has been MIT since the first commit: use it, change it, teach with it, or run it in paid services.

    The pack contains 687 nodes for ComfyUI, across images, filters and colour, masking, text and prompts, logic and flow, numbers, latents and sampling, files, animation and video, and Llama-Index in ComfyUI.

    Llama-Index in ComfyUI puts llama-index on the canvas. Models, document loaders, splitters, indexes, vector stores, retrievers, query and chat engines, memory, tools, agents and evaluation are each a node, wired and queued like any other. They run on the models a graph already loads, such as the Qwen3 or Gemma inside a core Load CLIP, as well as GGUF files, Hugging Face folders, local servers such as Ollama, and hosted providers. Pictures and video frames are indexed beside text, so a graph can answer from a folder of notes, find a render by what it shows, or send an agent to look things up before it writes a prompt. The group installs on its own and ships off; without it the pack needs no packages. What it covers.

    See NODES.md for reference.

    Consider donating to the project to help me afford caffeine.


    Installation

    [!WARNING] WAS Node Suite v3 should not be installed through ComfyUI Manager. ComfyUI Manager is broken and will silently downgrade, and break your installation without warning. Either directly clone the repository or use the Open Manager.

    Manually clone into custom_nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
    

    Requires ComfyUI 0.14.0 or newer and Python 3.10+.

    That is the whole install. Nothing is installed, downloaded or built, now or on any later start. The pack never runs pip on its own.

    The first start takes a second or two longer than the rest. Your config.yaml, the state database and the wildcard, LUT and view-extension folders are written under <ComfyUI user dir>/was-node-suite/, and python compiles the pack to bytecode. An update recompiles, so it happens once more each time you pull.

    Three optional groups want packages and ship off: document_export, which lets Save DOC write .docx, .odt and .pdf, llm, the language model nodes, and vector_stores, which adds Chroma, LanceDB, FAISS and Postgres to the LLM nodes' vector stores.

    # portable ComfyUI, from the ComfyUI_windows_portable directory
    python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\was-node-suite-comfyui\requirements\document_export.txt
    python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\was-node-suite-comfyui\requirements\llm.txt
    python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\was-node-suite-comfyui\requirements\vector_stores.txt
    

    Then set document_export: true, llm: true or vector_stores: true under features: in config.yaml. The llm group's keys, model folders and servers: docs/LLM.md. docs/CONFIG.md has every group, what it needs and what it gates.


    What changed since v2

    687 nodes across a package of source files. The pack itself needs no packages, and nothing is fetched from a git URL. What it bundles ships in the repository with its licence beside it, listed in docs/THIRD_PARTY.md.

    v2v3
    Nodes220687
    Default packages installed200
    Installed from a git URL30
    Third-party carried in the repositorySAM and BLIP, 75 files of python143 files: browser libraries, fonts, eight face cascades, three sets of weights and two networks, each with its licence
    Optional node groupsnone26 keys in config.yaml, 10 of them off out of the box. Per-node disable group.

    213 of the 220 node ids are unchanged. Four are retired onto replacements, three are removed outright, and the section below says what opens in their place. Face detection, gradient maps, background removal, frame interpolation, seamless textures, colour matching, levels, palettes, masks and deconvolution all run on torch, on ComfyUI's own device, so OpenCV, numba, rembg, timm, scipy, scikit-image, scikit-learn and matplotlib are not installed. Everything else a node reaches for either ships with ComfyUI or belongs to an optional group.

    420 new nodes

    AreaNewAreaNew
    Llama-Index in ComfyUI79Bounds10
    Three.js scenes43HDR and linear light9
    Audio39Affine sampling7
    Files, archives and documents28Everything else157
    Logic and flow26
    Layers22

    What each area does: FEATURES.md.


    Opening a workflow saved before v3

    No node id is renamed. Two nodes are now a different node under the same menu name, two ids are gone and another node does the job of each, and ComfyUI offers to swap all four in. Five ids are removed with nothing in their place. Widgets, slot counts, three menu labels and six results changed, and a workflow saved before v3 is carried across as it loads.

    Four retired ids. Each one opens listed in ComfyUI's missing-node dialog. Tick it, press the replace button, and the node comes back in place. Leave the dialog and it stays missing. The old name still finds its replacement in the Add Node search.

    Saved asComes back asWith
    Image Crop Facethe same name, on a replacement running the same eight cascadeswiring, crop padding, cascade choice, flip setting
    Image Gradient Mapthe same name, on a replacement running the same gradientswiring and settings
    Load LoraLora Loader (Advanced), same five inputs and three outputsmodel and CLIP wired, all three outputs wired, LoRA choice, both strengths
    Number to TextNumber to String, same NUMBER, INT and FLOAT input, same STRING outputboth wires. Neither node has a widget, so nothing is retyped

    The two face and gradient nodes ran through OpenCV, which the pack no longer installs. Their replacements run on ComfyUI's own device and need nothing installed.

    Five removed ids. Each opens as a red box where it stood, with its links dropped. There is no replacement for any of them; delete the node.

    Saved asWhat it didWhat to do
    Image Send HTTPPosted an image batch to an addressWrite the batch with Image Save
    Text Random PromptRead a prompt from lexica.artWrite the prompt, or use Prompt Library
    True Random.org Number GeneratorDrew a seed from RANDOM.ORGUse Random Number or Seed
    WASDownloadImageRead an image from a web addressSave the file, then use Load Image
    WASNoodleSoupPantryRefreshDownloaded the Noodle Soup pantryNothing. The pantry ships with the pack and seeds the database on first start

    The pack now makes no outbound request of its own from any node.

    Widgets and slots, carried across for you. Thirty-six dropdowns reading true and false are now checkboxes, and fourteen nodes that stopped at four to eight slots now declare twenty-four or twenty-six, drawing one empty slot below the last one filled. Saved settings are read back onto the new widgets and everything wired stays wired. The three batchers each gain a count output below the one they had. Image Save's prefix_as_filename is now overwrite_mode, ticked where it read true. Logic Boolean's 0 to 1 slider is a checkbox, ticked where it read above 0.5.

    Three Custom Material takes a module file. Its javascript box is gone. The node now picks a .js or .txt module from ComfyUI's input folder or a folder under paths.allow_read, and the module's header names the textures it wants, which the node's slots then read as. A body typed into an older workflow is dropped rather than read onto the menu, so open one, put the body in a file and pick it. Code no longer travels inside a workflow, so a graph from someone else cannot bring javascript with it. docs/CONFIG.md has the setting that permits a module to run at all.

    Three renamed labels. KSampler is now KSampler (Seed Socket), Seed is Seed (Number Outputs) and Save Video is Save Video (Advanced), so none shares a name with a core ComfyUI node. Only the label changed, and the old names still find them in search.

    Six changed results.

    NodeWhat changedWhat to do
    Image Blending Mode26 blend modes instead of 14, in linear light on the GPU, keeping values above white. add now adds the two layers rather than painting image_b over image_aA graph using add comes out brighter. Switch it to normal for what it did before
    Image Style Filter37 looks, every graded one finished with a halation. The 26 period looks keep the colour their name has always meantNothing. A saved workflow opens on the same style
    Image Film GrainAdds grain that follows the picture's brightness and keeps its colour, instead of blending a grey, sharpened noise layer over it. density, intensity, highlights and supersample_factor are replaced by strength, grain_size, color and seedNothing. A saved workflow opens on the new defaults, which give fine film grain
    Logic BooleanIts input takes a wired INT, FLOAT, NUMBER or text as well as the checkbox, and reads a number as true unless it is 0, where it rounded at 0.5. The FLOAT output gives 1.0 or 0.0 instead of the slider's valueA FLOAT between 0 and 0.5 wired into it now reads true. Put Logic Compare Numbers in front of it, a > b against 0.5, for the old answer
    Mask Erode RegionHolds the frame edge instead of treating outside the frame as unsetA mask that touched an edge comes out wider. One with a clear margin is unchanged
    Image SSAO (Ambient Occlusion)Traces rays across the map as real relief instead of averaging neighbouring pixels, so the shading follows the surface and no longer reacts to the image's own colour. The depth_images input is now height_maps, tile_size is gone, and height_scale, ray_count, step_count and angle_bias set the relief and the tracing. The whole body is float now, so linear light above 1.0 is shaded rather than clipped, and a precision widget writes 8, 16 or 32 bit for EXR SaveRe-wire the depth map into height_maps, which opens unconnected. The other settings are read back onto the new widgets. Highlight masking now starts off, so the node shades as soon as it is dropped, and strength at 0 leaves the image untouched rather than black

    Nodes

    687 nodes across 67 categories. NODES.md carries every input, output and tooltip, and groups them by the config.yaml switch that gates them: feature gates.

    28 are deprecated, which ComfyUI marks in the Add Node menu, and each names its replacement. They sit in the nine legacy groups in config.yaml, four of which start off: docs/CONFIG.md.


    Features

    FEATURES.md covers what the pack does, by area: masking, layers, bounds, filters and optics, transforms, colour and LUTs, HDR, instruments, logic and flow, numbers, text and dictionaries, prompt terminology and styles, files and archives, animation, models and LoRA, the affine transform, noise shaping, Kandinsky 6 video with sound, video comparison, execution gating, the Content Viewer, Three.js scenes and graph plumbing.


    Model weights

    Nothing is downloaded unless you ask for it. features.network is false out of the box, so a node needing weights it cannot find says so and names the key rather than reaching for the network, and Three Texture URL takes only data: addresses and the pack's own assets.

    Let it download. Set network: true under features: in config.yaml.

    See docs/MODELS.md for more information.


    Configuration

    Written for you on first start at <ComfyUI user dir>/was-node-suite/config.yaml, as a copy of config.example.yaml with every key at its default and the comment that explains it. Edit it there as it will survive updates.

    docs/CONFIG.md


    Third-party code in the pack

    The suite is MIT, see LICENSE. It bundles 166 third-party files: three.js and three-gpu-pathtracer, HugeRTE, Prism.js, KaTeX and Mermaid, the EMA-VFI, SEA-RAFT, FlowSeek, MiniMax H3 latent upscaler and Kandinsky 6 networks, the DejaVu, Liberation and Aileron fonts, eight face cascades and three sets of weights. Each keeps its own licence text in the folder it ships in, and none of it is ever fetched. Every licence permits redistribution.

    The measurements and charts of Dataset Health and Caption Statistics come from ZenTrainer by Nynxz, MIT, with its licence in modules/dataset/.

    Versions, copyright lines, which licence covers what and a byte-level account of every bundled copy: docs/THIRD_PARTY.md.

    The software licences place no conditions on what you make with the suite: documents, captions and images you produce are yours. Open RAIL++-M, covering one 8 KB embedding, is the exception. It claims no rights in output but its use restrictions reach any use of that output, including the intrinsic maps Power Preprocessor answers with.


    Security

    Outbound requests are off out of the box, nothing starts a process or installs a package, and a node input naming a file is resolved against an allowlist before the filesystem is touched. What the pack does and does not do, and how to report a vulnerability: SECURITY.md.


    Contributing

    Bug reports and feature requests are welcome as issues. For a change to a node, open an issue first, so its inputs and outputs are settled before the code is written. See docs/CONTRIBUTING.md.