Repository navigation
Add a development-runner banner at startup - #5060
Conversation
The runner (`pipecat.runner.run`) is a local development tool: its endpoints are unauthenticated and a single request can create real resources, so it's easy to mistake for a production server. Print a bordered banner on startup — for every run mode — flagging it as development-only and linking to the deployment docs for running bots locally and in production. Claude-Session: https://claude.ai/code/session_01X2vHQkcyXZs5ZDNTsZmiQf
Codecov Report❌ Patch coverage is
... and 22 files with indirect coverage changes 🚀 New features to boost your workflow:
|
markbackman
left a comment
There was a problem hiding this comment.
My main concern is that the callout box dominates the visual space, making it harder to find the bot ready / open information. Could we try a different approach:
- Running locally, just include a simple text description:
Pipecat development runner: not for production use.orPipecat development runner: for development purposes only?
Pipecat development runner: not for production use.
🚀 Bot ready!
→ Open: http://localhost:7860
→ Enabled transports: daily, webrtc, telephony, websocket
→ Allowed origins: all (no restriction)
- When not running on localhost or 0.0.0.0, etc then show a warning; something like:
⚠️ This runner is reachable beyond localhost and its endpoints are
unauthenticated. For more information, see:
https://docs.pipecat.ai/pipecat/deployment/self-hosting
🚀 Bot ready!
→ Open: http://0.0.0.0:7860
...
This might balance out the two options. Importantly, this helps the dominate use case remain usable.
WDYT?
filipi87
left a comment
There was a problem hiding this comment.
+1 for Mark's suggestions above.
But I think it could still be worth keeping the warning symbol, even in this case.
⚠️ Pipecat development runner: not for production use.
🚀 Bot ready!
→ Open: http://localhost:7860
→ Enabled transports: daily, webrtc, telephony, websocket
→ Allowed origins: all (no restriction)
|
If we're concerned that folks are inadvertently running in prod, I think it'd helpful to provide some link to learn more. I also find it helpful to make it clear what's actually running when you run your bot.py command. But I see your point about not visually "taking over" the subsequent connection status messages. Counter-proposal: I'm going to try to make the banner dimmer but still prominent. I feel like I've seen that precedent elsewhere, though I'm not sure exactly where. Screenshot incoming. |
Render the startup banner dim cyan — only on an interactive terminal, so escape codes never leak into captured output — via a _style_banner_line helper, and prefix the notice with a⚠️ . Claude-Session: https://claude.ai/code/session_01X2vHQkcyXZs5ZDNTsZmiQf
f5fb777 to
910e9f1
Compare
|
Cyan looks best to me. Strikes a balance between subtle and noticeable; clearly describes the running process and supplies the necessary warning without distracting from the following log lines. |



Prints a bordered startup banner (on every run mode) marking
pipecat.runner.runas a development tool — not a production server — and linking to the deployment docs for running bots locally and in production.🤖 Generated with Claude Code