1
2
3
4
5
Browser opens SSE
GET /v1/me/chat/stream?token=JWT
sudo-api
SSE stays open for the session
Browser posts a turn
POST /v1/me/chat/turn (fire-and-forget)
hermes · sudo_chat plugin
:8652/inbound · agent runs
sudo-api forwards
POST :8652/inbound · internal bearer
sudo-api fans out deltas
/v1/internal/chat/push → all open tabs
plugin pushes tokens back
POST /v1/internal/chat/push
Browser receives SSE deltas (multi-tab — every open /chat sees them)