openclaw - 💡(How to fix) Fix RFC: `@openclaw/plugin-web-voices` — replace bespoke UI-intercept scripts with a contract-bound web-voice provider plugin [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#75789Fetched 2026-05-02 05:30:08
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
2
Timeline (top)
closed ×1commented ×1referenced ×1

Fix Action

Fix / Workaround

  • chatgpt-web provider — backed by AppleScript + JS injection through user's logged-in Chrome. Subscription auth, no PAYG.
  • gemini-web, aistudio-web, grok-web, perplexity-web, claude-ai-web — same shape.
  • comet-web, notebooklm-web, chatgpt-mac, perplexity-mac — Mac-specific surfaces that extend the contract.
  • One shared workstation-lease primitive (so parallel voices don't clobber each other's Chrome sessions).
  • Selector registry with vendor-version pinning + auto-patch.
RAW_BUFFERClick to expand / collapse

Today, anyone wanting to use ChatGPT-web, Gemini-web, Grok-web, Perplexity-web, or claude.ai-web from their existing subscriptions writes their own bespoke DOM-intercept scripts. The fragility is well-known: vendor changes a CSS class, the user's automation breaks. Gemini's own analysis flagged this as "technical debt that will eventually catch up to you."

The fix is to make it a properly-versioned, contract-bound provider plugin instead of bespoke script. Each web voice exposes a stable input/output contract; the DOM-fragile harness lives behind that contract and is replaceable without breaking callers.

What it would ship

  • chatgpt-web provider — backed by AppleScript + JS injection through user's logged-in Chrome. Subscription auth, no PAYG.
  • gemini-web, aistudio-web, grok-web, perplexity-web, claude-ai-web — same shape.
  • comet-web, notebooklm-web, chatgpt-mac, perplexity-mac — Mac-specific surfaces that extend the contract.
  • One shared workstation-lease primitive (so parallel voices don't clobber each other's Chrome sessions).
  • Selector registry with vendor-version pinning + auto-patch.

I've been running 15 such voice drivers for weeks. The shared infrastructure (workstation lease, lazy Chrome launch, selector registry, JS-from-Apple-Events toggle, PWA discovery, lib refresh) is what would actually ship as the plugin; the per-voice driver is then a 200-line contract implementation.

Why upstream

Right now every openclaw user who wants to use their ChatGPT Plus / AI Pro / xAI / Perplexity Pro subs has to write the same scripts. This belongs in the shared plugin layer.

Happy to send a PR + share the per-voice drivers.

extent analysis

TL;DR

Implement a properly-versioned, contract-bound provider plugin to replace bespoke DOM-intercept scripts for integrating web voices with existing subscriptions.

Guidance

  • Identify the technical debt caused by fragile DOM-intercept scripts and the need for a stable input/output contract.
  • Design a provider plugin with a replaceable harness to prevent breakage when vendors change their CSS classes.
  • Develop a shared infrastructure, including a workstation-lease primitive and selector registry with vendor-version pinning, to support multiple voice drivers.
  • Create per-voice drivers as contract implementations, such as the proposed chatgpt-web provider, to integrate with the shared plugin layer.

Example

No code snippet is provided as the issue does not contain explicit code examples.

Notes

The proposed solution requires collaboration with the upstream repository to integrate the shared plugin layer and per-voice drivers, ensuring a standardized and maintainable approach for users with existing subscriptions.

Recommendation

Apply a workaround by implementing the proposed provider plugin and shared infrastructure, as this approach addresses the technical debt and fragility of current bespoke scripts, and allows for a more scalable and maintainable solution.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING