Skip to content

STT: echo transcript to thread before agent reply (Discord + Slack) #570

@dogzzdogzz

Description

@dogzzdogzz

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions