v2.1.5
·
30 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
v2.1.5 - Docker / NapCat / 官方预处理排障增强
这次发布不改变语音识别主链路,重点增强排障可见性,帮助区分三类问题:
preprocess_stage warning = AstrBot 官方预处理在插件之前读不到 Record 文件
agent_sub_stages error = 官方 agent 后续仍扫到旧 Record
本插件 ffmpeg 失败 = 插件自己的转码链路无法启动或转码失败
主要变更
/volc_asr_status增加插件版本、仓库地址和官方preprocess_stage责任边界提示。- README 在常见问题中新增
preprocess_stage 提示 Voice processing failed: not a valid file: xxx.amr排障章节。 - 文档说明 Ubuntu 宝塔面板 Docker / NapCat / OneBot 场景下,
xxx.amr可能只是 NapCat 容器临时文件名或 OneBot file id,不一定是 AstrBot 容器内真实路径。 - 文档补充官方 STT 配置、
platform_settings.path_mapping、Docker 共享卷、NapCatget_record与插件submit_mode=base64的推荐排查顺序。
重要说明
AstrBot v4.24.2 的官方 PreProcessStage 会在插件 handler 之前尝试处理 Record:
event.get_messages()
-> 找到 Record
-> component.convert_to_file_path()
-> ensure_wav(original_path)
-> 写回 component.file / component.path
所以,如果关闭本插件后仍看到:
[preprocess_stage.stage:81]: Voice processing failed: not a valid file: xxx.amr
这不是本插件 ffmpeg 没启动,也不是火山 ASR 失败,而是 AstrBot 官方前置预处理读不到 NapCat / OneBot 的裸语音文件引用。
v2.1.4 已经修复插件开启后官方 agent 后续继续扫旧 Record 的问题。v2.1.5 进一步把这个责任边界写入 README 和状态命令,便于部署在 Docker 中时判断问题属于哪一层。
建议配置
如果不使用 AstrBot 官方 STT,请检查:
{
"provider_stt_settings": {
"enable": false,
"provider_id": ""
}
}插件侧建议保持:
submit_mode = base64
enable_transcode = true
prefer_bundled_ffmpeg = true
若 NapCat 和 AstrBot 分别运行在不同容器,建议让两边共享同一个数据目录,例如都能访问 /AstrBot/data。
验证
python3 -m py_compile main.py astrbot_plugin_volcengine_asr/main.py tests/conftest.py tests/test_helpers.py tests/test_voice_workflow.py- 手动测试 runner:
manual tests passed: 58 _conf_schema.json双份 JSON 校验通过- README / CHANGELOG / metadata / schema 双份同步校验通过
- Release zip 构建通过,包内
metadata.yaml版本为2.1.5,并包含repo