What happened / 发生了什么
使用 LuckyLilliaBot(LLOneBot)作为 QQ 协议端时,发送语音消息会导致语音转文字(STT)失败。
根本原因是 aiocqhttp_platform_adapter.py 中 record 类型消息走的是通用 else 分支,直接用协议端返回的裸文件名(如 0d2bb1468a87d64414f8e563cc61c33c.amr)创建 Record 组件。该文件在本地不存在,MediaResolver 创建了一个几乎为空的文件(144 字节),MiMo STT 的 WAV 校验失败并抛出异常。
值得注意的是,file 类型消息已有专门的处理逻辑(通过 get_group_file_url API 获取真实链接),但 record 类型缺少类似的处理。
Reproduce / 如何复现?
- 配置 MiMo STT 作为语音转文字提供商
- 在 QQ 中向机器人发送一条语音消息
- 观察日志,出现
MiMoAPIError: Audio for MiMo STT could not be converted to WAV 错误
AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
AstrBot 启动器部署
AstrBot v4.26.5
LuckyLilliaBot v8.0.7
MiMo STT 提供商(模型mimo-v2.5-asr)
OS
Windows
Logs / 报错日志
[2026-07-09 19:15:27.605] [Core]
[INFO]
[core.event_bus:74]: [阿紫(独享型)] [阿紫(aiocqhttp)] 知野/1589165102: [ComponentType.Record]
[2026-07-09 19:15:28.038] [Core]
[ERRO]
[v4.26.5] [preprocess_stage.stage:201]: Traceback (most recent call last):
File "astrbot\core\pipeline\preprocess_stage\stage.py", line 189, in _stt_record
result = await stt_provider.get_text(audio_url=path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "astrbot\core\provider\sources\mimo_stt_api_source.py", line 77, in get_text
audio_data_url, cleanup_paths = await prepare_audio_input(audio_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "astrbot\core\provider\sources\mimo_api_common.py", line 80, in prepare_audio_input
_validate_wav_payload(audio_data.base64_data, audio_source)
File "astrbot\core\provider\sources\mimo_api_common.py", line 118, in _validate_wav_payload
raise MiMoAPIError(
astrbot.core.provider.sources.mimo_api_common.MiMoAPIError: Audio for MiMo STT could not be converted to WAV (unrecognized audio bytes): local media path name='media_audio_cf72f3a4fcd344f2ac7b406016997d3c.wav' len=144
[2026-07-09 19:15:28.038] [Core]
[ERRO]
[v4.26.5] [preprocess_stage.stage:203]: 语音转文本失败: Audio for MiMo STT could not be converted to WAV (unrecognized audio bytes): local media path name='media_audio_cf72f3a4fcd344f2ac7b406016997d3c.wav' len=144
Are you willing to submit a PR? / 你愿意提交 PR 吗?
Code of Conduct
What happened / 发生了什么
使用 LuckyLilliaBot(LLOneBot)作为 QQ 协议端时,发送语音消息会导致语音转文字(STT)失败。
根本原因是
aiocqhttp_platform_adapter.py中record类型消息走的是通用else分支,直接用协议端返回的裸文件名(如0d2bb1468a87d64414f8e563cc61c33c.amr)创建Record组件。该文件在本地不存在,MediaResolver创建了一个几乎为空的文件(144 字节),MiMo STT 的 WAV 校验失败并抛出异常。值得注意的是,
file类型消息已有专门的处理逻辑(通过get_group_file_urlAPI 获取真实链接),但record类型缺少类似的处理。Reproduce / 如何复现?
MiMoAPIError: Audio for MiMo STT could not be converted to WAV错误AstrBot version, deployment method (e.g., Windows Docker Desktop deployment), provider used, and messaging platform used. / AstrBot 版本、部署方式(如 Windows Docker Desktop 部署)、使用的提供商、使用的消息平台适配器
AstrBot 启动器部署
AstrBot v4.26.5
LuckyLilliaBot v8.0.7
MiMo STT 提供商(模型mimo-v2.5-asr)
OS
Windows
Logs / 报错日志
[2026-07-09 19:15:27.605] [Core]
[INFO]
[core.event_bus:74]: [阿紫(独享型)] [阿紫(aiocqhttp)] 知野/1589165102: [ComponentType.Record]
[2026-07-09 19:15:28.038] [Core]
[ERRO]
[v4.26.5] [preprocess_stage.stage:201]: Traceback (most recent call last):
File "astrbot\core\pipeline\preprocess_stage\stage.py", line 189, in _stt_record
result = await stt_provider.get_text(audio_url=path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "astrbot\core\provider\sources\mimo_stt_api_source.py", line 77, in get_text
audio_data_url, cleanup_paths = await prepare_audio_input(audio_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "astrbot\core\provider\sources\mimo_api_common.py", line 80, in prepare_audio_input
_validate_wav_payload(audio_data.base64_data, audio_source)
File "astrbot\core\provider\sources\mimo_api_common.py", line 118, in _validate_wav_payload
raise MiMoAPIError(
astrbot.core.provider.sources.mimo_api_common.MiMoAPIError: Audio for MiMo STT could not be converted to WAV (unrecognized audio bytes): local media path name='media_audio_cf72f3a4fcd344f2ac7b406016997d3c.wav' len=144
[2026-07-09 19:15:28.038] [Core]
[ERRO]
[v4.26.5] [preprocess_stage.stage:203]: 语音转文本失败: Audio for MiMo STT could not be converted to WAV (unrecognized audio bytes): local media path name='media_audio_cf72f3a4fcd344f2ac7b406016997d3c.wav' len=144
Are you willing to submit a PR? / 你愿意提交 PR 吗?
Code of Conduct