ComfyUI_Viewer

ComfyUI_Viewer
★ 13

内容预览多格式渲染自动识别ComfyUI插件
可扩展的内容查看器,自动识别并渲染HTML、Markdown(含LaTeX、Mermaid)、代码与图片等多种格式,便于在ComfyUI中预览与调试节点输出。
💡 将文本或图像输出接入Content Viewer节点以实时预览和调试。
🍴 1 Forks💻 JavaScript🔄 2026-02-18
📦
网盘下载
复制链接后前往夸克网盘下载
https://pan.quark.cn/s/86a6deb1b5f6
📦 requirements.txt
#
No
additional
dependencies
required
Screenshot 9
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
📄 README

ComfyUI Content Viewer

A powerful, extensible ComfyUI custom node with a modular Views Extension System that renders content in a secure embedded iframe viewer. Views are dynamically loaded and can be added, removed, or modified without touching core code.

Table of Contents

  • Screenshots
  • Features
  • Third-Party Views
  • Built-in Views
  • Installation
  • Usage
  • Creating Extensions
  • Troubleshooting
  • Third-Party Licenses
  • License
  • Screenshots

    Screenshots

    Features

    Views Extension System

  • Modular architecture – Each content type is handled by its own view extension
  • Dynamic loading – Views are auto-discovered from web/views/view_manifest.js
  • Priority-based detection – Higher priority views are checked first for content matching
  • Extensible – Add custom views without modifying core viewer code
  • Theme integration – All views receive ComfyUI theme tokens for consistent styling
  • Multi-View Support

  • Automatic detection – When multiple views can handle the same content, a view selector appears
  • View switching – Toggle between different visualizations of the same data (e.g., tensor as Canvas vs Object inspector)
  • Priority-based default – The highest priority matching view is shown by default
  • Common use case – IMAGE tensors are detected by both Canvas (for compositing) and Object (for metrics/inspection) views
  • Controls

  • Edit – Modify content directly in the node (supports both single and list content)
  • Clear – Reset all content
  • Fullscreen – Expand viewer to full screen (press Escape to exit)
  • Download – Save content with auto-detected file extension
  • Single content → Downloads with appropriate extension (.html, .svg, .md, .py, etc.)
  • List content → Downloads as .zip containing individually named files
  • String List Support

  • Multiple items – Displays list inputs as individual indexed containers
  • Per-item checkboxes – Filter which items to include in output
  • Per-item copy buttons – Copy individual list items to clipboard
  • Per-item editing – Edit each list item in its own textarea
  • Data Flow

  • Flexible input – Accepts any type via content input (STRING, lists, objects, IMAGE tensors)
  • Content priority – User edits > Backend execution > Connected content
  • Workflow persistence – Manual edits saved with the workflow
  • Security

  • Sandboxed iframe – Content runs in isolated sandbox without access to parent page
  • No same-origin – Iframe cannot access ComfyUI’s JavaScript context or localStorage

  • Third-Party Views

    | View Name | View Description | View Link |

    |———–|——————|———–|

    | Image Search | Search input/output/temp directories for images by input image | Image Search |

    | OpenReel Video | Edit videos generated within ComfyUI (e.g., from Wan, LTX,, etc.) | OpenReel Video |

    Built-in Views

    The Content Viewer includes 12 built-in views, listed by detection priority:

    | View | Priority | Detection | Description |

    |——|———-|———–|————-|

    | SVG | 110 | tag with xmlns | Renders SVG graphics centered in viewport |

    | HTML | 100 | , , common HTML tags | Full HTML rendering with scripts |

    | Canvas (alpha wip) | 95 | JSON with type: "canvas_composer" | Beta implementation of a infinite canvas image compositor with layers |

    | JSON | 90 | Valid JSON starting with { or [ | Collapsible tree view with syntax highlighting |

    | Terminal | 80 | ANSI escape codes (\x1b[, \033[) | Colored terminal output parser |

    | Markdown | 70 | Headers, lists, links, code blocks | Full MD with Mermaid diagrams & KaTeX math |

    | Python | 60 | import, def, class, self. | Prism.js syntax highlighting |

    | JavaScript | 55 | function, const, let, arrow functions | Prism.js syntax highlighting |

    | CSV | 50 | Comma-separated values across lines | Styled table rendering |

    | CSS | 45 | Selectors with {}, properties | Prism.js syntax highlighting |

    | YAML | 40 | Key-value pairs, --- markers | Syntax highlighted display |

    | Text | 0 | Default fallback | Monospace plain text |

    View Details

    Canvas View - Infinite canvas image compositor

    The Canvas view provides a full-featured image compositing workspace:

  • Layer management - Add, reorder, hide/show, delete layers
  • Transform tools - Move, scale, rotate layers with handles
  • Brush tools - Paint, erase, clone stamp with adjustable size/hardness/opacity
  • Layer effects - Opacity, blend modes (16 modes), stroke, shadow
  • Layer masks - Non-destructive masking with brush tools
  • Export - Download PNG or send composite to node output as IMAGE tensor
  • Navigator - Mini-map for large canvas navigation
  • Keyboard shortcuts - V (select), H (pan), B (brush), Delete, Ctrl+Z/Y
  • The Canvas view outputs IMAGE and MASK tensors that can be connected to other ComfyUI nodes.

    Markdown View - Rich text with diagrams and math

    Supports full Markdown syntax plus:

  • Mermaid diagrams - Flowcharts, sequence diagrams, etc. in `mermaid blocks
  • KaTeX math - LaTeX formulas via $$...$$ (block) or $...$ (inline)
  • Tables - Styled with zebra striping
  • Code blocks - Syntax highlighted with Prism.js
  • Task lists - Checkbox items - [x] and - [ ]
  • JSON View - Interactive tree viewer

  • Collapsible nodes - Click to expand/collapse objects and arrays
  • Syntax highlighting - Keys, strings, numbers, booleans, null
  • Copy on click - Click any value to copy it
  • Nested formatting - Proper indentation for deep structures
  • Terminal View - ANSI escape code parser

    Renders terminal output with full ANSI support:

  • 16 colors - Standard terminal colors
  • 256 colors - Extended color palette
  • 24-bit colors - True color RGB
  • Styles - Bold, italic, underline, strikethrough
  • Reset codes - Proper handling of reset sequences

  • Installation

    Option A (git clone)

    cd ComfyUI/custom_nodes
    
    git clone https://github.com/WASasquatch/ComfyUI_Viewer.git
    

    Option B (ComfyUI Manager)

  • Open Manager and search for ComfyUI_Viewer
  • Option C (zip)

  • Download and extract to ComfyUI/custom_nodes/ComfyUI_Viewer

  • Usage

    Basic Usage

  • Add the Content Viewer node (found in WAS/View category)
  • Connect any STRING output to the content input
  • Content type is auto-detected and rendered with the appropriate view
  • As a Notes/Documentation Node

  • Add the Content Viewer node
  • Click Edit in the controls bar
  • Enter your HTML, Markdown, or text content
  • Click Save to render
  • Using the Canvas Compositor

  • Connect IMAGE outputs to the Canvas Composer node
  • Images appear in the source panel - drag them onto the canvas
  • Use transform handles to position and scale
  • Use brush tools to paint or mask
  • Click Send to Output to pass the composite downstream

  • Creating Extensions

    The Content Viewer supports custom view extensions for adding new content types, interactive UIs, and visualizations.

    📖 See the Extension Development Guide for complete documentation on:

  • Creating extension packages for distribution
  • Adding frontend views (JavaScript)
  • Adding backend parsers (Python)
  • Parser + View integration
  • Troubleshooting
  • Quick install for users:

  • Download an extension .zip file
  • Place it in ComfyUI_Viewer/extensions/
  • Restart ComfyUI

  • Troubleshooting

    Content not updating

  • Ensure the connected node is executing (queue the workflow)
  • Try disconnecting and reconnecting the input
  • View not detecting content

  • Check the browser console (F12) for [WAS Viewer] messages
  • Verify your view's detect() returns a score > 0 for your content
  • Check priority - higher priority views are tested first
  • Canvas images not loading

  • Ensure images are in ComfyUI's input directory.
  • Search for a folder that looks like was_viewer_032bb95c where the last part is a unique hash for that nodes canvas content.
  • Check for CORS errors in browser console
  • Custom view not appearing

  • Verify the file is listed in view_manifest.js
  • Check for JavaScript errors in browser console
  • Ensure export default YourViewClass is present

  • Third-Party Licenses

    This project includes the following third-party libraries:

    | Library | License | Description | Location |

    |---------|---------|-------------|----------|

    | Prism.js | MIT | Syntax highlighting for code blocks | web/views/code_scripts/ |

    | KaTeX | MIT | LaTeX math rendering | web/views/markdown_scripts/ |

    | Mermaid | MIT | Diagram and flowchart rendering | web/views/markdown_scripts/ |

    | KaTeX Fonts | SIL OFL 1.1 | Math fonts for KaTeX | fonts/ |

    Full license texts are included with each library in their respective directories.


    License

    MIT License - See LICENSE for details