Skip to content

feat(backend): add TTS reminder audio generation and WebSocket delivery #125

Description

@yyy-router

背景

提醒流程需要在日程创建或更新后生成提醒音频,并在提醒触发时通过 WebSocket 下发给客户端。

本 Issue 范围

  • 封装阿里云 Qwen TTS HTTP 调用,使用 qwen-audio-3.0-tts-flash
  • 创建或更新日程后异步生成提醒音频。
  • 使用跨平台文件路径保存当前日程音频,每个日程只保留一个音频文件。
  • 接入 WebSocket 提醒下发:reminder.controlreminder.audio.start、二进制音频帧、reminder.audio.end
  • 接收客户端 reminder.audio.ack,并与时间提醒 dispatcher 集成。
  • 增加网关、业务、存储、WebSocket 和端到端冒烟测试。

验证

  • Ruff 通过
  • Mypy 通过
  • Pytest 150 passed
  • WebSocket 音频下发冒烟测试通过

验收标准

  • 日程创建或更新成功后不阻塞主流程,异步生成对应提醒音频。
  • 提醒触发时服务端能够按协议下发控制消息和完整音频流。
  • 客户端能够确认音频接收或播放结果。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions