Skip to content

Conversation

@kmccleary3301
Copy link
Contributor

@kmccleary3301 kmccleary3301 commented Dec 18, 2025

This is a bunch of quality of life stuff I made to get this thing working on linux, bridging to other machines when I can't do that, supporting attachments, and supporting gpt-5.2-pro's different effort settings. Also a few other little things.

Summary

This PR adds a first-class bridge workflow for Oracle's ChatGPT browser engine (keep an authenticated ChatGPT session on a host machine, run Oracle from other machines), plus browser/MCP improvements that help agent runtimes (Codex CLI / Claude Code) use the browser engine correctly.

Key features

  • Bridge CLI: oracle bridge host|client|doctor|codex-config|claude-config
    • Host runs a token-protected remote browser service and (optionally) maintains an SSH reverse tunnel.
    • Client stores the connection once (config-driven) and browser runs route through the host automatically.
    • Doctor prints actionable diagnostics (TCP reachability + auth health).
  • Remote service health: token-protected GET /health endpoint for fast connectivity/auth checks.
  • MCP (oracle-mcp) browser controls:
    • consult supports browser-specific overrides used by agent runtimes:
      • browserAttachments: "auto"|"never"|"always" (use "always" for real file/image uploads)
      • browserBundleFiles, browserThinkingEffort, browserKeepBrowser, browserKeepTabs, browserModelLabel
    • Tool + input schema descriptions expanded so Codex/Claude understand intended usage.
  • Browser robustness:
    • Supports binary uploads (e.g. images) when --browser-attachments always / browserAttachments:"always" without tripping the 1MB text preflight.
    • Improves assistant turn capture by falling back to textContent when the UI renders empty innerText.

Docs

  • docs/bridge.md (new)
  • docs/mcp.md updated with MCP inputs
  • docs/configuration.md updated with bridge config keys

Tests

  • Added unit tests for bridge connection parsing, doctor output, and remote service config precedence.
  • pnpm test passes locally.

Notes

  • Does not implement automated cookie extraction/decryption from arbitrary browser profiles; bridge is token-protected and defaults to safe loopback bindings.

@steipete
Copy link
Owner

Thank you! Seems this PR is based of an older version, can you rebase it?

It’s 59 commits behind (base commit: cd128ea)

@steipete
Copy link
Owner

steipete commented Dec 18, 2025

Is oracle bridge the same concept as oracle serve to connect to a remote browser?

At least it should - I built it serve for that use case. So you can connect to a remote browser instance.

@kmccleary3301 kmccleary3301 force-pushed the feat/bridge-mcp-browser branch from f86e64f to 8d2b0a5 Compare January 5, 2026 21:40
@kmccleary3301
Copy link
Contributor Author

Apologies for the delay in responding. I just rebased onto current main (v0.8.4) and force-pushed; PR should no longer be behind. Tests also pass.

And yes, oracle bridge is a thin wrapper around the existing oracle serve remote browser service: bridge host starts serveRemote (optionally with an SSH reverse tunnel), bridge client stores host/token in config, bridge doctor checks reachability/auth via /health.

@steipete
Copy link
Owner

No worries! Everyone has stuff to do! Mergin' - Thanks!

@steipete steipete merged commit 184e994 into steipete:main Jan 13, 2026
1 check passed
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.

2 participants