Nodes/ComfyUI_PersonaPlexMF/PersonaPlex Server URL
ComfyUI Node

PersonaPlex Server URL

A 40-line node that decides when your PersonaPlex chat opens a browser tab

By squarewulf·Created 7 months ago·Updated 5 months ago· 11
PersonaPlex Server URL
    • url
    server_url
    open_browserfalse

    Let's be honest about this one: PersonaPlex Server URL is a tiny convenience node, and you can run the whole pack without ever adding it to a graph. Its job is to take the server_url string from the Conversation Server node and, optionally, open it in your browser - after politely waiting for the server to actually be ready. That's it. But it exists for a reason, and once you understand the reason you'll see where it fits.

    The Conversation Server already has an open_browser toggle that does this for you, defaulting to on. So why a second node? Control. If you set that toggle off, the server starts quietly and you get the URL as a string output. You then decide what happens to it - display it on the canvas as a plain text node, pipe it into something else, or feed it here to open the tab only when you're ready. It's the difference between "ComfyUI flings a browser at me the second the graph runs" and "I'll open the chat when I've set the model up the way I want."

    The inputs and output

    • server_url (required, STRING) - comes from the Conversation Server's server_url output. It's marked forceInput, so you'll connect it with a wire rather than typing.
    • open_browser (bool, default false) - the only behavior toggle. On, it checks the URL until the server responds, then opens your default browser.

    Output: url (STRING), which just passes the address through - useful if you want to chain the URL elsewhere or show it on the graph. Note it's an output node (OUTPUT_NODE = True), so it's meant to be a graph terminal, not a mid-pipeline component.

    Why the "wait for ready" matters

    The node doesn't just blindly fire the browser - it polls the server first (the code literally checks the URL is responding before calling webbrowser.open). That's not paranoia. A PersonaPlex server takes a while to load a 7B model and its codecs, and if you connect before it's up you'll get an instant WebSocket drop and a confusing wall of errors. The Conversation Server's own smart-open does the same waiting; this node is the manual version of that same patience.

    How to use it

    Add it after the Conversation Server in your graph, wire server_url to server_url, and tick open_browser when you want it to open the tab. Or leave it off entirely and just use it as a way to see the URL as a visible string. If your whole goal was "server starts, browser opens, I talk," skip this node and leave the Conversation Server's toggle alone. Install is the pack standard - clone, pip install -r requirements.txt, pip install -e personaplex_src/moshi - and because it does no model work itself, it's the only node in the pack that still works if your downloads haven't finished yet.

    CategoryPersonaPlex

    Inputs (2)

    NameTypeDefaultDescription
    server_urlSTRING
    open_browseroptBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    urlSTRING