PersonaPlex Server URL
A 40-line node that decides when your PersonaPlex chat opens a browser tab
- url
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'sserver_urloutput. It's markedforceInput, 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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| server_url | STRING | — | |
| open_browseropt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| url | STRING | — |