Skip to content

feat: HTTP extension bridge for fingerprint browsers#2

Open
HuryDon wants to merge 11 commits into
kodelyx:mainfrom
HuryDon:codex/extension-http-bridge
Open

feat: HTTP extension bridge for fingerprint browsers#2
HuryDon wants to merge 11 commits into
kodelyx:mainfrom
HuryDon:codex/extension-http-bridge

Conversation

@HuryDon

@HuryDon HuryDon commented Jul 19, 2026

Copy link
Copy Markdown

Summary

  • Replace WebSocket-only extension connectivity with HTTP-first bridge (hello / poll / callback) so Hubstudio / AdsPower fingerprint browsers can stay connected when local WS fails
  • Keep /ws as compatibility fallback (EXT_TRANSPORT=auto|http|ws)
  • Redefine health: recent hello/poll + flowKey, plus transport field (http | ws | none)
  • Extension prefers HTTP; side panel / flow status show active transport

Key changes

  • flow-agent/omniflash/http_bridge.py — session registry + command queue
  • flow-agent/cli/api.pyPOST /api/ext/hello, GET /api/ext/poll, enhanced /health
  • flow-agent/omniflash/bridge.py — send_message enqueues over HTTP when session online
  • flow-chrome-extension/* — HTTP transport + host_permissions for :8001
  • Docs/config: EXT_TRANSPORT, EXT_SESSION_TTL_SEC, EXT_POLL_INTERVAL_MS

Test plan

  • pytest tests/test_http_bridge.py tests/test_ext_http_api.py (9 passed)
  • Local hello/poll/health roundtrip shows transport: http
  • Official Chrome: load unpacked extension, open Flow, /health shows connected
  • Hubstudio: HTTP path works without WS
  • AdsPower: same as Hubstudio when local HTTP is reachable

Notes

Upstream write access is not available to this account; PR is opened from fork HuryDon/flow-agent.
Local main already contains a merge commit of this branch for local use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant