Background
Originally raised in Discord: https://discord.com/channels/1491295327620169908/1491365150664560881/1497784772230123560
現在使用 STT 很方便,但是我們會不曉得究竟 STT 翻譯的對不對,是否能在使用 STT 時,openab 可以先回個 STT 翻譯的訊息到 thread(不用 tag 任何人),之後再回覆 STT 內要求
When OpenAB transcribes a voice message via STT, the transcript is silently injected into the agent prompt — the user has no way to verify whether the bot heard them correctly until the agent replies. If the answer is off-topic, it's unclear whether the cause is STT misrecognition or an agent error.
Proposal
When STT runs on a voice attachment, post the transcript back to the thread (no mentions) before the agent reply so users can verify what was heard.
Behaviour
- One thread message per user message, regardless of how many voice clips were attached.
- Format:
> 🎤 <transcript> (one quoted line per clip).
- Failure:
> 🎤 (transcription failed) line + a single ⚠️ reaction on the user's original message.
- Opt-out via
[stt] echo_transcript = false (default true).
Scope
- Direct adapters that already perform STT today: Discord and Slack.
- Architected platform-agnostically (
stt::post_echo takes &Arc<dyn ChatAdapter>), so future LINE / Telegram / Teams adapters that ship transcripts inherit the behaviour without adapter-specific code. The gateway protocol does not carry audio attachments today, so gateway-based platforms are intentionally not in scope for this issue.
Design + Plan
- Spec:
docs/superpowers/specs/2026-04-26-stt-transcript-echo-design.md
- Plan:
docs/superpowers/plans/2026-04-26-stt-transcript-echo.md
Implementation
A PR will follow against this issue.
Background
Originally raised in Discord: https://discord.com/channels/1491295327620169908/1491365150664560881/1497784772230123560
When OpenAB transcribes a voice message via STT, the transcript is silently injected into the agent prompt — the user has no way to verify whether the bot heard them correctly until the agent replies. If the answer is off-topic, it's unclear whether the cause is STT misrecognition or an agent error.
Proposal
When STT runs on a voice attachment, post the transcript back to the thread (no mentions) before the agent reply so users can verify what was heard.
Behaviour
> 🎤 <transcript>(one quoted line per clip).> 🎤 (transcription failed)line + a single[stt] echo_transcript = false(defaulttrue).Scope
stt::post_echotakes&Arc<dyn ChatAdapter>), so future LINE / Telegram / Teams adapters that ship transcripts inherit the behaviour without adapter-specific code. The gateway protocol does not carry audio attachments today, so gateway-based platforms are intentionally not in scope for this issue.Design + Plan
docs/superpowers/specs/2026-04-26-stt-transcript-echo-design.mddocs/superpowers/plans/2026-04-26-stt-transcript-echo.mdImplementation
A PR will follow against this issue.