openclaw - 💡(How to fix) Fix feat(bluebubbles): inbound audio enricher — pre-dispatch transcription via /api/v1/message/audio-transcript [1 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#68719Fetched 2026-04-19 15:08:20
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Participants

Fix Action

Fix / Workaround

  1. Detects audio-mime attachments on inbound messages (audio/*, or UTIs public.audio, com.apple.m4a-audio, public.mpeg-4-audio).
  2. Calls GET /api/v1/message/audio-transcript/:guid on the upstream BB server before dispatch.
  3. Rewrites the message body from ``/🎤 [Audio] to the transcript text.
  4. Fires a message_transcribed hook (scoped payload: accountId + guid + transcript, not full OpenClawConfig).
  5. Configuration surface: channels.bluebubbles.inboundAudioEnricher.enabled: boolean (default true when BB version >= 1.14.0), with per-attachment-type overrides.
  6. Never logs transcript content (PII).

Current workaround

openclaw-infra carries a flake overlay (nix/patches/bb-inbound-audio-enricher.patch) that wires this in locally. Spec: openclaw-infra docs/superpowers/specs/2026-04-17-bb-inbound-audio-design.md. Tracking issue: openclaw-infra#753.

RAW_BUFFERClick to expand / collapse

Problem

When an iMessage voice note arrives via BlueBubbles, the agent receives an empty string or 🎤 [Audio] and responds apologetically. BlueBubbles v1.14.0+ already exposes GET /api/v1/message/audio-transcript/:guid (Apple's on-device transcription, no ASR cost). OpenClaw has no built-in mechanism to fetch this transcript and rewrite the message body before the agent sees it.

Proposed feature

Add an inbound audio enricher to the BlueBubbles channel extension that:

  1. Detects audio-mime attachments on inbound messages (audio/*, or UTIs public.audio, com.apple.m4a-audio, public.mpeg-4-audio).
  2. Calls GET /api/v1/message/audio-transcript/:guid on the upstream BB server before dispatch.
  3. Rewrites the message body from ``/🎤 [Audio] to the transcript text.
  4. Fires a message_transcribed hook (scoped payload: accountId + guid + transcript, not full OpenClawConfig).
  5. Configuration surface: channels.bluebubbles.inboundAudioEnricher.enabled: boolean (default true when BB version >= 1.14.0), with per-attachment-type overrides.
  6. Never logs transcript content (PII).

Current workaround

openclaw-infra carries a flake overlay (nix/patches/bb-inbound-audio-enricher.patch) that wires this in locally. Spec: openclaw-infra docs/superpowers/specs/2026-04-17-bb-inbound-audio-design.md. Tracking issue: openclaw-infra#753.

Acceptance

  • Enricher runs before agent dispatch, replaces text body.
  • Hook payload scoped to accountId (not full gateway config).
  • Opt-out config flag honored.
  • Build passes with enricher module + defaults module.

Will remove the flake overlay once a tagged release includes the enricher.

extent analysis

TL;DR

Implement an inbound audio enricher in the BlueBubbles channel extension to fetch and rewrite audio transcripts before agent dispatch.

Guidance

  • Detect audio-mime attachments on inbound messages and call GET /api/v1/message/audio-transcript/:guid to fetch the transcript.
  • Rewrite the message body with the transcript text and fire a message_transcribed hook with a scoped payload.
  • Add a configuration surface channels.bluebubbles.inboundAudioEnricher.enabled to enable or disable the enricher.
  • Ensure the enricher runs before agent dispatch and honors the opt-out config flag.

Example

No code snippet is provided as the issue does not contain sufficient code context.

Notes

The proposed feature requires integration with the BlueBubbles API and consideration of PII handling, as transcript content should not be logged.

Recommendation

Apply the proposed feature by implementing the inbound audio enricher, as it provides a more robust and configurable solution than the current workaround.

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

openclaw - 💡(How to fix) Fix feat(bluebubbles): inbound audio enricher — pre-dispatch transcription via /api/v1/message/audio-transcript [1 participants]